Hier ist der Code, den ich ausführen möchte -
%Vor%Dieser Code gibt den Fehler unten zurück.
%Vor% Es hat eine Menge Informationen, die ihm folgen, was für das Problem irrelevant ist. Offensichtlich ist das Problem, dass viele der Daten, die ich dem Programm füttere, nicht vom dtype int32 sind. Es sind meistens Gleitkommazahlen. Ich habe ein paar Dinge ausprobiert, um den dtype so zu ändern, als setze ich explizit das dtype=float
Argument in tf.decode_csv
sowie tf.concat
. Keine funktionierte. Es ist ein ungültiges Argument. Um das Ganze abzurunden, weiß ich nicht, ob dieser Code tatsächlich eine Vorhersage über die Daten machen wird. Ich will es vorhersagen, ob Col1 wird eine 1 oder 0 und ich sehe nichts im Code, die darauf hindeuten würde, dass es diese Vorhersage tatsächlich machen wird. Vielleicht werde ich diese Frage für einen anderen Thread speichern. Jede Hilfe wird sehr geschätzt!
Die Antwort zum Ändern des dtype besteht darin, einfach die Standardeinstellungen wie folgt zu ändern -
%Vor%Wenn Sie danach col1 ausdrucken, erhalten Sie diese Nachricht.
%Vor% Aber es gibt einen weiteren Fehler, auf den Sie stoßen werden: wurde hier beantwortet. Um die Antwort zu wiederholen, besteht die Problemumgehung darin, tf.concat
in tf.pack
wie folgt zu ändern.
Die Schnittstelle zu tf.decode_csv()
ist etwas knifflig. Der dtype
jeder Spalte wird durch das entsprechende Element des record_defaults
-Arguments bestimmt. Der Wert für record_defaults
in Ihrem Code wird interpretiert, da jede Spalte tf.int32
als Typ hat, was zu einem Fehler führt, wenn Floating-Point-Daten gefunden werden.
Nehmen wir an, Sie haben die folgenden CSV-Daten, die drei ganzzahlige Spalten enthalten, gefolgt von einer Gleitkomma-Spalte:
%Vor% Angenommen, alle Spalten sind erforderlich , würden Sie record_defaults
wie folgt erstellen:
Ein leerer Wert in record_defaults
bedeutet, dass der Wert erforderlich ist. Wenn (z. B.) Spalte 2 fehlende Werte haben darf, definieren Sie record_defaults
wie folgt:
Der zweite Teil Ihrer Frage betrifft das Erstellen und Trainieren eines Modells, das den Wert einer der Spalten aus den Eingabedaten vorhersagt. Momentan ist das Programm nicht: es verkettet einfach die Spalten in einen einzelnen Tensor, genannt features
. Sie müssen ein Modell definieren und trainieren, das diese Daten interpretiert. Einer der einfachsten Ansätze ist die lineare Regression, und Sie finden dieses Tutorial möglicherweise in lineare Regression in TensorFlow anpassungsfähig an Ihr Problem.
Tags und Links python tensorflow csv