OpenSeeD:A Simple Framework for Open-Vocabulary Segmentation and Detection这篇工作发布在2023年的ICCV上,这是一个简单的开放词汇分割和检测框架,它可以从不同的分割和检测数据集中联合学习。为了弥补词汇和注释粒度的差距,我们首先引入了一个预先训练的文本编码器,对两个任务中的所有视觉概念进行编码,并为它们学习一个公共的语义空间。
一、代码复现–配置环境
1.安装包torchmetrics==0.6.0失败的解决方法
命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torchmetrics==0.6.0
2.安装包timm==0.4.12失败的解决方法
命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple timm==0.4.12
3.安装包pycocotools==2.0.4,出现错误 ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects的解决方法
(1)下载如下pycocotools压缩包
链接:https://pan.baidu.com/s/1zyIX_VrFXNNdkV3ZsIOAjQ
提取码:1314
该压缩包中会有两个文件夹:
(2)解压后,将压缩包中的两个文件夹放置到你当前包的安装环境中,例如,我新建虚拟环境OpenSee,在该环境下我的包安装目录为(一般在当前环境的路径下的Lib文件夹中的site-packages路径下)
(3)然后重新启动MobaXterm,再次安装即可成功
4.Pillow 报错module ‘PIL.Image‘ has no attribute ‘LINEAR‘及其解决办法
解决办法:卸载之前安装的Pillow-10.0.0
重新安装Pilow=8.4.0
即降低Pillow版本即可:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow==8.4.0
5.ModuleNotFoundError: No module named 'cv2’的解决办法
命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
6.安装错误No module named 'MultiScaleDeformableAttention’的解决方法
(1)首先找到项目中对应的:/models/ops
cd ./models/ops:将当前的工作目录切换到models/ops目录
(2)执行make.sh的Shell脚本文件
sh ./make.sh:sh表示执行一个Shell脚本
(3)然后退回到本项目的目录下,再次执行命令即可成功
7.运行出现错误UserWarning: torch.meshgrid: in an upcoming release,it will be required to pass the…的解决方法
D:\Applications\anaconda3\envs\pytorch\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\TensorShape.cpp:3484.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
解决办法:
找到pyrcharm所用的虚拟环境下的functional.py文件,根据报错的提示找到functional的504行
加上代码indexing = ‘ij’
return _VF.meshgrid(tensors, **kwargs,indexing = 'ij') # type: ignore[attr-defined]
修改后即可解决问题
8. 出现如下问题:
RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`,
解决方法:执行如下命令:unset LD_LIBRARY_PATH
该命令作用:
(1)unset LD_LIBRARY_PATH 是一个用于清空 Linux 或 Unix 操作系统环境变量 LD_LIBRARY_PATH 的命令。
(2)在 Linux 或 Unix 系统中,LD_LIBRARY_PATH 是一个环境变量,用于指定共享库文件(也称为动态链接库)的搜索路径。当一个程序启动时,系统会在 LD_LIBRARY_PATH 指定的路径下搜索共享库文件。如果 LD_LIBRARY_PATH 没有被设置,系统会使用默认的共享库搜索路径。
(3)使用 unset LD_LIBRARY_PATH 命令可以清空 LD_LIBRARY_PATH 环境变量,这意味着系统将只使用默认的共享库搜索路径。这个命令通常用于解决程序运行时由于错误的 LD_LIBRARY_PATH 设置导致的问题。
9.出现如下问题:
执行pip install报错: WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
解决方法:
初始命令:pip install git+https://github.com/cocodataset/panopticapi.git
pip安装命令中使用–force-reinstall参数:
修改命令:pip install --force-reinstall git+https://github.com/cocodataset/panopticapi.git
如果在复现代码的期间遇见问题,及时交流哈~~~