JDet icon indicating copy to clipboard operation
JDet copied to clipboard

AttributeError: module 'jittor.nn' has no attribute 'Conv3d'

Open lx-cly opened this issue 2 years ago • 26 comments

使用docker安装的jittor,version是1.2.2.59。 不仅nn.Conv3d没有,而且nn.BatchNorm3d,nn.InstanceNorm3d也都没有。

lx-cly avatar Aug 16 '21 11:08 lx-cly

可以在docker里面更新一下jittor: python -m pip install jittor --upgrade

li-xl avatar Aug 16 '21 11:08 li-xl

可以了。不过在docker里面最好指定路径(多个python版本),python -m pip install jittor --upgrade --target=/usr/local/lib/pythonxxx/site-packages/

lx-cly avatar Aug 16 '21 11:08 lx-cly

好的,我们会更新一下,感谢!

li-xl avatar Aug 16 '21 12:08 li-xl

想问一下,在/python/jdet/data/dota.py里面DOTADataset类中第109,110行 dets = np.concatenate(dets) ; gts = np.concatenate(gts) 。 前面定义dets,gts都是list类型。没问题吗?

lx-cly avatar Aug 17 '21 06:08 lx-cly

这样是没问题的,因为这个list里面是np数组,不过eval还有点问题就是,默认网络输出的box是原图大小的,而target是输入网络的图片大小,如果用val的话,需要把网络里的rescale给关掉

li-xl avatar Aug 17 '21 07:08 li-xl

好的。还有一个问题,我先用了python preprocess.py --config-file dota_preprocess_config.py 对DOTA做裁剪等预处理,然后再做训练的时候,len(self.train_dataset)=0。 S15X}7}W(1B2M3S~Z1{6

lx-cly avatar Aug 17 '21 08:08 lx-cly

数据集处理后成这样的。 5I{}MI%IH@J)G8J{`470PBP ZV}~7%Z$R%X{KY}7$9C0 U4

lx-cly avatar Aug 17 '21 08:08 lx-cly

您的原始数据集是DOTA1.0的吗?

cxjyxxme avatar Aug 17 '21 08:08 cxjyxxme

原始数据集是DOTA1.5

lx-cly avatar Aug 17 '21 08:08 lx-cly

那您可能需要仿造python/jdet/data/dota.py里面的DOTADataset写一个针对DOTA1.5的Dataset,应该主要是针对DOTA1.5新增的分类做一些改动就可以了

cxjyxxme avatar Aug 17 '21 08:08 cxjyxxme

preprocess也需要改一下,我来加一下吧,尽快push上去

cxjyxxme avatar Aug 17 '21 08:08 cxjyxxme

DOTA1.5加好了,请pull最新的JDet,我简单测试了一下,应该没啥问题,您也可以try一try

cxjyxxme avatar Aug 17 '21 09:08 cxjyxxme

您可以参考https://github.com/Jittor/JDet/blob/master/docs/dota.md 和 $JDet_PATH$/configs/retinanet_r50v1d_fpn_dota1_5.py 使用

cxjyxxme avatar Aug 17 '21 09:08 cxjyxxme

好的,我先试一试

lx-cly avatar Aug 17 '21 10:08 lx-cly

我参考了https://github.com/Jittor/JDet/blob/master/docs/dota.md 和 $JDet_PATH$/configs/retinanet_r50v1d_fpn_dota1_5.py,修改了s2anet_r50_fpn_1x_dota.py,成功训练了。不过测试的结果最后一个类别的AP却是0,网络配置的输出头的num_classes修改了的。

lx-cly avatar Aug 19 '21 03:08 lx-cly

我把测试出来的结果,在原图把预测框可视化出来了,发现最后一个类别确实比其他类别训练得差,框选的目标基本都是错的。如果说是训练不够的画,可有些类别的AP都达到90%了。

lx-cly avatar Aug 19 '21 04:08 lx-cly

你修改的config能发一下我看看吗,感觉像是少训练了一个类

li-xl avatar Aug 19 '21 04:08 li-xl

看起来好像没有问题,您还改其他地方了吗,要不把代码发给我我看下?

li-xl avatar Aug 19 '21 05:08 li-xl

好的。代码和训练的权重文件在链接:https://pan.baidu.com/s/1l-GklzsAFoharBQ0ej8UGA 提取码:6zv0 谢谢了。

lx-cly avatar Aug 19 '21 07:08 lx-cly

收到,我测试下

li-xl avatar Aug 19 '21 08:08 li-xl

同学,你好,我这边看到你的ckpt_12.pkl是用num_classes=16训练的,是不是您训练时候忘改num_classes,然后训练完才改的呢?

li-xl avatar Aug 20 '21 05:08 li-xl

`[e 0820 13:26:46.989093 12 init.py:996] load parameter bbox_head.fam_cls.weight failed: expect the shape of bbox_head.fam_cls.weight to be [16,256,1,1,], but got [15,256,1,1,]

[e 0820 13:26:46.989227 12 init.py:996] load parameter bbox_head.fam_cls.bias failed: expect the shape of bbox_head.fam_cls.bias to be [16,], but got [15,]

[e 0820 13:26:46.999255 12 init.py:996] load parameter bbox_head.odm_cls.weight failed: expect the shape of bbox_head.odm_cls.weight to be [16,256,3,3,], but got [15,256,3,3,]

[e 0820 13:26:46.999411 12 init.py:996] load parameter bbox_head.odm_cls.bias failed: expect the shape of bbox_head.odm_cls.bias to be [16,], but got [15,]`

li-xl avatar Aug 20 '21 05:08 li-xl

非常不好意思啊!我是改了num_classes,再训练过的,因为放在服务器上跑的,本地没有同步,给你的代码给错了,不好意思啊。训练了16个类别的权重文件这个压缩包里:链接:https://pan.baidu.com/s/1krhg-57CLoCgXzSC-Icqrw 提取码:73rr

lx-cly avatar Aug 20 '21 07:08 lx-cly

好的,谢谢

li-xl avatar Aug 20 '21 07:08 li-xl

您好,最后一个类没有点数应该是因为数量太少和比较难学。我单独训了最后一类,在val上只有13mAP。最后一个类在train里面只有7张图片142个框,val里面2张图片14个框,如果想训得比较好的话需要均衡一下类别,比如训练的时候重复这几张图片100次之类的。

li-xl avatar Aug 22 '21 09:08 li-xl