我想写一个csv文件(所有列都是浮动)到tfrecords文件,然后再读出它们。我看到的所有示例都包装了csv列,然后直接将其提供给sess.run(),但我无法弄清楚如何将特征列和标签列写入tfrecord。我怎么能这样做?Tensorflow从csv创建一个tfrecords文件
5
A
回答
13
您将需要一个单独的脚本来将您的csv文件转换为TFRecords。
想象一下,你有下面的头一个CSV:
feature_1, feature_2, ..., feature_n, label
你需要的东西,如pandas
读您的CSV,手动构建tf.train.Example
然后把它写入与TFRecordWriter
csv = pandas.read_csv("your.csv").values
with tf.python_io.TFRecordWriter("csv.tfrecords") as writer:
for row in csv:
features, label = row[:-1], row[-1]
example = tf.train.Example()
example.features.feature["features"].float_list.value.extend(features)
example.features.feature["label"].int64_list.value.append(label)
writer.write(example.SerializeToString())
-1
def convert_to():
filename = os.path.join(wdir, 'ml-100k' + '.tfrecords')
print('Writing', filename)
with tf.python_io.TFRecordWriter(filename) as writer:
with open("/Users/shishir/Documents/botconnect_Playground/tfRecords/ml-100k.train.rating", "r") as f:
line = f.readline()
while line != None and line != "":
arr = line.split("\t")
u, i, l = int(arr[0]), int(arr[1]), int(arr[2])
u_arr = np.reshape(u,[1]).astype('int64')
i_arr = np.reshape(i,[1]).astype('int64')
l_arr = np.reshape(l,[1]).astype('int64')
example = tf.train.Example()
example.features.feature["user"].int64_list.value.extend(u_arr)
example.features.feature["item"].int64_list.value.extend(i_arr)
example.features.feature["label"].int64_list.value.append(int(l_arr))
writer.write(example.SerializeToString())
line = f.readline()
到文件
这就是我的解决方案,它的工作原理!希望这可以帮助
干杯。
+0
感谢您使用此代码段,这可能会提供一些有限的短期帮助。通过展示*为什么*这是一个很好的解决方案,并且使它对未来的读者更有用,一个正确的解释[将大大提高](// meta.stackexchange.com/q/114762)其长期价值其他类似的问题。请[编辑]你的答案以添加一些解释,包括你所做的假设。 –
相关问题
- 1. 创建一个CSV文件
- 2. 从另一个csv文件中创建一个新的csv文件
- 3. 从csv文件创建一本词典?
- 4. 创建一个从CSV
- 5. 从NSMutableArray创建一个csv
- 6. 从1 CSV创建单个文件
- 7. 如何从python的csv文件创建一个mdb文件?
- 8. 如何从一个CSV文件中创建一个列表
- 9. 从一个类似CSV的文件创建一个哈希
- 10. 从文本文件创建CSV文件
- 11. 每小时创建一个csv文件?
- 12. 创建一个大的CSV文件
- 13. 在perl中创建一个CSV文件
- 14. 用PHP创建一个CSV文件
- 15. 从.csv文件创建差异文件
- 16. 如何从一组.csv工作表创建一个.gexf文件?
- 17. 如何从多个列表中创建一个CSV文件?
- 18. 从多个字典创建一个csv文件?
- 19. 从一个csv列创建多个文件。 Python 2.7.12
- 20. Tensorflow数据集API读取CSV转换tfrecords
- 21. Tensorflow tfrecords读取错误(CSV转换后的数据)
- 22. 从CSV创建GATE文档文件
- 23. 如何创建一个文件夹来进一步创建.csv文件?
- 24. 从列表中创建一个CSV文件的新列
- 25. 从一个csv文件在Neo4j中创建关系
- 26. 从CSV数据创建一个ruby文件?
- 27. 如何从本地csv文件创建一个python数据集?
- 28. 如何将数据附加到TensorFlow tfrecords文件
- 29. 获取Tensorflow中.tfrecords文件的记录总数
- 30. 使用python从主csv文件创建许多csv文件
我的文章是否回答你的问题? – standy
是的,抱歉花了这么长时间我最近很忙。谢谢您的帮助! – Nitro