Для меня я предпочитаю строить генератор с yield
:
def generator(batch_size=4,path):
imgs=glob(path+'*.jpg')
while True:
batch=[]
for i in range(batch_size):
idx=np.random.randint(0,len(imgs))
img=cv.resize(cv.imread(imgs[idx]),(256,256))/255
batch.append(img)
batch=np.array(batch)
yield batch
Затем создайте генератор и введите его в model.fit_generator
, он будет работать.
Вы можете выбрать данные случайным образом, как это или использовать некоторые повторяющиеся методы.
Хотя код грубый, его легко изменить, чтобы он мог создавать сложные партии.