DINO-DETR模型的环境与YOLOS完全相同,起初博主直接沿用了YOLOS的环境,后来更换了服务器,也就重新配置一下:
GPU配置:
首先是进行项目下载,由于博主此时并未对项目进行大量更改,只需要从github上直接git即可。
git clone https://github.com/IDEA-Research/DINO.git
下载完成后我们将mian.py和相关配置文件替换一下即可。
随后进行环境安装
conda create -n der python=3.7
切换到DINO目录下安装环境依赖:这里注意一下先将pycocotools的下载删除,变为:
cython
submitit
torch>=1.5.0
torchvision>=0.6.0
scipy
termcolor
addict
yapf
timm
随后执行安装命令。
pip install -r requirement.txt
然后再进行pycocotools的安装。
pip install pycocotools
紧接着配置CUDA算子
cd models/dino/ops
python setup.py build install
python test.py
在配置DINO-DETR模型的CUDA算子时,报错:
libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit, version
libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time
reference
这是pytorch找不到cuda导致的,起初博主以为是pytorch版本不对,后来发现是因为在按照pytorch1.13时会自动安装nvidia_cublas_cu11,只需要将其卸载即可:
pip uninstall nvidia_cublas_cu11
再次配置即可,test.py主要进行一个维度计算测试,与你的GPU显存有关。
可以看到博主在进行 2048通道计算时爆显存了。
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0; 22.38 GiB total capacity; 20.98 GiB already allocated; 3.94 MiB free;
这不要紧,我们在真正运行该项目时只需要调整batch-size即可,此时博主使用的显卡未NVIDIA P40,显存为24G,可以说已经足以满足需要了。先前在NVIDIA T4显卡上batch-szie只能调整为1。
至此,DINO-DETR的环境配置便完成了,只需要上传完数据集即可运行了。