gpt4 book ai didi

python - 如何在tensorflow中使用tf.data读取.csv文件?

转载 作者:行者123 更新时间:2023-12-05 01:57:41 24 4
gpt4 key购买 nike

我有三个不同的 .csv 数据集,我通常使用 pandas 读取它们并训练深度学习模型。每个数据都是一个 n x m 矩阵,其中 n 是样本数,m 是特征数。读取数据后,我进行一些整形,然后使用 feed_dict 将它们提供给我的深度学习模型:

data1 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])
data2 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])
data3 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])

data = pd.concat([data1, data2, data2], axis=1)

# Some deep learning model that work with data
# An optimizer

with tf.compat.v1.Session() as sess:
sess.run(init)
sess.run(optimizer, feed_dict={SOME VARIABLE: data})

但是我的数据现在太大而无法放入内存,我想知道如何使用 tf.data 来读取数据而不是使用 pandas。抱歉,如果我提供的脚本是伪代码而不是我的实际代码。

最佳答案

适用于TF2.0及以上版本。有几种方法可以从 CSV 文件创建数据集:

  1. 我相信您正在使用 pandas 读取 CSV 文件然后执行此操作

    tf.data.Dataset.from_tensor_slices(dict(pandaDF))

  2. 你也可以试试这个

    tf.data.experimental.make_csv_dataset

  3. 或者这个

    tf.io.decode_csv

  4. 还有这个

    tf.data.experimental.CsvDataset

详情在这里:Load CSV

如果您需要在使用 Pandas 加载之前进行处理,那么您可以按照当前的方法进行操作,而不是执行 pd.concat([data1, data2, data2], axis=1),使用concatentate 函数

data1 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])
data2 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])
data3 = pd.DataFrame(np.random.uniform(low=0, high=1, size=(10,3)), columns=['A', 'B', 'C'])

tf_dataset = tf.data.Dataset.from_tensor_slices(dict(data1))
tf_dataset = tf_dataset.concatentate(tf.data.Dataset.from_tensor_slices(dict(data2)))
tf_dataset = tf_dataset.concatentate(tf.data.Dataset.from_tensor_slices(dict(data3)))

更多关于 concatenate

关于python - 如何在tensorflow中使用tf.data读取.csv文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68923942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com