Python 仅在从不同文件导入后,Keras中的DataGenerator错误
我正在使用jupyter笔记本运行具有以下文件结构的python代码: 文件结构 Main_jupyter_file.ipynb dataloader.py 运行Python 仅在从不同文件导入后,Keras中的DataGenerator错误,python,tensorflow,keras,jupyter-notebook,Python,Tensorflow,Keras,Jupyter Notebook,我正在使用jupyter笔记本运行具有以下文件结构的python代码: 文件结构 Main_jupyter_file.ipynb dataloader.py 运行model.fit\u生成器后,我收到一个警告和一个错误: 警告: 警告:tensorflow:将生成器与一起使用\u multiprocessing=True时,多个工作者可能会复制您的数据。请考虑使用'Kasas.UTILS.Stand类.< /P> 错误: steps\u per\u epoch=None仅对基于keras.uti
model.fit\u生成器后,我收到一个警告和一个错误:
警告:
警告:tensorflow:将生成器与一起使用\u multiprocessing=True
时,多个工作者可能会复制您的数据。请考虑使用'Kasas.UTILS.Stand类.< /P>
错误:
steps\u per\u epoch=None
仅对基于keras.utils.Sequence
类的生成器有效。请指定每个历元的步骤
或使用keras.utils.Sequence
类
我用tf.keras和本地keras得到了相同的结果。
奇怪的发现
当我将dataloader.py中的DataGenerator类的代码复制到jupyter notebook文档中时,我没有收到任何错误或警告,一切正常。我认为我们无法回答这个问题,这是一个非常本地化的问题,可能您只是在某个地方有使用Generator的旧代码,并且您正在导入它。
Main_jupyter_file.ipynb
dataloader.py
from dataloader import DataGenerator
training_generator = DataGenerator(...)
model = ...
model.compile(loss=...optimizer='adam')
model.fit_generator(generator=training_generator,\
use_multiprocessing=True,workers=8, epochs=2)
class DataGenerator(tf.keras.utils.Sequence):
def __init__(self, ...):
def __len__(self):
'Denotes the number of batches per epoch'
return ...
def __getitem__(self, index):
return ...