使用基于MegEngine的YOLOX时遇到问题

我在MegStudio上下载了官方的YOLOX代码,想要跑自己的数据集(coco格式),在这个过程中遇到了两个问题。
1)我在官方github下载了pretrained的YOLOX-tiny模型权重,加进去后提示KeyError:‘model’
2)我去掉了pretrained模型,跑的时候出现了AP=0的情况,最后给出如下报错

2021-09-14 12:11:07 | INFO | yolox.core.trainer:149 - —> start train epoch1
2021-09-14 12:11:11 | INFO | yolox.core.trainer:145 - Training of experiment is done and the best AP is 0.00
2021-09-14 12:11:11 | ERROR | main:93 - An error has been caught in function ‘’, process ‘MainProcess’ (289), thread ‘MainThread’ (140556592027456):
Traceback (most recent call last):

File “tools/train.py”, line 93, in
main(exp, args)
│ │ └ Namespace(batch_size=4, ckpt=None, devices=1, exp_file=‘exps/default/yolox_tiny.py’, experiment_name=‘yolox_tiny’, machine_ra…
│ └ ╒══════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════════════…
└ <function main at 0x7fd5747a2dd0>

File “tools/train.py”, line 73, in main
trainer.train()
│ └ <function Trainer.train at 0x7fd56a16e950>
└ <yolox.core.trainer.Trainer object at 0x7fd50d0925d0>

File “/home/megstudio/workspace/YOLOX/yolox/core/trainer.py”, line 48, in train
self.train_in_epoch()
│ └ <function Trainer.train_in_epoch at 0x7fd5111ba0e0>
└ <yolox.core.trainer.Trainer object at 0x7fd50d0925d0>

File “/home/megstudio/workspace/YOLOX/yolox/core/trainer.py”, line 57, in train_in_epoch
self.train_in_iter()
│ └ <function Trainer.train_in_iter at 0x7fd56a1807a0>
└ <yolox.core.trainer.Trainer object at 0x7fd50d0925d0>

File “/home/megstudio/workspace/YOLOX/yolox/core/trainer.py”, line 63, in train_in_iter
self.train_one_iter()
│ └ <function Trainer.train_one_iter at 0x7fd50d35db90>
└ <yolox.core.trainer.Trainer object at 0x7fd50d0925d0>

File “/home/megstudio/workspace/YOLOX/yolox/core/trainer.py”, line 74, in train_one_iter
outputs = self.model(inps, targets)
│ │ │ └ Tensor([[[ 4. 248.5959 72.7763 13.6677 14.3331]
│ │ │ [ 0. 0. 0. 0. 0. ]
│ │ │ [ 0. 0. …
│ │ └
│ └ YOLOX(
│ (backbone): YOLOPAFPN(
│ (backbone): CSPDarknet(
│ (stem): Focus(
│ (conv): BaseConv(
│ (conv): …
└ <yolox.core.trainer.Trainer object at 0x7fd50d0925d0>

File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/module.py”, line 148, in call
outputs = self.forward(*inputs, **kwargs)
│ │ │ └ {}
│ │ └ (Tensor([[[[-1.8097 -1.8439 -1.8782 … -1.4158 -1.1932 -0.9705]
│ │ [-1.2445 -1.6898 -1.8097 … -1.5357 -1.3987 -1.176 ]
│ │ …
│ └ <function YOLOX.forward at 0x7fd50d064680>
└ YOLOX(
(backbone): YOLOPAFPN(
(backbone): CSPDarknet(
(stem): Focus(
(conv): BaseConv(
(conv): …

File “/home/megstudio/workspace/YOLOX/yolox/models/yolox.py”, line 30, in forward
fpn_outs = self.backbone(x)
│ │ └ Tensor([[[[-1.8097 -1.8439 -1.8782 … -1.4158 -1.1932 -0.9705]
│ │ [-1.2445 -1.6898 -1.8097 … -1.5357 -1.3987 -1.176 ]
│ │ […
│ └ YOLOPAFPN(
│ (backbone): CSPDarknet(
│ (stem): Focus(
│ (conv): BaseConv(
│ (conv): Conv2d(12, 24, kernel_size=(3…
└ YOLOX(
(backbone): YOLOPAFPN(
(backbone): CSPDarknet(
(stem): Focus(
(conv): BaseConv(
(conv): …

File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/module.py”, line 148, in call
outputs = self.forward(*inputs, **kwargs)
│ │ │ └ {}
│ │ └ (Tensor([[[[-1.8097 -1.8439 -1.8782 … -1.4158 -1.1932 -0.9705]
│ │ [-1.2445 -1.6898 -1.8097 … -1.5357 -1.3987 -1.176 ]
│ │ …
│ └ <function YOLOPAFPN.forward at 0x7fd50d0643b0>
└ YOLOPAFPN(
(backbone): CSPDarknet(
(stem): Focus(
(conv): BaseConv(
(conv): Conv2d(12, 24, kernel_size=(3…

File “/home/megstudio/workspace/YOLOX/yolox/models/yolo_pafpn.py”, line 95, in forward
f_out0 = self.C3_p4(f_out0) # 1024->512/16
│ │ └ Tensor([[[[ 0.4727 0.4049 0.2691 … 0.8853 0.5229 0.3416]
│ │ [ 0.5079 0.4604 0.3653 … 1.3531 0.7309 0.4197]
│ │ […
│ └ CSPLayer(
│ (conv1): BaseConv(
│ (conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
│ (bn): BatchNorm2d(96, eps=0.00…
└ YOLOPAFPN(
(backbone): CSPDarknet(
(stem): Focus(
(conv): BaseConv(
(conv): Conv2d(12, 24, kernel_size=(3…

File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/module.py”, line 148, in call
outputs = self.forward(*inputs, **kwargs)
│ │ │ └ {}
│ │ └ (Tensor([[[[ 0.4727 0.4049 0.2691 … 0.8853 0.5229 0.3416]
│ │ [ 0.5079 0.4604 0.3653 … 1.3531 0.7309 0.4197]
│ │ …
│ └ <function CSPLayer.forward at 0x7fd50d0594d0>
└ CSPLayer(
(conv1): BaseConv(
(conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.00…

File “/home/megstudio/workspace/YOLOX/yolox/models/network_blocks.py”, line 163, in forward
x_1 = self.conv1(x)
│ │ └ Tensor([[[[ 0.4727 0.4049 0.2691 … 0.8853 0.5229 0.3416]
│ │ [ 0.5079 0.4604 0.3653 … 1.3531 0.7309 0.4197]
│ │ […
│ └ BaseConv(
│ (conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
│ (bn): BatchNorm2d(96, eps=0.001, momentum=0.97, affine=…
└ CSPLayer(
(conv1): BaseConv(
(conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.00…

File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/module.py”, line 148, in call
outputs = self.forward(*inputs, **kwargs)
│ │ │ └ {}
│ │ └ (Tensor([[[[ 0.4727 0.4049 0.2691 … 0.8853 0.5229 0.3416]
│ │ [ 0.5079 0.4604 0.3653 … 1.3531 0.7309 0.4197]
│ │ …
│ └ <function BaseConv.forward at 0x7fd50d057e60>
└ BaseConv(
(conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.97, affine=…

File “/home/megstudio/workspace/YOLOX/yolox/models/network_blocks.py”, line 63, in forward
return self.act(self.bn(self.conv(x)))
│ │ │ │ │ │ └ Tensor([[[[ 0.4727 0.4049 0.2691 … 0.8853 0.5229 0.3416]
│ │ │ │ │ │ [ 0.5079 0.4604 0.3653 … 1.3531 0.7309 0.4197]
│ │ │ │ │ │ […
│ │ │ │ │ └ Conv2d(384, 96, kernel_size=(1, 1), bias=False)
│ │ │ │ └ BaseConv(
│ │ │ │ (conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
│ │ │ │ (bn): BatchNorm2d(96, eps=0.001, momentum=0.97, affine=…
│ │ │ └ BatchNorm2d(96, eps=0.001, momentum=0.97, affine=True, track_running_stats=True)
│ │ └ BaseConv(
│ │ (conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
│ │ (bn): BatchNorm2d(96, eps=0.001, momentum=0.97, affine=…
│ └ SiLU()
└ BaseConv(
(conv): Conv2d(384, 96, kernel_size=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.97, affine=…

File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/module.py”, line 148, in call
outputs = self.forward(*inputs, **kwargs)
│ │ │ └ {}
│ │ └ (Tensor([[[[ 0.0428 -0.4695 -0.7067 … -0.377 0.1809 0.0167]
│ │ [-1.3236 -0.3983 -0.0536 … -0.1051 -1.6124 -0.3985]
│ │ …
│ └ <function _BatchNorm.forward at 0x7fd56a23a710>
└ BatchNorm2d(96, eps=0.001, momentum=0.97, affine=True, track_running_stats=True)
File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/batchnorm.py”, line 75, in forward
self._check_input_ndim(inp)
│ │ └ Tensor([[[[ 0.0428 -0.4695 -0.7067 … -0.377 0.1809 0.0167]
│ │ [-1.3236 -0.3983 -0.0536 … -0.1051 -1.6124 -0.3985]
│ │ […
│ └ <function BatchNorm2d._check_input_ndim at 0x7fd56a23aa70>
└ BatchNorm2d(96, eps=0.001, momentum=0.97, affine=True, track_running_stats=True)
File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/module/batchnorm.py”, line 343, in _check_input_ndim
if len(inp.shape) != 4:
│ └ <property object at 0x7fd5747822f0>
└ Tensor([[[[ 0.0428 -0.4695 -0.7067 … -0.377 0.1809 0.0167]
[-1.3236 -0.3983 -0.0536 … -0.1051 -1.6124 -0.3985]
[…
File “/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/tensor.py”, line 105, in shape
shape = super().shape

RuntimeError: assertion `inputs[0]->blob().use_count() == 2 && inputs[0]->blob()->storage().unique()’ failed at …/…/…/…/…/…/imperative/src/impl/ops/elemwise.cpp:258: megdnn::SmallVector<std::shared_ptrmgb::imperative::Tensor > mgb::imperative::{anonymous}::apply_inplace_add_on_physical_tensor(const mgb::imperative::OpDef&, const megdnn::SmallVector<std::shared_ptrmgb::imperative::Tensor >&)
extra message: This inplace modification may change the elements of other tensors. Please set MEGENGINE_INPLACE_UPDATE to 0 to ensure the program runs correctly.

backtrace:
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/lib/libmegengine_export.so(_ZN3mgb13MegBrainErrorC1ERKSs+0x4a) [0x7fd586c1f3ca]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/lib/libmegengine_export.so(_ZN3mgb15__assert_fail__EPKciS1_S1_S1_z+0x10f) [0x7fd586c1f81f]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x20ec80) [0x7fd5dfbfcc80]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x20f095) [0x7fd5dfbfd095]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d794b) [0x7fd5dfbc594b]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d4d42) [0x7fd5dfbc2d42]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d052f) [0x7fd5dfbbe52f]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d16e7) [0x7fd5dfbbf6e7]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d1d54) [0x7fd5dfbbfd54]
/home/megstudio/.miniconda/envs/xuan/lib/python3.7/site-packages/megengine/core/_imperative_rt.cpython-37m-x86_64-linux-gnu.so(+0x1d2b34) [0x7fd5dfbc0b34]