如果你已经安装了opencv-python的库,但是调用cv2.saliency方法时出现了如下的报错:
module ‘cv2.saliency’ has no attribute ‘StaticSaliencySpectralResidual_create’
这时你只需要卸载opencv-python库,安装opencv-contrib-python库即可。
如果你的vscode项目代码中含有如下语句块:
# show the images
cv2.imshow("Image", image)
cv2.imshow("Output", saliencyMap)
cv2.imshow("Thresh", threshMap)
cv2.waitKey(0)
并出现如下的报错:
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “/home/###/anaconda3/envs/###/pytorch/lib/python3.10/site-packages/cv2/qt/plugins” even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: xcb.
已放弃 (核心已转储)
这时你可以在你的本地安装Free版本的MobaXterm,同vscode一样,通过ssh连接上服务器,输入ip和服务器主机的用户名(log as),然后再在vscode的命令行输入:
export DISPLAY=localhost:10.0
这样就会正常生成图片,不会报错了。需要注意的是,每创建一个命令行窗口就必须要执行一次!
进入激活环境后,conda list
查看当前的包,确实没有torch,可能是因为包冲突还是不小心删掉了呢?不得而知。
在bash执行conda install -p 虚拟环境路径 pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
。等待重新安装后,就没有出现报错了。
当然,前提是在vscode中选择好你的虚拟环境的解释器,并在bash中激活该虚拟环境。不然vscode是默认base环境的,因为不知道哪里去找python.exe。
由于一直用双卡2080Ti跑DDP pytorch代码,把GPU干冒烟了,我关机让服务器休息了一会就好了。
使用watch -n 0.1 nvidia-smi
每隔0.1秒动态查看服务器英伟达GPU的信息,Ctrl+C退出查看状态。
同问题6。
您在 /var/cache/apt/archives/ 上没有足够的可用空间。
解决方案:重新指定一个空间大的位置进行存储。
之前一直采用git克隆项目到本地,再拖动该项目到vscode远程连接的服务器中。产生这个问题的原因是因为:github仓库的项目中含有隐藏的.git文件,记录了该项目的生命周期。
解决方案:删除.git文件即可
校园网连接上网线可以pip或conda,但是无法访问国内的网站。这时,可以使用CCproxy将windows系统的笔记本作为代理服务器。
这是因为你的项目根目录不是你当前的工作文件夹,vscode是自动解析当前工作视图最外层的文件夹作为项目的根路径,所以重新进入你当前的工作文件夹即可。
也可以参考如下的引用
在vscode中,子文件夹内的文件的相对路径的基准不再是该文件所在路径,而是用vscode打开的根目录作为整个项目的相对路径的基准。项目中所有文件的相对路径都是指项目根目录。
我的做法是在当前目录下新建.vscode文件夹,在.vscode文件夹中新建settings.json文件,复制上下面这段代码:
{ "python.analysis.extraPaths": ["你的子文件夹绝对路径"], }
我之前是在整个Vscode的settings.json中复制了这个路径,但是多个项目会引发冲突的。因为可能每个算法都有models或者utils模块,所以单个项目还是使用单独的settings.json文件。
由于服务器无法联网,所以需要离线安装包。下载.whl后定位到.whl的位置,在命令行执行pip install name.whl
或者 pip3 install name.whl
即可,自动会安装到你当前的环境中。