当前位置: 首页 > news >正文

深度学习笔记(二)——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'))

应用实例

考虑tensorflow目前具有众多版本,所以后面相关的tf博客除非特殊说明,均使用以下软件环境:

cuda = 11.8	# CUDA也可以使用11.2版本
python=3.7
numpy==1.19.5
matplotlib== 3.5.3
notebook==6.4.12
scikit-learn==1.2.0
tensorflow==2.6.0
keras==2.6.0

同时在安装好CUDA后记得检查环境变量,系统PATH中应该包含:
在这里插入图片描述

相关文章:

  • ZooKeeper 实战(五) Curator实现分布式锁
  • 网络命令ping和telnet
  • electron桌面应用开发——快速入门教程
  • MongoDB-数据库文档操作(2)
  • 【GCC】6 接收端实现:周期构造RTCP反馈包
  • debian12部署Gitea服务之二——部署git-lfs
  • 2024年软考考试时间确定了!请收好
  • 连接世界:2024 年 5G 及未来技术趋势
  • Vue3+ElementPlus实例_select选择器(不连续搜索)
  • MySQL、Oracle 常用SQL:建表、建视图、数据增删改查、常用condition
  • WPF Converter转换器
  • 如何将github copilot当gpt4用
  • 8. 《自动驾驶与机器人中的SLAM技术》基于保存的自定义NDT地图文件进行自动驾驶车辆的激光定位
  • 如何进行产品的人机交互设计?
  • 十、Qt 操作PDF文件
  • SegmentFault for Android 3.0 发布
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • [译] React v16.8: 含有Hooks的版本
  • 【css3】浏览器内核及其兼容性
  • 〔开发系列〕一次关于小程序开发的深度总结
  • ECS应用管理最佳实践
  • JS笔记四:作用域、变量(函数)提升
  • nfs客户端进程变D,延伸linux的lock
  • redis学习笔记(三):列表、集合、有序集合
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • webgl (原生)基础入门指南【一】
  • 大快搜索数据爬虫技术实例安装教学篇
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 入口文件开始,分析Vue源码实现
  • 深入 Nginx 之配置篇
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ${ }的特别功能
  • (C#)获取字符编码的类
  • (二)Linux——Linux常用指令
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET CF命令行调试器MDbg入门(一)
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 简单实现MD5
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • @Autowired多个相同类型bean装配问题
  • @Transaction注解失效的几种场景(附有示例代码)
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [1127]图形打印 sdutOJ
  • [2016.7 day.5] T2
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Android 数据通信] android cmwap接入点
  • [Angular] 笔记 21:@ViewChild
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)