本博客内容为安装记录以及各种踩雷解决方法
版本:Windows 10,anaconda3-2021.11,tensorflow2.3,cuda 10.1,cudnn 7.6.5
基本按照下面这个核心教程执行
【2021新教程】win10如何安装tensorflow-gpu版本? - 知乎 (zhihu.com)
一、安装anaconda、cuda、cudnn
这部分不赘述(安装过程没有修改文件路径,完全默认,具体步骤和版本号与上述教程严格一致,我的电脑系统驱动版本比较高,因此对10.1的CUDA是兼容的)
其中anaconda的安装是按照核心教程推荐的这个严格执行,安装完成后也记得换源如下(这是上海交通大学源)
default_channels:
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/r
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/main
custom_channels:
conda-forge: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/
pytorch: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/
channels:
- defaults
【2022新教程】Windows 10如何安装anaconda?anaconda下载过慢怎么办?anaconda如何切换国内源? - 我的学习之路
如果换了这个,后面创建环境报错HTTPERROR
就换成
ssl_verify: true
show_channel_urls: true
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
按照教程安装好anaconda3,cuda 10.1,cudnn 7.6.5,
二、安装tensorflow2.3
在2、创建虚拟环境的过程中出现了问题
1、创建虚拟环境。输入以下命令。
conda create -n tensorflow2 python=3.7
这一步,不出意料的HTTP ERROR了
这里HTTP ERROR报错再常见不过了
1.如果你的报错代码是
Collecting package metadata (current_repodata.json): failed / Solving environment: failed
解决方法:参考这个教程的步骤二,即按照教程把libcrypto-1_1-x64.dll和libssl-1_1-x64.dll这两个文件复制过去
【anaconda】Collecting package metadata (current_repodata.json): failed / Solving environment: failed_miracleo_的博客-CSDN博客_collecting package metadata (current_repodata.json
【当在windows下面的Anaconda的命令行中运行 conda时,如果出现Collecting package metadata (current_repodata.json): failed
的错误提示,可以按照下面的方式来解决掉:把路径“Anaconda3/Library/bin ”下面的文件复制到路径“Anaconda3/DLLs”下:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll】
2.如果你的报错代码是这种
CondaHTTPError: HTTP 000 CONNECTION FAILED for url
那么参考这篇博客Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...... 解决过程 - tianlang25 - 博客园 (cnblogs.com)
解决办法在上述博客的结尾,把用户目录下的.condarc文件内容换成
ssl_verify: true
show_channel_urls: true
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
成功创建环境之后
然后激活虚拟环境
2、激活虚拟环境。
conda activate tensorflow2
到这为止,刚才3步都是在cmd里操作,现在激活好环境后我们关掉cmd,打开anaconda prompt
输入conda env list检查安装的环境,可以看到我们已经在刚才装好的anaconda中装好了名为tensorflow2的虚拟环境
(base) C:\Users\your name>conda env list
# conda environments:
#
base * C:\Users\your name\anaconda3
tensorflow2 C:\Users\your name\anaconda3\envs\tensorflow2
确认环境没有问题,我们输入activate tensorflow2进入环境,用python -V再次检查Python版本,是3.7没有问题
(base) C:\Users\your name>activate tensorflow2
(tensorflow2) C:\Users\your name>python -V
Python 3.7.15
然后就是安装tensorflow2.3了,这里和教程一样,pip安装
(tensorflow2) C:\Users\your name>pip install tensorflow==2.3
安装完成可以看到
检查是否安装完成,依次输入
python
import tensorflow as tf
tf.config.list_physical_devices('GPU')
如图所示反馈了自己的GPU,则表示安装成功。
有一种情况是,import tensorflow as tf报错如下
注意看报错信息的倒数几行
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
如果出现这个报错,参考
解决:TypeError: Descriptors cannot not be created directly_散一世繁华,颠半世琉璃的博客-CSDN博客
根据报错提示,把protoc升级了就行,像我需要升级到3.19.0以上就行
pip install protobuf==3.19.0