我学习了MXNet框架,并尝试运行使用SSD进行对象检测的示例: https://gluon.mxnet.io/chapter08_computer-vision/object-detection.html
我使用的GPU是NVidia GTX 1050,用于训练的4GB。我在Jupyter笔记本电脑上工作。版本:Python 3.6,MXNet 1.3.1
在本教程中说过,使用一个GPU从头开始训练大约需要30分钟。 3小时后我停了下来。当我中断训练时,该模型已处理了24459批次(批次大小为32)。整个数据集的大小为87.7MB,小于24459 * 32 * 256 * 256(图片大小为256x256)。我不明白为什么可能要花太多时间。可能有image.ImageDetIter的任何特定功能(例如,它永远不会自行停止)吗?
答案 0 :(得分:0)
感谢您提供版本信息。您是完全正确的-MXNet 1.3.0中存在一个错误,其中ImageDetIter
在您所拥有的示例中无限期地循环播放。此问题已得到Dec 2018的修复,如果升级到MXNet 1.4.0,将不会看到此问题。我通过运行上面的代码确认了这一点。
不建议使用“深度学习-浓汤”作为另一个重要说明,而建议使用“深入学习”(d2l.ai)。内容已更新并用于MXNet上的课程。 / strong>这是本书中相应的chapter。
此外,如果您想观看课程中的视频,请here发布。
对于repro,我跑来确认这是在1.3.x中无限循环并在1.4.0中已修复。
train_iter = image.ImageDetIter(
batch_size=1000,
data_shape=(3, data_shape, data_shape),
path_imgrec='./data/pikachu_train.rec',
path_imgidx='./data/pikachu_train.idx',
#shuffle=True,
#mean=True,
#rand_crop=1,
min_object_covered=0.95,
last_batch_handle='pad',
max_attempts=5)
train_iter.reset()
for i,data in enumerate(train_iter):
print((i+1)) # goes forever on 1.3.0 but not 1.4.0
希望有帮助,
Vishaal