2016-08-17 9 views
0

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パイプライン自体で改行を処理できると便利です。

+0

rfc4180仕様では許可されていると言われています。そして、Pythonのデフォルトのcsvの方言は「可能」であるはずです。 – YOU

答えて

0

TensorFlowのCSVリーダーは、私の経験ではRFC4180に関してかなり厳しいです。

各行の最後と引用符付きフィールドでファイルがCRLFを使用するように処理する必要があります。

注:これまでの0.9まで使用しています。私は0.10からRCで試してみませんでした。

+0

Tensorflow 0.9にも同じエラーがあります。上記のCSVファイル全体を質問に入れました。私の知る限り、このcsvファイルはRFC4180に準拠しています。上記の@youのコメントをご覧ください。 – Ramnath

+0

長い空白のため申し訳ありません。あなたの問題を解決しましたか?あなた自身の質問に対する答えのように、更新は素晴らしいでしょう。私は今再現することはできませんでした。 –

+0

こんにちは@EricPlaton私はTensorflow githubで問題を提起し、私は彼らがそれに取り組んでいると仮定します。 https://github.com/tensorflow/tensorflow/issues/3851 – Ramnath

関連する問題