步骤
1.在命令行终端执行nvidia-smi
查看显卡信息
关于此命令详情查看博客: https://blog.youkuaiyun.com/ygq13572549874/article/details/138389815
查看得知服务器上CUDA 版本号:CUDA Version: 11.4,因此我选择低一版本的11.3
2.使用conda创建虚拟环境(同时指定python版本)
conda create -n EnvName python=3.7
此时自动下载pyhton,给我安装的是3.7.12版本
3.安装pytorch框架及相关组件
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
命令来自于Pytorch官方【感谢我帅气的师哥】:https://pytorch.org/get-started/previous-versions/
安装完pytorch及其组件后,执行train.py训练模型,报错如下【没报错不用看了】
from google.protobuf.pyext import _message ImportError
百度发现此文【有效】:https://blog.youkuaiyun.com/weixin_44806193/article/details/89474288
我的错误主要是前面提示信息和他的一致,即from google.protobuf.pyext import _message ImportError,发现可能是protobuf包的版本问题,于是
conda list protobuf
查看服务器protobuf包的版本信息
# Name Version Build Channel
libprotobuf 3.20.3 h3eb15da_0 conda-forge
protobuf 3.20.3 py37h6a678d5_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
包版本是3.20.3,并且是从清华大学开源软件镜像站下载的(看Channel),
参考上文降级了成3.6.0,不管用,重新使用pip3 install protobuf==3.20.3
安了 3.20.3,发现安装来源变了,不报错了,莫名其妙解决了啊哈哈哈哈 干了兄弟们!
# Name Version Build Channel
libprotobuf 3.20.3 h3eb15da_0 conda-forge
protobuf 3.20.3 pypi_0 pypi
知识点补充:
- Build 字段表示包的具体构建版本,Channel是包的来源渠道
-
PyPI是 Python 包的官方仓库,使用
pip install xx
可以安装包 -
conda-forge 专注于为 Conda 包管理器提供高质量的软件包
2.使用 conda 命令默认情况下是从 Conda 的渠道(如 defaults、conda-forge 、pytorch等)安装包,而不是从 PyPI,但也可以在Conda 环境中使用
pip
命令来安装 PyPI 上的包
不过有注意事项 -
优先使用 Conda 渠道:如果 Conda 渠道中有你需要的包,建议优先使用 Conda 渠道安装,因为 Conda 会更好地管理依赖关系和环境的一致性。
-
混合使用:同一个环境中混合使用 Conda 和 Pip 时,需要注意可能的依赖冲突。可以使用
conda list 和 pip list
命令来检查已安装的包及其版本