【发布时间】:2020-11-06 16:21:37
【问题描述】:
我正在努力将数据有效地加载到 model.fit 中。我的代码使用samples 和values 创建training_data 对象。 Samples 是tf.Tensor 类对象的标准python 列表。 Values 是一个整数列表。
运行时
model.fit(training_data.samples, training_data.values, epochs=10)
我收到一个错误
ValueError: Failed to find data adapter that can handle input: (<class 'list'> containing values of types {"<class 'tensorflow.python.framework.ops.EagerTensor'>"}), (<class 'list'> containing values of types {"<class 'int'>"})
我可以通过将它们全部预转换为这样的 numpy 数组来完成这两项工作:
s, v = np.asarray(training_data.samples), np.asarray(training_data.values)
model.fit(s, v, epochs=10)
但是,这太慢了。加载数据和非常繁重的预处理(信号分块、fft 等)大约需要一分钟,然后只有 1800 个样本的数据转换这部分就挂了一个小时,在实际学习开始之前我失去了耐心。张量的形状是 (94, 257) 所以没什么大不了的。
既然我已经在内存中,那么将数据传递给 model.fit 的有效方法是什么。
【问题讨论】:
标签: python numpy tensorflow tensorflow2.0