tensorflow - IndexError:我的 Keras model.fit_generator 中的元组索引超出范围
问题描述
我对 Keras/Tensorflow 完全陌生。下面是我的 fit_generator
train_dataset=train_fn_inputs(batch_size, None)
val_data=validation_fn_inputs(batch_size, None)
total_records = 44712
val_records = 11178
steps_per_epoch=int(total_records // batch_size)
hist=model.fit_generator(#aug.flow(X_def, y_def, batch_size=batch_size),
#get_batches(X_def, y_def, batch_size),
train_dataset,
steps_per_epoch=steps_per_epoch, #(training_df.shape[0])//batchsize,
epochs=5,
verbose = 1,
#callbacks=[early_stopping],
#validation_data=val_data,
#validation_steps=val_records//batch_size,
workers=0
)
函数定义为:
def train_fn_inputs(bs, aug=None):
train_files, total_records = get_training_data_old()
steps_per_epoch = int(total_records / batch_size)
raw_dataset = tf.data.TFRecordDataset(train_files) #.repeat()
parsed_image_dataset = raw_dataset.map(_parse_image_function).repeat().shuffle(buffer_size=buf_size).batch(batch_size).make_initializable_iterator()
image, label = parsed_image_dataset.get_next()
image = tf.reshape(image, [3, IMG_WIDTH, IMG_HEIGHT, bs])
#label = tf.reshape(label, [bs, 75, 25])
while True:
yield (np.array(image), np.array(label))
但是我收到了这个错误:
文件“...\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\training_generator.py”,第 184 行,在 model_iteration batch_size = int(nest.flatten(batch_data)[0].shape[0] )
IndexError:元组索引超出范围
解决方案
推荐阅读
- java - 我编写了一个带有双 for 循环的 anagrams finder - 如何提高此代码的效率?
- node.js - Node/React:提供静态 json 文件
- django - 使用django的Q时出现意想不到的效果
- mysql - mysqld.cnf 是我当前的 Mysql 配置文件吗?
- javascript - 在我的第一次摩卡测试中,一直在“无法读取属性‘应该’未定义”
- javascript - 如何在多级对象数组中查找值
- unit-testing - 如何使用 moq 对存储库和模拟数据库进行单元测试
- huggingface-transformers - 如何使用 NER 脚本从检查点继续微调?
- azure - 使用 Azure Pipelines 将工件部署到物理机
- localization - 如何在 NodaTime 中获取时区列表