TensorFlow详细配置(Python版本)

news2024/11/18 12:18:23

文章目录

  • 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)

在这里插入图片描述

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)

在这里插入图片描述

其他问题

在这里插入图片描述

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

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\__init__.py", line 41, in <module>
    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 <module>
    from tensorflow.python.eager import context
  File "C:\Users\qq978\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\eager\context.py", line 32, in <module>
    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 <module>
    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 <module>
    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 <module>
    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 <module>
    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 <module>
    _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

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文档中提供的链接以获取有关建议的解决方法的更多信息。

解决方法:pip install protobuf==3.20.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/660672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51 最佳实践-安全最佳实践-qemu-ga

文章目录 51 最佳实践-安全最佳实践-qemu-ga51.1 概述51.2 操作方法 51 最佳实践-安全最佳实践-qemu-ga 51.1 概述 qemu-ga&#xff08;Qemu Guest Agent&#xff09;它是运行在虚拟机内部的守护进程&#xff0c;它允许用户在host OS上通过QEMU提供带外通道实现对guest OS的多…

【面试】线上Java程序占用 CPU 过高请说一下排查方法?

文章目录 前言模拟一个高 CPU 场景排查步骤第一步&#xff0c;使用 top 找到占用 CPU 最高的 Java 进程第二步&#xff0c;用 top -Hp 命令查看占用 CPU 最高的线程第三步&#xff0c;保存线程栈信息第四步&#xff0c;在线程栈中查找最贵祸首的线程 前言 这个问题可以说是 Ja…

【java】JDK21 要来了

文章目录 前言更丝滑的并发编程模式虚拟线程&#xff08;Virtual Threads&#xff09;结构化并发&#xff08;Structured Concurrency&#xff09;作用域值&#xff08;Scoped Values&#xff09; 试验一下虚拟线程的例子结构化编程的例子Scoped Values 的例子 前言 不过多久&…

算法与数据结构——递归算法+回溯算法——八皇后问题

八皇后问题 八皇后问题是一个经典的回溯算法问题&#xff0c;目的是在88的国际象棋棋盘上放置八个皇后&#xff0c;使得没有皇后可以互相攻击&#xff08;即没有两个皇后在同一行、同一列或同一对角线上&#xff09;。 回溯算法是一种解决问题的算法&#xff0c;它通过尝试所有…

软件质量保障QA

软件质量保障 目录概述需求&#xff1a; 设计思路实现思路分析1.alibaba guileline2.ckeckstyle3.findBugs4.PMD5.SourceMononiot 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness…

2014年全国硕士研究生入学统一考试管理类专业学位联考英语(二)试题

2014年全国硕士研究生入学考试英语(二)试题 Section I Use of English Directions:   Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on ANSWER SHEET. (10 points)   Thinner isn’t always better. A number of st…

软考A计划-网络工程师-交换机与路由器的配置

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

MyBatis­-Plus入门

目录 1.特性&#xff1a; 2.mybatis-plus 快速使用 3.mybatis与mybatis-plus实现方式对比 4.BaseMapper接口介绍 5.mybatis-plus中常用的注解 7.全局ID生成策略 8.逻辑删除&#xff08;1&#xff1a;局部逻辑删除&#xff1b;2&#xff1a;全局逻辑删除&#xff09; 8.…

Java代码质量分析Sonar

目录 1. sonar安装1.1 简介1.1.1 客户端1.1.2 sonar 版本区分1.1.2.1 社区版1.1.2.2 开发者版1.1.2.3 企业版 1.2 安装部署1.2.1 修改文件句柄数1.2.2 创建挂载目录1.2.3 创建docker-compose.yml1.2.4 启动1.2.4.1 访问测试 1.2.5 安装插件1.2.5.1 汉化插件 1.3 静态分析插件介…

新手快速搭建springboot项目

一、创建项目 1.1、创建项目 1.2、配置编码 1.3、取消无用提示 1.4、取消无用参数提示 二、添加POM父依赖 <!-- 两种方式添加父依赖或者import方式 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-p…

redis-conf

1 大小写不敏感 2 包含文件 3 网络 4 通用配置 5 快照 6 复制 -----待补充 7 安全 security 8 限制 clients 9 APPEND ONLY MODE aof模式

OpenCV项目开发实战-- 将一个三角形变形为另一个三角形 ( C++ / Python )代码实现

文末附基于Python和C++两种方式实现的测试代码下载链接 图 1:左图中蓝色三角形内的所有像素都已转换为右图中的蓝色三角形。 在本教程中,我们将看到如何将图像中的单个三角形变形为不同图像中的另一个三角形。 在计算机图形学中,人们一直在处理扭曲三角形,因为任何 3D 表…

hadoop集群三之hive安装

这里记录下自己使用虚拟机详细安装hive的过程&#xff0c;在安装hive之前需要保证咋们已经安装好了hadoop&#xff0c;没有的话可以参考我之前的安装的流程 安装mysql # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 rpm -Uvh http…

初识 Linux 进程

问题 strace 输出中的 execve(...) 究竟是什么&#xff1f; 进程生命周期 操作系统内部定义了进程的不同状态 Linux 进程基本概念 进程是 Linux 任务的执行单元&#xff0c;也是 Linux 系统资源的分配单元 每个 Linux 应用程序运行后由一个或多个进程构成 每个 Linux 进程可…

对称密钥【密码学】(四)

一、前言 在使用单向散列函数校验数据完整性时&#xff0c;需要保证原始的散列值不能被更改。 因此&#xff0c;在很多场景下&#xff0c;我们并不能仅仅通过单向散列函数来解决完整性问题&#xff0c;还需要其他技术来解决这个问题&#xff0c;如加密技术。 本篇博客就来介绍…

CloudFlare系列--使用第三方来自定义CSDN的IP(蓝精灵)

原文网址&#xff1a;CloudFlare系列--使用第三方来自定义CSDN的IP(蓝精灵)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍CloudFlare的CDN如何自定义第三方IP。 概述 CloudFlare官网接入域名的方式只能是 NS 接入&#xff0c;这样默认DNS服务器只能改为CloudFlare的DNS服…

从零开始Vue项目中使用MapboxGL开发三维地图教程(七)创建一个自动旋转的地球、添加一个3D模型、实现在两个地图之间滑动和同步来比较两个地图

目录 1、创建一个自动旋转的地球地图2、添加一个3D模型3、一个页面创建两个底图之间滑动 1、创建一个自动旋转的地球地图 实现功能&#xff1a;地球仪和camera动画结合在一起&#xff0c;创建旋转行星效果。 实现思路&#xff1a;通过在动画结束时调用easeTo&#xff0c;旋转…

软考A计划-网络工程师-IP,TCP,UDP,ICMP报头

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

YOLOv5/v7 添加注意力机制,30多种模块分析⑤,SOCA模块 ,SimAM模块

目录 一、注意力机制介绍1、什么是注意力机制&#xff1f;2、注意力机制的分类3、注意力机制的核心 二、SOCA模块1、SOCA模块的原理2、实验结果3、应用示例 三、SimAM模块1、SimAM模块的原理2、实验结果3、应用示例 大家好&#xff0c;我是哪吒。 &#x1f3c6;本文收录于&…

Vue 面试题

一、对于MVVM的理解&#xff1f; MVVM 是 Model-View-ViewModel 的缩写。 1、Model 代表数据模型&#xff0c;也可以在Model中定义数据修改和操作的业务逻辑。 2、View 代表UI 组件&#xff0c;它负责将数据模型转化成UI 展现出来。 3、ViewModel 监听模型数据的改变和控制…