复现PSP:Automatic Check-out via Prototype-based Classifier Learning from Single-Product Exemplars

复现PSP:Automatic Check-out via Prototype-based Classifier Learning from Single-Product Exemplars

Paper:PSP: Automatic Check-out via Prototype-based Classifier Learning from Single-Product Exemplars

Github:PSP

Overview

主要矛盾:作者使用的是2080ti 但我用的是3090(只支持11.0以上的cuda,我的是11.4,11.3也可以)导致作者使用的torch1.7.0会不匹配

太长不看版请直接下拉到conclusion
python version √
requirements.txt √

这两个都没有问题 直接安装3.7python和requirements.txt就行

然后我根据readme安装了pip install mmcv==1.3.9,然后运行python setup.py develop安装了mmdet2.14.0(作者给的代码有 就不用pip安装了 只要编译就行)

作者使用的1.7.0torch(pip install torch==1.7.0)会报错:NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70 sm_75.(大致是这样 主要是1.7torch和3090 cuda11.4算力不匹配)

所以要么换卡(太麻烦,但如果用的是2080ti,不是30系的卡的话,就直接按照作者的配置来就能跑通 我这个只有卡不匹配,而且也只报了这一个错),要么更换torch版本

所以我直接把torch换到了1.11.0 用的pip install torch==1.11.0 但mmcv就会报错 具体记不清了应该是一个undefined symbol之类 的错误,原因在于mmcv和torch、cuda不匹配

但官网现在mmcv升级到了2.0,如果直接装2.0的话会导致代码里很多函数不匹配,具体可以看 https://github.com/open-mmlab/mmcv/pull/2217/commits,简单来说我们PSP train.py里line10

from mmcv import Config, DictAction
from mmcv.runner import get_dist_info, init_dist
from mmcv.utils import get_git_hash

这几个都不能用了,所以我们还是必须要用1.x版本的mmcv

但官网首页你无论怎么选torch版本、系统是windows还是linux、cuda版本都是只给2.0以上的,所以我们只能去download里找,我是一个个试出来的。

我一开始找的是https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html
但实际上作者代码里给的mmdet/init.py里写了mmcv的min、max version是1.3.8-14.0,而这个pytorch1.11.0对应的mmcv最小版本只有1.4.7所以也不行

然后找的是https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html
,这个是torch 1.10.0,有1.4.0版本的mmcv = max version, 但是会报错libtorch_cuda_cu.so is missed, although it contains cu113 and our gpu is cuda 11.4

最后的解决办法是:torch 1.10.0+cu113 √ 也就是说我们装torch的时候不仅要指定版本还要加上我们的cuda版本:pip install torch==1.10.0 torchvision torchaudion --extra-index-url https://download.pytorch.org/whl/cu113

mmcv下载链接:mmcv : mmcv 1.4.0 with cu113 and torch1.10.0

mmdet 2.14.0 from github PSP √这个没问题直接python setup.py develop就行

Conclusion

conda create -n PSP python=3.7

pip install -r requirements.txt

pip install torch==1.10.0 torchvision torchaudion --extra-index-url https://download.pytorch.org/whl/cu113

Note the torch should be torch+cu113 instead of torch(from pip list)

pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html(bulding wheels will consume huge amount of time)

python setup.py develop(from github readme for installing mmdet)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值