TensorFlow 0.10.0rc0を使用しています。私はUbuntu 14.04にCUDAドライババージョン= 7.5とCUDNN 4を持っています。 Tensorflow CSVデコードエラー
は、私はこのような単一の行を持つシンプルなCSVファイルを持っている:改行はUbuntuでVIMでEnterキーを押すことで追加された"field with
newline",0
。 read_csv
関数を使用してpandas
でこのファイルを読むことができます。ここでは、テキストフィールドは単一の\n
文字を含むものとして表示されています。
しかし、私はTensorFlowでそれを読むしようとすると、私は次のエラーを取得する:
tensorflow.python.framework.errors.InvalidArgumentError: Quoted field has to end with quote followed by delim or end
CSVを読み込むための私のテンソルフローコードは、単一の行を読み取るために、この機能を使用しています。
def read_single_example(filename_queue, skip_header_lines, record_defaults, feature_index, label_index):
reader = tf.TextLineReader(skip_header_lines=skip_header_lines)
key, value = reader.read(filename_queue)
record = tf.decode_csv(
value,
record_defaults=record_defaults)
features, label = record[feature_index], record[label_index]
return features, label
pandas
を読み、すべての改行をスペースで置き換えると、TensorFlowコードはCSVを正常に解析できます。
しかし、TensorFlow CSVパイプライン自体で改行を処理できると便利です。
rfc4180仕様では許可されていると言われています。そして、Pythonのデフォルトのcsvの方言は「可能」であるはずです。 – YOU