JialianW/TraDeS

cannot convert to onnx

Closed this issue · 1 comments

sudo python3.7 convert_onnx.py tracking --load_model ../models/mot_half.pth --input_h 544 --input_w 960 --gpus -1 --pre_hm --dataset mot
Running tracking
Using tracking threshold for out threshold! 0.3
Fix size testing.
training chunk_sizes: [32]
input h w: 544 960
heads {'hm': 1, 'reg': 2, 'wh': 2, 'tracking': 2}
weights {'hm': 1, 'reg': 1, 'wh': 0.1, 'tracking': 1}
head conv {'hm': [256], 'reg': [256], 'wh': [256], 'tracking': [256]}

Namespace(K=100, add_05=False, amodel_offset_weight=1, arch='dla_34', aug_rot=0, backbone='dla34', batch_size=32, box_nms=-1, chunk_sizes=[32], clip_len=1, custom_dataset_ann_path='', custom_dataset_img_path='', data_dir='/home/ascend/AscendProjects_python/TraDeS/src/lib/../../data', dataset='mot', dataset_version='', debug=0, debug_dir='/home/ascend/AscendProjects_python/TraDeS/src/lib/../../exp/tracking/default/debug', debugger_theme='white', deform_kernel_size=3, demo='', dense_reg=1, dep_weight=1, depth_scale=1, device=device(type='cpu'), dim_weight=1, dla_node='dcn', down_ratio=4, efficient_level=0, embedding=False, eval_val=False, exp_dir='/home/ascend/AscendProjects_python/TraDeS/src/lib/../../exp/tracking', exp_id='default', fix_res=True, fix_short=-1, flip=0.5, flip_test=False, fp_disturb=0, gpus=[-1], gpus_str='-1', head_conv={'hm': [256], 'reg': [256], 'wh': [256], 'tracking': [256]}, head_kernel=3, heads={'hm': 1, 'reg': 2, 'wh': 2, 'tracking': 2}, hm_disturb=0, hm_hp_weight=1, hm_weight=1, hp_weight=1, hungarian=False, ignore_loaded_cats=[], inference=False, input_h=544, input_res=960, input_w=960, keep_res=False, kitti_split='3dop', load_model='../models/mot_half.pth', load_results='', lost_disturb=0, lr=0.000125, lr_step=[60], ltrb=False, ltrb_amodal=False, ltrb_amodal_weight=0.1, ltrb_weight=0.1, map_argoverse_id=False, master_batch_size=32, max_age=-1, max_frame_dist=3, model_output_list=True, msra_outchannel=256, nID=-1, neck='dlaup', new_thresh=0.3, nms=False, no_color_aug=False, no_pause=False, no_pre_img=False, no_repeat=True, non_block_test=False, not_cuda_benchmark=False, not_idaup=False, not_max_crop=False, not_prefetch_test=False, not_rand_crop=False, not_set_cuda_env=False, not_show_bbox=False, not_show_number=False, num_classes=1, num_epochs=70, num_head_conv=1, num_iters=-1, num_layers=101, num_stacks=1, num_workers=4, nuscenes_att=False, nuscenes_att_weight=1, off_weight=1, optim='adam', out_thresh=0.3, output_h=136, output_res=240, output_w=240, overlap_thresh=0.05, pad=31, pre_hm=True, pre_img=True, pre_thresh=0.3, print_iter=0, prior_bias=-4.6, public_det=False, qualitative=False, reg_loss='l1', reset_hm=False, resize_video=False, resume=False, reuse_hm=False, root_dir='/home/ascend/AscendProjects_python/TraDeS/src/lib/../..', rot_weight=1, rotate=0, same_aug_pre=False, save_all=False, save_dir='/home/ascend/AscendProjects_python/TraDeS/src/lib/../../exp/tracking/default', save_framerate=30, save_img_suffix='', save_imgs=[], save_point=[90], save_results=False, save_video=False, scale=0, seed=317, shift=0, show_track_color=True, skip_first=-1, tango_color=False, task='tracking', test=False, test_dataset='mot', test_focal_length=-1, test_scales=[1.0], track_thresh=0.3, tracking=True, tracking_weight=1, trades=False, trainval=False, transpose_video=False, use_kpt_center=False, use_loaded_results=False, val_intervals=10000, velocity=False, velocity_weight=1, video_h=512, video_w=512, vis_gt_bev='', vis_thresh=0.3, weights={'hm': 1, 'reg': 1, 'wh': 0.1, 'tracking': 1}, wh_weight=0.1, window_size=20, zero_pre_hm=False, zero_tracking=False)

Using node type: (<class 'model.networks.dla.DeformConv'>, <class 'model.networks.dla.DeformConv'>)
Warning: No ImageNet pretrain!!
loaded ../models/mot_half.pth, epoch 70
Drop parameter embedconv.0.weight.
Drop parameter embedconv.0.bias.
Drop parameter embedconv.1.weight.
Drop parameter embedconv.1.bias.
Drop parameter embedconv.1.running_mean.
Drop parameter embedconv.1.running_var.
Drop parameter embedconv.1.num_batches_tracked.
Drop parameter embedconv.3.weight.
Drop parameter embedconv.3.bias.
Drop parameter embedconv.4.weight.
Drop parameter embedconv.4.bias.
Drop parameter embedconv.4.running_mean.
Drop parameter embedconv.4.running_var.
Drop parameter embedconv.4.num_batches_tracked.
Drop parameter embedconv.6.weight.
Drop parameter embedconv.6.bias.
Drop parameter offset_feats.0.conv1.weight.
Drop parameter offset_feats.0.bn1.weight.
Drop parameter offset_feats.0.bn1.bias.
Drop parameter offset_feats.0.bn1.running_mean.
Drop parameter offset_feats.0.bn1.running_var.
Drop parameter offset_feats.0.bn1.num_batches_tracked.
Drop parameter offset_feats.0.conv2.weight.
Drop parameter offset_feats.0.bn2.weight.
Drop parameter offset_feats.0.bn2.bias.
Drop parameter offset_feats.0.bn2.running_mean.
Drop parameter offset_feats.0.bn2.running_var.
Drop parameter offset_feats.0.bn2.num_batches_tracked.
Drop parameter offset_feats.0.downsample.0.weight.
Drop parameter offset_feats.0.downsample.1.weight.
Drop parameter offset_feats.0.downsample.1.bias.
Drop parameter offset_feats.0.downsample.1.running_mean.
Drop parameter offset_feats.0.downsample.1.running_var.
Drop parameter offset_feats.0.downsample.1.num_batches_tracked.
Drop parameter offset_feats.1.conv1.weight.
Drop parameter offset_feats.1.bn1.weight.
Drop parameter offset_feats.1.bn1.bias.
Drop parameter offset_feats.1.bn1.running_mean.
Drop parameter offset_feats.1.bn1.running_var.
Drop parameter offset_feats.1.bn1.num_batches_tracked.
Drop parameter offset_feats.1.conv2.weight.
Drop parameter offset_feats.1.bn2.weight.
Drop parameter offset_feats.1.bn2.bias.
Drop parameter offset_feats.1.bn2.running_mean.
Drop parameter offset_feats.1.bn2.running_var.
Drop parameter offset_feats.1.bn2.num_batches_tracked.
Drop parameter offset_feats.2.conv1.weight.
Drop parameter offset_feats.2.bn1.weight.
Drop parameter offset_feats.2.bn1.bias.
Drop parameter offset_feats.2.bn1.running_mean.
Drop parameter offset_feats.2.bn1.running_var.
Drop parameter offset_feats.2.bn1.num_batches_tracked.
Drop parameter offset_feats.2.conv2.weight.
Drop parameter offset_feats.2.bn2.weight.
Drop parameter offset_feats.2.bn2.bias.
Drop parameter offset_feats.2.bn2.running_mean.
Drop parameter offset_feats.2.bn2.running_var.
Drop parameter offset_feats.2.bn2.num_batches_tracked.
Drop parameter offset_feats.3.conv1.weight.
Drop parameter offset_feats.3.bn1.weight.
Drop parameter offset_feats.3.bn1.bias.
Drop parameter offset_feats.3.bn1.running_mean.
Drop parameter offset_feats.3.bn1.running_var.
Drop parameter offset_feats.3.bn1.num_batches_tracked.
Drop parameter offset_feats.3.conv2.weight.
Drop parameter offset_feats.3.bn2.weight.
Drop parameter offset_feats.3.bn2.bias.
Drop parameter offset_feats.3.bn2.running_mean.
Drop parameter offset_feats.3.bn2.running_var.
Drop parameter offset_feats.3.bn2.num_batches_tracked.
Drop parameter attention_cur.weight.
Drop parameter attention_cur.bias.
Drop parameter attention_prev.weight.
Drop parameter attention_prev.bias.
Drop parameter conv_offset_w.weight.
Drop parameter conv_offset_w.bias.
Drop parameter conv_offset_h.weight.
Drop parameter conv_offset_h.bias.
Drop parameter dcn1_1.weight.
Drop parameter dcn1_1.bias.
Drop parameter ltrb_amodal.0.weight.
Drop parameter ltrb_amodal.0.bias.
Drop parameter ltrb_amodal.2.weight.
Drop parameter ltrb_amodal.2.bias.
======== ../models/default.onnx
Traceback (most recent call last):
File "convert_onnx.py", line 64, in
convert_onnx(opt)
File "convert_onnx.py", line 53, in convert_onnx
"../models/{}.onnx".format(opt.exp_id))
File "/usr/local/python3.7.5/lib/python3.7/site-packages/torch/onnx/init.py", line 276, in export
custom_opsets, enable_onnx_checker, use_external_data_format)
File "/usr/local/python3.7.5/lib/python3.7/site-packages/torch/onnx/utils.py", line 94, in export
use_external_data_format=use_external_data_format)
File "/usr/local/python3.7.5/lib/python3.7/site-packages/torch/onnx/utils.py", line 709, in _export
val_add_node_names, val_use_external_data_format, model_file_location)
RuntimeError: ONNX export failed: Couldn't export Python operator _DCNv2

Sorry, our method cannot be converted to onnx, because DCN is not supported as stated in that script. The conversion script is originated from the CenterTrack codebase, yet we haven't removed it. Sorry for the confusion.