深度学习笔记(二)——Tensorflow环境的安装

本篇文章只做基本的流程概述,不阐述具体每个软件的详细安装流程,具体的流程网上教程已经非常丰富。主要是给出完整的安装流程,以供参考

环境很重要

一个好的算法环境往往能够帮助开发者事半功倍,入门学习的时候往往搭建好环境就已经成功了一半。
在机器学习或者深度学习的设计研究中,人们往往会使用已经有的网络框架来构建网络模型和设计各种识别分类或者生成算法。
主要可以给我们学习和使用的框架这里推荐两个:Tensorflow或者Pytorch。
当然也有很多其它优秀的框架等待我们学习和使用,例如国内有百度的PaddlePaddle飞桨、Caffe等。后面的内容我们首先在Tensorflow或者Pytorch上开展,毕竟这是大家使用最多的两个框架。
下面是一些主流的网络框架及其标志
在这里插入图片描述

1、安装Python

安装python想必各位都已经看过网上各种各样的教程了。但是这里还是多说一句,希望大家无论在windows平台还是linux平台上,都安装conda等环境管理工具使用。学习的过程中往往需要复现他人的大量算法,学习别人撰写代码的经验,所以会经常安装不同类型的环境,使用conda能够极大的便捷我们在环境上的使用。关于python的安装版本,在研究19年以前的算法上推荐使用python3.6,近几年的算法则3.7 3.8均可。安装conda时注意系统环境变量的设置。
常用的conda命令和pip安装命令可以参考:

conda常用命令

2、需要一个好用的IDE或者编辑器

这里推荐使用Pycharm或者VSCode,提示一下,Pycharm的专业版对学生可以申请免费使用, 用学信网的学历认证进行申请,每次更新一次。当然,也完全可以使用免费的VSCode

3、对于GPU设备,安装CUDA工具包

如果你的设备有英伟达的CPU设备,那么你可以进一步安装CUDA和cuDNN,CUDA是利用GPU中CUDA进行计算的关键软件和驱动,cuDNN则专门针对深度学习提供了一些开发接口,二者是利用GPU进行深度学习的关键,同时CUDA和cudnn的版本之间存在严格对应关系。
在这里插入图片描述
上图是英伟达官网的版本要求,特点要关注表格第一列和第二列。下载对应版本的CUDA和cudnn安装。
考虑实际,往往会安装多个CUDA版本来适应不同版本的深度学习框架,注意安装时在系统环境变量中设置清楚。
对windows用户,安装CUDA前最好安装Visual Studio并安装C++工作负载。新卡安装2019,旧卡安装2017(当然VS得选项并非必要条件,如果以后想深入学习NN算法,那最好先行安装一个。后面的内容默认安装了19,或17的任何一个版本,来对windows提供完整的C++支持
在这里插入图片描述
值得注意:在最新的RTX30系列显卡以及之后的显卡中不在支持CUDA11以前的版本。意味着CUDA10.0和10.1,10.2三个大版本将无法直接在新显卡使用,Tensorflow2.4.0以及之前版本,Pytorch1.7.1及以前的版本无法正常使用,如果有需要可以在英伟达官网下载适配新卡的专用包安装使用。
安装cuda前请先明确是否有特定的版本限制,深度学习框架一搬均有特定版本cuda限制。

4、给python安装相关包

在正确安装conda后,这里我们举例构建一个初学Tensorflow的基础环境
第一步,创建虚拟环境并打开虚拟环境:

# bash / Shell
conda create -n tensorflow260 python=3.7conda activate tensorflow260

第二步,安装相关工具包,以下未指定版本,pip将安装最新版本,只适用学习,复现程序时需要安装指定版本的包,这步在环境配置中及其重要,正确安装完整的,对应版本的包是后续研究的基础。

# bash / Shell
# 跟新pip
pip install --upgrade pip# 检查当前环境中包情况,并无任何ERROR和WORNING
pip list# 直接安装指定版本tensorflow:pip install tensorflow==x.x.x 
pip install tensorflow
# pip会自动安装需要的各种依赖包,下载过慢的话可以选择切换下载服务器(下例为中科大镜像):
pip install tensorflow -i https://pypi.mirrors.ustc.edu.cn/simple/# 安装TensorBord
pip install tensorbord#	安装绘图工具
pip install matplotlib# 安装机器学习常用库
pip install scikit-learn

5、TensorFlow旧版本对CUDA的支持情况

在安装旧版本TensorFlow前需要先安装对应的CUDA和cudnn。
在这里插入图片描述

6、检查环境

检查cuda:

# 查看cuda版本
nvcc -V

检查cudnn,在cuda安装目录中执行测试程序,例如在路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite下执行bandwidthTest.exe和deviceQuery.exe,不报错则说明安装成功。

检查tensorflow对gpu支持

# 激活虚拟环境后:
pythonimport tensorflow as tf
# tensorflow1,如果返回True则说明安装成功
print(tf.test.is_gpu_available())
# tensorflow2,如果列表不为空说明成功
print(tf.config.list_physical_devices('GPU'))

未写完,24/1/10

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask 菜品管理

common/libs/Helper.py getDictFilterField() 方法 用于在web/templates/food/index.html中展示菜品分类 如何能够通过food里面的cat_id获取分类信息呢?只能通过for循环,这样会很麻烦,所以定义了这个方法。 这个方法可以的查询返回结果…

Word2007导出PDF的正确做法

客户让做个一程序,从Excel读出数据,经过统计、计算生成PDF文档。我的做法是中间安装模板生成Word文档,然后在导出为PDF。 程序完成后需要测试,客户的环境是Win10Office2007。我用虚拟机搭建了环境,发现Word2007竟然无…

Open CASCADE学习|创建拓朴

目录 1、创建点gp_Pnt 2、创建向量gp_Vec 3、创建边TopoDS_Edge 4、线网络TopoDS_Wire 5、面TopoDS_Face 6、体TopoDS_Shape OpenCascade中的拓朴实体如下图所示,其中Compound可以包含很多Solid;Solid由Shell包围而成;Shell由相连的Fac…

用React给XXL-JOB开发一个新皮肤(一):环境搭建和项目初始化

目录 一. 简述二. Fork 项目三. 搭建开发环境四. 初始化皮肤项目五. 添加相关依赖六. 预览 一. 简述 大名鼎鼎的 xxl-job 任务调度中心我们应该都使用过,项目地址:xxl-job。它是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单…

听劝,年度规划有它真的很必要!

2024年的时间进度条已走过一周,完成全年的1/52。 新年的flag悄然立下:愿逆风如解意,税后八个亿。 在不确定的世界中,发财暴富终归是确定的目标。 相比2023年的卷,年底的即兴生活正在悄悄上演,上一秒还在…

ISIS基本概率与配置(HCIP完整版)

目录 一、ISIS协议基础 1、ISIS概述(认识ISIS) 2、ISIS的应用 4、ISIS的工作过程 5、ISIS路由器的类型 6、ISIS区域 7、ISIS报文 8、ISIS基础配置 9、进程号: 10、NET地址 11、ISIS邻居关系 二、邻居表分析 1、ISIS邻居表字段解析…

Java8 Stream集合的筛选、归约、分组、聚合讲解

目录 1 Stream概述 2 Stream的创建 3 Stream的使用 3.1 Optional 3.2 案例 3.2.1 遍历/匹配(foreach/find/match) 3.2.2 筛选(filter) 3.2.3 聚合(max/min/count) 3.2.4 映射(map/flatMap) 3.2.5 归约(reduce…

网络协议攻击与模拟_02ARP协议

一、arp协议简介 一个工作在二层的三层协议,事一个2.5层协议 ARP协议地址解析协议,将一个已知的Ip地址解析为MAC地址,从而进行二层数据交互 二、工作流程 1、两个阶段 ARP请求ARP响应 两台主机IP地址主机A和主机B,IP地址和MAC…

vivado 工程管理

管理项目 打开项目 当项目打开时,Vivado IDE会从项目已关闭。项目状态包括当前源文件顺序、已禁用和已启用 源文件、活动约束文件和目标约束文件,以及合成、模拟和实现运行。要打开项目,请使用以下方法之一: •在“入门”页面…

C++ 多态以及多态的原理

文章目录 多态的概念多态的构成条件虚函数的重写虚函数重写的两个例外 重载、重写(覆盖)、重定义(隐藏)对比C11 final 和 override关键字抽象类接口继承和普通继承多态的原理虚函数表多态的原理 单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表 多态的概念 …

LJ3405-红外热释电处理芯片

描述: LJ3405 是一款专为热释电红外传感器信号放大及处理输出的数模混合专用芯片,内部集成了运算放大器、 双门限电压比较器、参考电压源、延时时间定时器和封 锁时间定时器及状态控制器等,专用于防盗报警系统、 人体门控制装置、照明控制开关…

Word2Vec的CBOW模型

Word2Vec中的CBOW(Continuous Bag of Words)模型是一种用于学习词向量的神经网络模型。CBOW的核心思想是根据上下文中的周围单词来预测目标单词。 例如,对于句子“The cat climbed up the tree”,如果窗口大小为5,那么…