我正在学习一个名为“使用Python2和TensorFlow在自定义数据集上进行对象检测”的教程。
我在这个link https://colab.research.google.com/drive/1TdhgBFaMxsaxl8sBKtCpT-itMxiphliu的colab工作
问题是,当我尝试在这条线上训练神经网络时,会出现一个问题:
'/content/keras-retinanet/keras_retinanet/bin/train.py' --freeze-backbone --random-transform --weights {'/content/keras-retinanet/snapshots/_pretrained_model.h5'} - -batch-size 8 --steps 500 --epochs 10 csv '/content/keras-retinanet/annotations.csv' '/content/keras-retinanet/classes.csv'抛出错误:
File "/content/keras-retinanet/keras_retinanet/bin/train.py", line 521, in main
validation_steps = args.steps_for_validation,
AttributeError: 'Namespace' object has no attribute 'steps_for_validation'问题所在的train.py代码如下:
# start training
return training_model.fit_generator(
generator=train_generator,
steps_per_epoch=args.steps,
epochs=args.epochs,
verbose=1,
callbacks=callbacks,
workers=args.workers,
use_multiprocessing=args.multiprocessing,
max_queue_size=args.max_queue_size,
validation_steps = args.steps_for_validation,
validation_data=validation_generator,
initial_epoch=args.initial_epoch
)但是我不能很好地理解这个问题,因为没有属性错误。
另外,我关注这个github页面,发现同样的错误出现在here上。
每一个帮助都是感恩的
发布于 2019-12-19 17:37:14
keras-retinanet库的train.py文件有问题。
如果你看一下它的代码,在解析parse_args函数中的参数时,除了steps_for_validation,max_queue_size和initial_epoch之外,他们已经使用parser.add_argument()函数为所有参数添加了默认值。
解决方法是
fit_generator()函数调用或keras_retinanet库中的这3个参数添加parser.add_argument()函数调用,如果需要,请构建它。<代码>H216<代码>G217虽然我建议使用第一个变通方法,以防您不知道这些参数的作用以及它的默认参数应该是什么。
https://stackoverflow.com/questions/59404101
复制相似问题