0
我想使用張量流將序列寫入序列。 我輸入的數據形狀tensorflow,具有可變數據長度的decode_csv
[input_length, target_length, input , target]
和他們都不同的長度。 如何使用tf.decode_csv
? 我試圖使record_defaults的最大輸入長度。 但所有的形狀必須完全定義在record_defaults ............ 我不明白這一點。
csv_file = tf.train.string_input_producer([file_name], name='file_name')
reader = tf.TextLineReader()
_, line = reader.read(csv_file)
record_defaults = [[0] for row in range(20)]
data = tf.decode_csv(line,record_defaults=record_defaults,field_delim=',')
len_error = tf.slice(data,[0],[1])
len_target = tf.slice(data, [1], [1])
error = tf.slice(data,[2],len_error)
target = tf.slice(data, 2+len_error , len_target)
我也試過這個,不能使它使用這種方法。似乎確實,你的行必須都等於最大值,以使其工作。如果你爲Max定義了默認值,但是有一行的觀測值較少,那麼它可能會拋出一個錯誤,說'預期的X觀測值,但得到了Y'。也許像CSV文件中額外的','來模擬空白是值得一試?還沒有嘗試過自己。我經常發現閱讀TF以外的文本文件比較容易,比如使用numpy/pandas,然後將值傳給TF,但這樣你會失去很好的TF洗牌和多文件問題 –
哇......你真好。我必須嘗試另一種文件類型。非常非常感謝你 – Amily