我在 config.ini 文件中使用 keras-retinanet 进行对象检测和更改锚大小的训练模型如下:
[anchor_parameters]
sizes = 16 32 64 128 256
strides = 8 16 32 64 128
ratios = 0.5 1 2 3
scales = 1 1.2 1.6
我已将此配置保存在文件 config.ini 中,并将其作为训练的输入,如下所示:
!python keras_retinanet/bin/train.py \
--freeze-backbone \
--random-transform \
--weights {PRETRAINED_MODEL} \
--batch-size 1 \
--steps 500 \
--epochs 5 \
--config config.ini \
csv annotations.csv classes.csv
训练进展顺利,但如何在给定函数的预测期间使用此文件?
convert_model(model,nms=True, class_specific_filter=True, anchor_params=None)??
我正在使用下面的代码来加载模型
model_path = os.path.join('snapshots', sorted(os.listdir('snapshots'), reverse=True)[0])
model = models.load_model(model_path, backbone_name='resnet50')
model = models.convert_model(model,anchor_params=anchor_parameters)
labels_to_names = pd.read_csv(CLASSES_FILE, header=None).T.loc[0].to_dict()
转换模型作品如下:
def convert_model(model, nms=True, class_specific_filter=True, anchor_params=None):
""" Converts a training model to an inference model.
Args
model : A retinanet training model.
nms : Boolean, whether to add NMS filtering to the converted model.
class_specific_filter : Whether to use class specific filtering or filter for the best scoring class only.
anchor_params : Anchor parameters object. If omitted, default values are used.
Returns
A keras.models.Model object.
Raises
ImportError: if h5py is not available.
ValueError: In case of an invalid savefile.
"""
from .retinanet import retinanet_bbox
return retinanet_bbox(model=model, nms=nms, class_specific_filter=class_specific_filter, anchor_params=anchor_params)
如何在预测或加载模型期间设置 Config.ini 或 Anchor 参数,如上述代码?