看了网上好多教程,搞了好久没搞明白,好多教程都是18年19年的,很难跟上我python的版本,为了方便今后自己查看,本文以python3.9.17为例,搭建tensorflow环境,并在PyCharm中进行配置。
一、搭建tensorflow环境
首先判断自己的电脑显卡是A卡还是N卡,具体步骤为右击此电脑打开属性,在界面上找到设备管理器并打开,单击显示适配器的箭头,然后打开折叠选项,其中AMD开头的是A卡;NVIDIA开头的就是N卡。如果电脑是N卡,那么请移步别的教程,本文只讲A卡的环境搭建。
很多教程说在下载anaconda之前要卸载你之前下载过的python,但其实不用卸载你电脑上的python,直接下载anaconda就行。具体安装过程及配置环境变量看Anaconda安装-超详细版(2023)。
1.切换清华镜像源
配置tensorflow之前要安装好多包,需要从Anaconda仓库中下载,但一般软件默认的是国外的镜像源,下载速度比较慢,此时需要切换为国内的源,比如清华的镜像源。
打开刚刚下载的anaconda,找到Anaconda Prompt,复制以下代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
回车后再复制以下代码,切换为清华镜像源
conda config --set show_channel_urls yes
2.下载配置 numpy+mkl 模块和 protobuf 模块
口令为: pip install + 需要安装的模块,库
首先再下载安装tensorflow之前,需要下载两个模块分别为: numpy+mkl 模块,protobuf模块,原因参照文章python机器学习:搭建tensorflow环境,下载Keras库并在python中成功完成导入。pycharm的相关配置。
直接进行pip指令下载的numpy不是numpy+mkl版本的,但是官网下载较慢没有办法,如果你python版本是3.9的你就下numpy‑1.22.4+mkl‑cp39‑cp39‑win_amd64.whl,版本是3.8的就下numpy‑1.22.4+mkl‑cp38‑cp38‑win_amd64.whl,以此类推。(早上下载应该会快一点。)
然后在Anaconda Prompt中输入指令如:
pip install D:\anaconda\nu\numpy-1.22.4+mkl-cp39-cp39-win_amd64.whl
protobuf模块可以通过pip指令在Anaconda Prompt中直接下载
pip install protobuf
3.安装tensorflow
安装好numpy+mk模块和protobuf模块后,就可以安装Tensorflow了。
首先找到你python版本对应的tensorflow版本,具体版本参照在 Windows 环境中从源代码构建
例如我的python版本对应的tensorflow版本为2.6.0或2.5.0
在Anaconda Prompt中输入指令
conda create -n tensorflow python=3.9
出现Proceed ([y]/n)?
的提示时输入y即可,正常的情况如下所示
激活环境,在窗口中输入以下指令,进入tensorflow环境内
activate tensorflow
正常情况下如图所示
下载tensorflow模块,在窗口内输入以下指令
pip install --ignore-installed --upgrade tensorflow
直接pip install tensorflow
获取的tensorflow版本可能会不匹配,因此用上述指令可以直接寻找匹配合适的tensorflow版本。如果没有报错,则说明下载好了。
注:我这里之前用pip install tensorflow==2.6.0
下载tensorflow时报错了,大概率是版本不对应或不兼容,所以用pip install --ignore-installed --upgrade tensorflow
是最稳妥的方法。
4.验证环境是否配置完成
在窗口内输入python
后点击回车,调用python代码,如下图所示
输入
import tensorflow as tf
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
一般在输入import tensorflow as tf
没有报错的话说明环境已经建好了,如果验证完整,可以把代码输入完整。
输入exit()
跳出python环境
此时环境已经搭建完毕,打开anaconda navigator,点击环境,可以看到右侧那一栏里有搭建好的环境。
以上为安装过程,但是安装过程中通常会报错,我把报错的可能性基本都归结于版本不对应,我的万能语句指令有几个
unistall + 模块名
# 表示卸载版本不匹配的模块
pip install --ignore-installed --upgrade + 模块名
# 表示安装或更新匹配的模块
例如:unistall tensorflow
表示卸载tensorflow模块,pip install --ignore-installed --upgrade protobuf
表示匹配版本对应的protobuf版本
二、PyCharm中配置tensorflow环境
1.创建新的工程项目。
2.File—settings—Project:—Python Interpreter—Add Interpreter—System Interpreter—…
找到你创建的tensorflow环境下的python.exe,点击OK,再点击OK,将对应的环境加载进pycharm
回到原来的那个界面,系统会自己加载出来对应的东西,点击OK
3.测试环境运行
创建新的package,如图所示
再创建好的包下创建新的Python File,可以以在原来的包下直接创建Python File
创建好后键入以下代码
import tensorflow as tf
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
发现虽然可以运行出来结果,但是又好像有警告报错
这是由于配置的tensorflow是2.X的版本,但是运行的代码是1.X的版本,建议在代码开头加上两行新的代码,具体原因参考Tensorflow has no attribute ‘Session‘错误原因及解决方法,这篇文章中给出的代码也可以借鉴一下
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
整体代码示例:
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)