在tensorflow中使用迁移学习是否需要预定义图像大小?
我打算在Tensorflow环境中使用预先训练好的模型,如更快的\u rcnn\u resnet101\u pets,用于所述的目标检测 我已经收集了一些培训和测试集的图像。所有这些图像大小不一。我必须将它们调整为普通大小吗 更快\u rcnn\u resnet101\u pets使用输入大小为224x224x3的resnet。 这是否意味着在发送培训之前,我必须调整所有图像的大小?或者由TF自动处理在tensorflow中使用迁移学习是否需要预定义图像大小?,tensorflow,tensorflow-datasets,image-size,transfer-learning,Tensorflow,Tensorflow Datasets,Image Size,Transfer Learning,我打算在Tensorflow环境中使用预先训练好的模型,如更快的\u rcnn\u resnet101\u pets,用于所述的目标检测 我已经收集了一些培训和测试集的图像。所有这些图像大小不一。我必须将它们调整为普通大小吗 更快\u rcnn\u resnet101\u pets使用输入大小为224x224x3的resnet。 这是否意味着在发送培训之前,我必须调整所有图像的大小?或者由TF自动处理 python train.py --logtostderr --train_dir=trai
python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_resnet101_pets.config
一般来说,具有相同大小的图像是一种好的做法吗?不,您不需要自己将输入图像调整为固定形状Tensorflow对象检测api有一个预处理步骤,该步骤将调整所有输入图像的大小。以下是预处理步骤中定义的一个函数,其中有一个
image\u resizer\u fn
,它对应于配置中名为image\u resizer
的字段
根据文件,您可以选择4种不同的图像大小调整器,即
faster\u rcnn\u resnet101\u pets
的一个示例配置文件,所有图像都使用最小尺寸=600和最大尺寸=1024进行了重塑
model {
faster_rcnn {
num_classes: 37
image_resizer {
keep_aspect_ratio_resizer {
min_dimension: 600
max_dimension: 1024
}
}
feature_extractor {
type: 'faster_rcnn_resnet101'
first_stage_features_stride: 16
}
事实上,大小调整后的图像形状对检测速度和精度性能有很大影响。虽然对输入图像的大小没有具体要求,但为了使卷积运算正常工作,最好使所有最小尺寸的图像都大于合理值
model {
faster_rcnn {
num_classes: 37
image_resizer {
keep_aspect_ratio_resizer {
min_dimension: 600
max_dimension: 1024
}
}
feature_extractor {
type: 'faster_rcnn_resnet101'
first_stage_features_stride: 16
}