在linux服务器配置pytorch以及compressAi的安装
安装pytorch环境
首先使用conda创建新环境(python和cuda版本根据自己服务器类型选择)
conda create -n env_name python=3.8 cudatoolkit=10.1 cudnn
然后在新环境安装相应版本的pytoch,(可去官网查找安装命令)https://pytorch.org
我试试
pip install torch==1.9.1+cu102 torchvision==0.10.1+cu102 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
安装教程
https://blog.csdn.net/qq_42281425/article/details/112461553
遇到的问题
因为源在国外的缘故下载速度比较慢,因此我科学网先下载到conda的cache里,然后关闭科学网重新运行安装命令,会自动从缓存里安装,这样就安装完成了。
另外,如果用的是清华源,那么容易下载为cpu版本。
下载compressai
安装好后激活自己的虚拟环境
conda activate my_env
然后cd 到要安装的目标目录下(因为服务器是实验室共同的,为了防止混乱)
现在linux服务器和mac可以直接使用 pip install compressai 下载 直接结束
要在服务器中使用命令
git clone https://github.com/InterDigitalInc/CompressAI compressai
下载compresai的安装包,然后进入compressai目录
cd mypath/compressai
pip install -U pip
#升级系统中已安装的 pip 工具
pip install -e .
#指定当前目录下的包以可编辑的方式安装(记得最后这个.不要漏掉)
- 该指令在实验室服务器安装一直出现问题
ERROR: Failed to build installable wheels for some pyproject.toml based projects (compressai)
并且提示 Building editable for compressai (pyproject.toml) did not run successfully. - 我的解决方案是:
1pip install pyproject
安装所需要的库
2python -m pip cache purge
清除缓存
然后还不行,发现一条提示 "Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/"
去安装就可以了可以参考博客 https://blog.csdn.net/u013185349/article/details/130060598
接下来可以直接配置依赖了:
根据requirements.txt安装依赖包
conda install --file requirements.txt
#不知为何我的下载不了
或者
pip install -r requirements.txt
接下来cd 到examples 子目录下运行
python codec.py --help
检验是否可运行
最后 如果下载了别人论文里的模型,还要去cd到他的目录里重新跑一遍requirements.txt 要不然找不到compressai(不知道这是为什么?)
最后检验本地配置是否可行
import torch
print('CUDA版本:',torch.version.cuda)
print('Pytorch版本:',torch.__version__)
print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
print('显卡数量:',torch.cuda.device_count())
print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持')
print('当前显卡型号:',torch.cuda.get_device_name())
print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
print('当前显卡的总显存:',torch.cuda.get_device_properties(0).total_memory/1024/1024/1024,'GB')
print('是否支持TensorCore:','支持' if (torch.cuda.get_device_properties(0).major >= 7) else '不支持')
print('当前显卡的显存使用率:',torch.cuda.memory_allocated(0)/torch.cuda.get_device_properties(0).total_memory*100,'%')