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

news2025/2/22 5:29:15

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

环境很重要

一个好的算法环境往往能够帮助开发者事半功倍,入门学习的时候往往搭建好环境就已经成功了一半。
在机器学习或者深度学习的设计研究中,人们往往会使用已经有的网络框架来构建网络模型和设计各种识别分类或者生成算法。
主要可以给我们学习和使用的框架这里推荐两个: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.7

conda 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支持

# 激活虚拟环境后:
python

import 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中应该包含:
在这里插入图片描述

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

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

相关文章

Nvidia-docker的基础使用方法

安装: 安装nvidia-docker: distribution$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.l…

指定Top名校|管理学教师拜师香港理工大学院士麾下访学

X老师拟自费赴香港访学,并指定了香港Top5之内的高校。申请一个月后,我们落实了香港理工大学的访学职位,导师为香港工程科学院和国际系统与控制科学院的两院院士、讲座教授。 X老师背景: 申请类型:自费访问学者 工作背…

spring boot学习第八篇:通过spring boot、jedis实现秒单

参考:Redis实现分布式锁的7种方案 - 知乎 1、 准备数据库表,如下SQL表示库存表,有主键ID和库存数量字段 CREATE TABLE t_stock (id bigint(20) NOT NULL AUTO_INCREMENT,quantity bigint(20) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…

【1】SM4 CBC-MAC 机制

0x01 题目 MSG1: e55e3e24a3ae7797808fdca05a16ac15eb5fa2e6185c23a814a35ba32b4637c2 MAC1: 0712c867aa6ec7c1bb2b66312367b2c8 ----------------------------------------------------- MSG2: d8d94f33797e1f41cab9217793b2d0f02b93d46c2ead104dce4bfec453767719 MAC2: 4366…

CentOS安装maxwell

CentOs安装maxwell 一、简介二、准备工作三、安装1、下载安装包2、解压3、编写配置文件4、启动maxwell5、验证6、停止maxwell 四、说明1、更新数据2、插入数据3、删除数据 五、遇到问题 一、简介 maxwell是由美国Zendesk公司开源,它通过读取mysql的binlog日志&#…

Video 不支持微信小程序的show-bottom-progress属性

原文地址:Video 不支持微信小程序的show-bottom-progress属性-鹭娃网络 相关平台 微信小程序 小程序基础库: 2.20.1使用框架: React 复现步骤 import { Video} from tarojs/components; 渲染一个Video播放视频,无法隐藏手机屏幕最底部的进度条&#…

Kubernetes (K8S) 3 小时快速上手 + 实践

1. Kubernetes 简介 k8s即Kubernetes。其为google开发来被用于容器管理的开源应用程序,可帮助创建和管理应用程序的容器化。用一个的例子来描述:"当虚拟化容器Docker有太多要管理的时候,手动管理就会很麻烦,于是我们便可以通…

Mysql 数据库DQL 数据查询语言 SELECT 基本查询、条件查询、聚合查询、分组查询、排序查询、分页查询——包含DQL所有查询语句。吐血分享。

DQL:数据查询语言;用来对表内的数据进行查找。Database Query Language SQL语句分为:基本查询、条件查询、聚合查询、分组查询、排序查询、分页查询。 1、基本查询 1.1、查询多个字段 SELECT 字段1,字段2,...FROM 表名; SELEC…

力扣hot100 杨辉三角 递归 DP

Problem: 118. 杨辉三角 文章目录 思路复杂度💖 DP💖 从下往上递归 思路 👨‍🏫 参考地址 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例: O ( n ) …

Flutter首页框架搭建

1.下载flutter 2. 安装android 3.配置环境变量 关于环境搭建部分,哪天写一下,日志杂乱无章。 打开android studio 新建项目,选择flutter 新建文件夹创建 navigator和pages 文件夹下分别创建文件,tab_navigator.dart&#xff…

GAMES104-现代游戏引擎:从入门到实践 - 物理引擎课程笔记汇总

文章目录 0 入门资料1 物理引擎基本概念Actor & shapesRigid body dynamicsCollision DetectionCollision Resolution 应用与实践Character controllerRagdoll 0 入门资料 GAMES104-现代游戏引擎:从入门到实践_课程视频_bilibiliGAMES104官方账号 - 知乎课程主页…

Python密码本连接wifi

有时候我们会忘记自己的Wi-Fi密码,或者需要连接某个Wi-Fi网络以满足合法需求。本文将介绍如何使用Python编程语言编写一个简单的连接Wi-Fi的程序。 一、密码本准备 在进行wifi猜测时,其实就是列出各种可能的密码,用来尝试去访问目标wifi&…

8个Python必备的PyCharm插件

大家好,在PyCharm中浏览插件列表并尝试很多人推荐的插件后,总结了几个瑰宝插件,它们各自以独特的方式帮助开发者快速、简便、愉悦地开发,接下来将逐个介绍它们。 1. Key Promoter X 【下载链接】:https://plugins.je…

day2:TCP、UDP网络通信模型

思维导图 机械臂实现 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct so…

jmeter--8.加密传输

目录 1. Base64加密 2. MD5加密 3. SHA加密&#xff08;sha1\sha\sha224\sha256\sha384\sha512&#xff09; 4. RSA加密-公钥加密&#xff0c;私钥解密 1. Base64加密 1.1 在需要加密传输的接口下新增BeanShell 预处理程序&#xff0c;${username}可替换成value值&#xff…

【Git】任何位置查看git日志

需求 现需要查看指定项目中的某个文件的 Git 日志。如有 项目代码 jflowable &#xff0c;需要查看其下文件 D:\z_workspace\jflowable\src\main\java\com\xzbd\jflowable\controller\TestController.java 的日志。 分析 一般的思路是&#xff0c;进入 jflowable 项目&#…

微软.NET、.NET Framework和.NET Core联系和区别

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;看到不少初学者在学习编程语言的过程中如此的痛苦&#xff0c;我决定做点什么&#xff0c;我小时候喜欢看小人书&#xff08;连环画&#xff09;&#xff0c;在那个没有电视、没有手机的年代&#xff0c;这是…

2024华数杯国际赛A题16页完整思路+五小问py代码数据集+后续高质量参考论文

这回带大家体验一下2024“华数杯”国际大学生数学建模竞赛呀&#xff01; 完整内容获取在文末 此题涉及到放射性废水从日本排放到海洋中的扩散问题&#xff0c;以及对环境和人类健康的潜在影响。 ## 问题重述 1. **预测污染范围和程度&#xff1a;** - 使用数学模型描述放射性…

maven导入无法拉取所需依赖

maven导入无法拉取所需依赖 1.原因2.解决搞定收工&#xff01; 1.原因 公司使用的是gradle&#xff0c;配置的私有云&#xff0c;maven里面配置私有云完全使用不了&#xff0c;无论配置国内还是国外的&#xff0c;导入的项目报错拉不到jar包。 <mirror><id>mirro…

晶振线路匹配需要进哪一些测试

晶振线路匹配的测试对于确保晶振性能的稳定性和可靠性至关重要&#xff0c;那么晶振线路匹配需要进哪一些测试呢? 晶振线路匹配测试是确保晶振性能稳定性和可靠性的关键环节。为了全面评估晶振的性能&#xff0c;需要进行一系列的测试&#xff0c;包括负载电容测试、驱动电平…