我正在使用Retinanet模型训练一个大约50个班级的分类器。链接到模型:https://github.com/fizyr/keras-retinanet
这是我到目前为止所做的:
使用以下脚本训练我的模型:
# Using the installed script:
retinanet-train csv <path to csv file containing annotations> <path to csv file containing classes>
该模型目前正在运行,每个时期约有50个时期和10000个步骤进行训练。我看到损失正在减少,完成培训需要一天左右的时间。
我现在如何处理:
一个。测试我的模型?这里给出的例子:
测试网络的一个例子可以在这里看到(网站上的https://github.com/fizyr/keras-retinanet/blob/master/examples/ResNet50RetinaNet.ipynb链接已经死了,这看起来很合适)笔记本。通常,可以按如下方式从网络中检索输出:
_, _, detections = model.predict_on_batch(inputs)
检测结果为检测结果,形状为(无,无,4 + num_classes)(对于(x1,y1,x2,y2,cls1,cls2,...))。
可以按以下方式加载模型:
from keras_retinanet.models.resnet import custom_objects
model = keras.models.load_model('/path/to/model.h5',
custom_objects=custom_objects)
对于形状为1000x600x3的图像,NVIDIA Pascal Titan X的执行时间约为55毫秒。
现在在训练期间,我在运行模型时没有做任何事情:
创建用于训练和测试数据的生成器(示例显示在keras_retinanet.preprocessing.PascalVocGenerator中)。
我错过了什么吗?
再次,抱歉多重问题,谢谢你帮助我。
答案 0 :(得分:2)
如果通过测试表示您是通过网络运行自己的图像,请查看新示例。它所做的只是设置环境,加载模型,加载和准备图像并可视化结果。
https://github.com/fizyr/keras-retinanet/blob/master/examples/ResNet50RetinaNet.ipynb
这个例子有问题吗?还是不清楚?