windows10 SSD model 添加自定义训练集预测出错
Created by: liuzengzhen1
下载官网SSD模型根据PASCAL数据集的格式上上传相关训练数据,修改label_list文本改写为: background newType 并修改train_parameters = 里数据集class_num 等于2 训练调用参数如下:
ap_version: 11point
batch_size: 16
data_dir: D:/untitled/pratice/ssdTest/data/pascalvoc
dataset: pascalvoc
enable_ce: False
epoc_num: 5
image_shape: 3,300,300
learning_rate: 0.001
mean_BGR: 127.5,127.5,127.5
model_save_dir: D:\untitled\pratice\ssdTest\model
parallel: 0
pretrained_model: 'pretrained/ssd_mobilenet_v1_coco/'
use_gpu: 0
预测验证报错
----------- Configuration Arguments -----------
confs_threshold: 0.5
dataset: pascalvoc
image_path: D:\untitled\pratice\ssdTest\data\pascalvoc\VOCdevkit\VOC2007\JPEGImages\000001.jpg
mean_value_B: 127.5
mean_value_G: 127.5
mean_value_R: 127.5
model_dir: D:\untitled\pratice\ssdTest\model\best_model
nms_threshold: 0.45
resize_h: 300
resize_w: 300
use_gpu: 0
------------------------------------------------
D:\untitled\pratice\ssdTest\model\best_model
Traceback (most recent call last):
File "D:\untitled\pratice\ssdTest\infer.py", line 145, in <module>
model_dir=args.model_dir)
File "D:\untitled\pratice\ssdTest\infer.py", line 76, in infer
return_numpy=False)
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\executor.py", line 565, in run
use_program_cache=use_program_cache)
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\executor.py", line 642, in _run
exe.run(program.desc, scope, 0, True, True, fetch_var_name)
paddle.fluid.core.EnforceNotMet: Invoke operator reshape2 error.
Python Callstacks:
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\framework.py", line 1654, in append_op
attrs=kwargs.get("attrs", None))
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\layer_helper.py", line 43, in append_op
return self.main_program.current_block().append_op(*args, **kwargs)
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\layers\nn.py", line 6424, in reshape
"XShape": x_shape})
File "C:\Program Files\Anaconda3\lib\site-packages\paddle\fluid\layers\detection.py", line 1675, in multi_box_head
conf_loc, shape=compile_shape, actual_shape=run_shape)
File "D:\untitled\pratice\ssdTest\mobilenet_ssd.py", line 55, in ssd_net
flip=True)
File "D:\untitled\pratice\ssdTest\mobilenet_ssd.py", line 126, in build_mobilenet_ssd
return ssd_model.ssd_net()
File "D:\untitled\pratice\ssdTest\infer.py", line 54, in infer
image_shape)
File "D:\untitled\pratice\ssdTest\infer.py", line 145, in <module>
model_dir=args.model_dir)
C++ Callstacks:
Enforce failed. Expected output_shape[unk_dim_idx] * capacity == -in_size, but received output_shape[unk_dim_idx] * capacity:-2163 != -in_size:-2166.
Invalid shape is given. at [D:\1.4.1\paddle\paddle\fluid\operators\reshape_op.cc:101]
PaddlePaddle Call Stacks:
Windows not support stack backtrace yet.
是我再更换数据集的时候有参数没有修改导致还是什么原因,请求支援