您现在的位置是:首页 > 技术教程 正文

TensorFlow详细配置(Python版本)

admin 阅读: 2024-03-20
后台-插件-广告管理-内容页头部广告(手机)

文章目录

  • TensorFlow详细配置(Python版本)
    • 安装Python环境(Python全家桶 Anaconda3)
    • 环境配置
    • TensorFlow官网对照表
    • CUDA安装
    • cuDNN 安装
    • TensorFlow安装
    • Jupyter Notebook使用方法
    • 其他问题


TensorFlow详细配置(Python版本)

安装Python环境(Python全家桶 Anaconda3)

  • 最新版下载地址: download

  • 旧版本下载地址:download
    在这里插入图片描述

  • 下载后直接安装
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

一直下一步,安装完成。

环境配置

在这里插入图片描述

测试是否安装成功:
打开cmd
输入指令: python //查询Python版本 和
输入指令: conda --version或者输入conda info也行 //查询conda信息
在这里插入图片描述

简单过程如下

    1. 改变anaconda默认python版本:首先创建一个名为python39的环境,指定的Python版本是3.9。

在命令行里输入: conda create --name python39 python=3.9(默认路径安装,一般都是C:\盘)

conda create --prefix=D:\ProgramData\anaconda3\envs\python39 python=3.9(指定路径安装)

  • 2、等待等待再等待! 等待更新完,然后输入以下命令。 (因为要把python3.9的相关包下载下来,所以比较慢,请耐心等待)

  • 3、
    在这里插入图片描述

  • 要激活该环境,请使用:conda activate D:\ProgramData\anaconda3\envs\python39

  • 停用该环境,请使用: conda deactivate D:\ProgramData\anaconda3\envs\python39

  • 4、python --version 可以看到,系统已经切换到了3.9的环境
    在这里插入图片描述在这里插入图片描述

4、对虚拟运行环境的补充操作

(1)如果要删除我们配置的新环境,则:
conda env remove -n env_name (env_name:指要删除的环境的名字) 例:conda env remove -n TF2.9 (删除TensorFlow2.9版本)
(2)显示所有环境:
conda env list
(3)当分享代码的时候,同时也需要将运行环境分享给大家,执行如下命令可以将当前环境下的 package 信息存入名为 environment 的 YAML 文件中。
conda env export > environment.yaml
(4)当执行他人的代码时,也需要配置相应的环境。这时你可以用对方分享的 YAML 文件来创建一摸一样的运行环境。
conda env create -f environment.yaml
在这里插入图片描述

改变Anaconda 默认Python版本(注意:前提是要先下载其他Python版本,上面已介绍)
在这里插入图片描述

TensorFlow官网对照表

地址:https://tensorflow.google.cn/install/source_windows?hl=zh-cn

CPU版本:
在这里插入图片描述

GPU版本:
在这里插入图片描述

CUDA安装

在显卡驱动被正确安装的前提下,在命令行里输入nvidia-smi.exe,效果如图所示
在这里插入图片描述

注意:可以看到显示CUDA Version为11.7,说明该显卡最高支持到11.7, 你也可以选择更低的版本比如 11.6,11.5更低的版本

cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述

安装cuda:
一直下一步安装即可,安装完成后。
在这里插入图片描述

现在需要重启电脑,然后Win+R进入cmd界面,输入nvcc -V,出现如下界面,代码cuda已经安装成功了。
注:必须要重启电脑,否则运行nvcc -V 会找不到命令。

cuDNN 安装

cuDNN下载地址:
https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述

对下载的cuDNN压缩包解压后出现如下三个文件夹子,
在这里插入图片描述

配置环境变量:
在这里插入图片描述

Windows10检查Cuda和cuDNN是否安装成功?

1 .首先win+R进入CMD,在命令行输入nvcc -V,如下图所示,则表示cuda已经安装成功。
在这里插入图片描述

2 .进入到cuda的安装路径,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite,找到如下两个.exe文件:
在这里插入图片描述

首先执行:deviceQuery.exe,查看是否出现如下界面:

在这里插入图片描述

然后执行bandwidthTest.exe,出现如下界面,则代代表cuDNN也安装成功。
在这里插入图片描述

cuda和cudnn完整安装步骤地址:
https://blog.csdn.net/jhsignal/article/details/111401628

tensorflow官网安装教程
https://tensorflow.google.cn/install/pip?hl=zh-cn

TensorFlow安装

更新最新pip指令
pip install --upgrade pip
显示tensorflow
pip show tensorflow
卸载tensorflow
pip uninstall tensorflow

安装TensorFlow-GPU
根据上文中的TensorFlow-GPU版对照表,我们可以选择安装TensorFlow-GPU2.6.0。

这里再次提醒自行搭配版本的读者,一定要看清对照表内python = 3.9、tensorflow-gpu = 2.6、cudnn = 8.1、cuda=11.2这四者之间的版本号是否匹配!!!若版本不匹配只能删除重下!!!

这里博主选择的是TensorFlow-GPU2.6.0这个版本。选择好后进入cmd,输入命令
conda create -n tf2

此时在anaconda内创建一个名为tf2的虚拟环境,输入命
conda activate tf2

进入tf2环境内,创建环境后输入以下命令
gpu:pip install tensorflow-gpu==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
cpu:pip install tensorflow==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
其中-i 参数指明了下载源,这里依然使用了清华的镜像节点,以获得较快的下载速度。

当然也可以使用conda命令来下载tensorflow,只需要输入
conda install tensorflow-gpu==2.6.0

gpu版本安装:
在这里插入图片描述

cpu版本安装:
在这里插入图片描述

测试:

import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices('GPU')) print(tf.config.list_physical_devices('CPU')) tf.test.is_gpu_available() #true (表示:优先使用GPU)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

Jupyter Notebook使用方法

在这里插入图片描述在这里插入图片描述

输入一些代码执行测试:

import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices('GPU')) print(tf.config.list_physical_devices('CPU')) tf.test.is_gpu_available() #true (表示:优先使用GPU) x=[[1,]] m=tf.matmul(x,x) print(m)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

其他问题

在这里插入图片描述

import tensorflow as tf
执行后->遇到的错误:

Traceback (most recent call last): File "", line 1, in File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\__init__.py", line 41, in from tensorflow.python.tools import module_util as _module_util File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\__init__.py", line 40, in from tensorflow.python.eager import context File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\eager\context.py", line 32, in from tensorflow.core.framework import function_pb2 File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\core\framework\function_pb2.py", line 16, in from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2 File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2 File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2 File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 16, in from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2 File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\core\framework\tensor_shape_pb2.py", line 36, in _descriptor.FieldDescriptor( File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\google\protobuf\descriptor.py", line 561, in __new__ _message.Message._CheckCalledFromGeneratedFile() 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. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

chatgpt回答:

错误提示表明您使用的TensorFlow包存在问题。似乎由TensorFlow使用的Protocol Buffers(protobuf)生成的代码已过时,并且与当前安装的TensorFlow包版本不兼容。 错误提示提供了一些可能的解决方案: 1. 重新生成生成的代码:如果错误发生在_pb2.py文件中,您需要使用至少3.19.0版本的`protoc`(Protocol Buffers编译器)重新生成该文件。通常,这涉及运行类似于`protoc --python_out=. your_proto_file.proto`的命令,以从.proto文件生成Python代码。确保您安装了最新版本的`protoc`。 2. 降级protobuf包:如果立即无法重新生成代码,可以尝试将protobuf包降级到3.20.x版本或更低版本。您可以使用像pip这样的软件包管理器来安装特定版本的protobuf包,例如:`pip install protobuf==3.20.0`。 3. 使用纯Python解析:将环境变量`PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION`设置为`python`。这种解决方法使用纯Python解析Protocol Buffers,可能速度较慢,但可以帮助绕过错误。您可以在运行Python代码之前设置该变量,例如:`export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python`。 请确保按照错误消息中的说明进行操作,并参考TensorFlow文档中提供的链接以获取有关建议的解决方法的更多信息。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

解决方法:pip install protobuf==3.20.0

在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索