我正在尝试使用来自Pandas数据框的数据馈入Tensorflow管道。我尝试这样做:
training_dataset = (tf.data.Dataset.from_tensor_slices((
tf.cast(df[df.columns[:-1]].values, tf.float32),
tf.cast(df[df.columns[-1]].values, tf.int32))))
其中df
是我的数据框。但是它很大,我得到了这个错误:
ValueError: Cannot create a tensor proto whose content is larger than 2GB.
我应该分割数据框并创建几个张量数据集,这甚至可以工作吗?解决此问题的最佳方法是什么?我曾考虑过将数据输入feed_dict
,但无法弄清楚该怎么做。
答案 0 :(得分:1)
无需手动拆分数据框。您可以使用tf.placeholder
来避免达到2GB graphdef限制。使用DataFrame.values
从数据帧创建numpy数组,看看这个https://www.tensorflow.org/guide/datasets#consuming_numpy_arrays