【发布时间】:2019-09-17 10:08:23
【问题描述】:
我已经准备好一个 keras CNN 模型,它需要 [None,20,20,3] 数组作为输入。 (此处的图像大小为 20...)另一方面,我的云存储中确实有一个包含 1200 (20*20*3) 列的 CSV。
我想用 tensorflow 编写一个 ETL 管道,为 csv 中的每一行获取一个 [20,20,3] 形状的张量。
到目前为止我的代码:
我已经花了几天的时间工作,并且有信心,这种方法最终可能会奏效。
import tensorflow as tf
BATCH_SIZE = 30
tf.enable_eager_execution()
X_csv_path = 'gs://my-bucket/dataX.csv'
X_dataset = tf.data.experimental.make_csv_dataset(X_csv_path, BATCH_SIZE, column_names=range(1200) , header=False)
X_dataset = X_dataset.map(lambda x: tf.stack(list(x.values())))
iterator = X_dataset.make_one_shot_iterator()
image = iterator.get_next()
我希望有一个 [30,1200] 形状,但我仍然得到 1200 个形状 [30] 的张量。我的想法是将每一行读入一个 [1200] 形状的张量,然后将这条线重新整形为一个 [20,20,3] 的张量,以供我的模型使用。感谢您的宝贵时间!
【问题讨论】:
标签: csv tensorflow dataset shapes tensor