LKM*_*LKM 6 python object-detection tensorflow
我下面tensorflow物体检测API的说明,并试图培养现有对象的检测模型("faster_rcnn_resnet101_coco")与具有50类我自己的数据集.
所以根据我自己的数据集,我创建了
接着,我编辑model.config仅对模型faster_rcnn-num_classes(90 - > 50(我自己的数据集的类的),train_config-的batch_size(1的数量- 200000> 10),train_config-num_steps( - > 100), train_input_reader-tf_record_input_reader-input_path(到TFRecord驻留的路径)和train_input_reader-label_map_path(到labelmap.pbtxt驻留的路径).
最后,我运行命令
python train.py \
--logtostderr \
--pipeline_config_path="PATH WHERE CONFIG FILE RESIDES" \
--train_dir="PATH WHERE MODEL DIRECTORY RESIDES"
Run Code Online (Sandbox Code Playgroud)
我遇到了以下错误:
InvalidArgumentError(参见上述用于回溯):ConcatOp:输入尺寸应当匹配:形状[0] = [1,890,600,3]对形状[1] = [1,766,600,3] [[节点:CONCAT_1 = ConcatV2 [N = 10, T = DT_FLOAT,TIDX = DT_INT32,_device = "/作业:本地主机/复制:0 /任务:0/CPU:0"(预处理器/分,Preprocessor_1 /分,Preprocessor_2 /分,Preprocessor_3 /分,Preprocessor_4 /分, Preprocessor_5 /分,Preprocessor_6 /分,Preprocessor_7 /分,Preprocessor_8 /分,Preprocessor_9 /分,CONCAT_1 /轴)]]
它似乎是输入图像的尺寸,因此可能是由于未调整原始图像数据的大小而引起的.
但据我所知,模型会自动调整输入图像的大小以进行训练(不是吗?)
然后我就遇到了这个问题.
如果有解决方案,我会很感激您的回答.谢谢.
UPDATE
当我updated my batch_size field from 10 to one(original one)
,它似乎train without any problem
...... 但我不明白为什么......
Cip*_*agă 13
TaeWoo是对的,你必须设置batch_size
为1才能训练更快的RCNN.
这是因为FRCNN使用a keep_aspect_ratio_resizer
,这反过来意味着如果你有不同大小的图像,它们在预处理后也会有不同的大小.这实际上使得配料不可能,因为批量张量具有形状[num_batch, height, width, channels]
.当(height, width)
一个示例与下一个示例不同时,您可以看到这是一个问题.
这与使用"普通"缩放器的SSD模型形成对比,即,无论输入图像如何,所有预处理的示例将最终具有相同的大小,这允许它们被批处理在一起.
现在,如果您有不同大小的图像,实际上您有两种使用批处理的方法:
归档时间: |
|
查看次数: |
1699 次 |
最近记录: |