Python 高效转换model.fit

Python 高效转换model.fit,python,numpy,tensorflow,tensorflow2.0,Python,Numpy,Tensorflow,Tensorflow2.0,我正在努力有效地将数据加载到model.fit中。“我的代码”使用示例和值创建训练数据对象。示例是tf.Tensor类对象的标准python列表。值是一个整数列表 跑步时 model.fit(training\u data.samples,training\u data.values,epochs=10) 我犯了一个错误 ValueError:找不到可以处理输入的数据适配器:(包含类型{“”}的值),(包含类型{“”}的值) 通过将其全部预转换为numpy阵列,我可以完成以下两项工作: s, v

我正在努力有效地将数据加载到model.fit中。“我的代码”使用
示例和
值创建
训练数据
对象。示例是
tf.Tensor
类对象的标准python列表。值是一个整数列表

跑步时

model.fit(training\u data.samples,training\u data.values,epochs=10)

我犯了一个错误

ValueError:找不到可以处理输入的数据适配器:(包含类型{“”}的值),(包含类型{“”}的值)

通过将其全部预转换为numpy阵列,我可以完成以下两项工作:

s, v = np.asarray(training_data.samples), np.asarray(training_data.values)
model.fit(s, v, epochs=10)
然而,这是不可能的缓慢。加载数据和非常繁重的预处理(信号分块、fft等)大约需要一分钟,然后仅使用1800个样本进行数据转换。这部分将挂起一个小时,在实际学习开始之前,我失去了耐心。张量的形状是(94257),所以没什么大的


既然我已经在内存中存储了数据,那么什么是将数据传递给model.fit的有效方法呢?

嗨,这只是一个建议,但请尝试使用tf.keras.utils.Sequence中的生成器对象,但这也取决于您使用的数据类型

您可以在此处查看示例:

我在这里实现了我自己的,您可以查看: