前言
最近因为项目需要,需要在本地部署tensorflow-gpu环境;当时搜了挺多个教程,都大致无二,pip install 或者 conda install,然后安装cuda和cudnn,但是因为种种原因吧,在第一步的install俺就被迫止步了。后续通过查资料,学习conda install或者pip install 的实现,自己摸索出了一个相对简单的方法。
先直接讲步骤,之后会记录一些自己的收获。
步骤
-
查看conda支持的tensorflow-gpu的版本
conda search tensorflow-gpu
-
指定下载安装tensorflow-gpu的版本
conda install tensorflow-gpu=2.12.0
-
等待下载安装完成就行了,我当时是等了挺长时间的,一两个小时肯定有了,因为conda install本身就要慢一些
总结
-
直接执行
conda install tensorflow-gpu
指令,会自动安装conda默认频道中可用的最新版本,但这个版本可能不是 TensorFlow 的最新发布版本;我第一遍安装时,就是直接执行的该指令,结果安装的tensorflow-gpu是1.x版本的,结果代码中很多方法都不支持,所以只能重新下载安装;可以通过-c conda-forge 指定使用Conda Forge源,该源由专业社区成员维护,涵盖程序齐全且更新及时 -
conda install
并不是tensorflow-gpu的每个版本都支持,为了成功下载满足我们项目需要的版本,先查询conda支持的版本,也就是步骤中的第一步conda search tensorflow-gpu
,之后根据查询结果选择合适的版本安装 -
通过
pip isntall tensorflow-gpu
指令安装,通常为了下载速度我们会配置国内的镜像源。但是,我这次在下载的时候,会报错提示我未找到metadata,也就是说没有找到tensorflow-gpu的安装包;猜测有时候国内镜像源并不会及时更新各类第三方库,而且可能有些相对麻烦的第三方库它们也不会拉取到自己的源里 -
当你
pip install
第三方库不成功时,可以换成conda install
试试 -
在通过conda创建虚拟环境时,也会从默认频道中选择其默认的最稳定的python版本,并不一定是最新版本的python解释器,尤其是当Anaconda不是最新的anaconda时,最好还是指定python版本;如果anaconda偏老的话,一般通过conda指令下载的任何东西都会偏老,所以在通过conda指令下载时,一定要指定所需要的版本
-
当
pip install
和conda install
都无效时,可以去pypi官网手动下载 wheel 文件并安装,这是肯定可行的方法 -
在下载tensorflow-gpu时会自动下载cudnn和cudatoolkit两个依赖,基本可以满足tensorflow-gpu的需要,而不需要再额外下载cuda和cudnn,会省去一点麻烦
-
我在
conda install tensorflow-gpu=2.12.0
指令执行过程中,还遇到了因为网络问题导致下载的文件不完整,字节数与服务器提供的Content-Length
不匹配的问题,当时问了chatgpt建议我先清空conda缓存再重新下载。当时考虑到时间消耗,我没有清缓存,而是直接重新执行了一遍conda install tensorflow-gpu=2.12.0
,我发现,就只把缺失的文件重新下载了,不会重新全部下载。之后询问chatgpt得知:如果不清除 Conda 缓存并继续直接通过 Conda 指令下载,Conda 会检查缓存目录中是否已有相同名称的文件。如果文件名完全相同,Conda 通常不会重新下载,而是直接使用缓存中的文件。
以上都是我个人在本次tensorflow-gpu安装过程中的所得,所有收获均来自网上的资料及自己成功经验的合理猜测,如果有错误的地方,也欢迎大家指正!