深度学习笔记(二)——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中应该包含:
相关文章:

深度学习笔记(二)——Tensorflow环境的安装
本篇文章只做基本的流程概述,不阐述具体每个软件的详细安装流程,具体的流程网上教程已经非常丰富。主要是给出完整的安装流程,以供参考 环境很重要 一个好的算法环境往往能够帮助开发者事半功倍,入门学习的时候往往搭建好环境就已…...

Java实现在线编辑预览office文档
文章目录 1 在线编辑1.1 PageOffice简介1.2 前端项目1.2.1 配置1.2.2 页面部分 1.3 后端项目1.3.1 pom.xml1.3.2 添加配置1.3.3 controller 2 在线预览2.1 引言2.2 市面上现有的文件预览服务2.2.1 微软2.2.2 Google Drive查看器2.2.3 阿里云 IMM2.2.4 XDOC 文档预览2.2.5 Offic…...

阿里云OSS上传视频,可分片上传
uniappH5实现 阿里云OSS上传视频 示例图: 上传视频完整示例代码: 使用npm安装SDK开发包,安装命令为 npm install ali-oss --save accessKeyId 和 accessKeySecret 还有 bucket 替换成你的就行。 multipartUpload 的第一个入参是&#x…...
Linux第三次课后作业
1.使用while和until语句编写脚本程序,计算1到100的和。 i1 s0 while(i<100) {sii} echo(s)sum0 i0 until test $num -eq 101 do #下面两个均为反斜杠 sumexpr $sum $i iexpr $num 1 done echo "the result is $sum"2.编写脚本程序备份用户指定的文件…...

WordPress后台仪表盘自定义添加删除概览项目插件Glance That
成功搭建WordPress站点,登录后台后可以在“仪表盘 – 概览”中看到包括多少篇文章、多少个页面、多少条评论和当前WordPress版本号及所使用的主题。具体如下图所示: 但是如果我们的WordPress站点还有自定义文章类型,也想在概览中显示出来应该…...

.Net6使用SignalR实现前后端实时通信
代码部分 后端代码 (Asp.net core web api,用的.net6)Program.cs 代码运行逻辑: 1. 通过 WebApplication.CreateBuilder(args) 创建一个 ASP.NET Core 应用程序建造器。 2. 使用 builder.Services.AddControllers() 添加 MVC 控…...

基于SpringBoot+Vue的时装服饰商城购物系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)
🌈个人主页:godspeed_lucip 🔥 系列专栏:C从基础到进阶 🏆🏆关注博主,随时获取更多关于C的优质内容!🏆🏆 C核心编程🌏1 内存分区模型🎄…...

pytest学习和使用-pytest如何进行分布式测试?(pytest-xdist)
1 什么是分布式测试? 在进行本文之前,先了解些基础知识,什么是分布式测试?分布式测试:是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享…...

虚拟ip可以解决所有的安全问题吗
虚拟IP(Virtual IP)是一种网络技术,可以把多台物理服务器或设备组合成一个逻辑集群,并且使用同一个IP地址对外提供服务。虚拟IP具有负载均衡、故障切换和高可用性等优势,同时还可以作为一种安全措施来增加系统的抗攻击…...

【数据库原理】(27)数据库恢复
在数据库系统中,恢复是指在发生某种故障导致数据库数据不再正确时,将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起,包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性,数…...
施工企业工程管理信息化、智能化需求分析
一、引言 随着科技的飞速发展,信息化、智能化技术正在逐步改变各行各业的工作方式。对于施工企业而言,传统的工程管理方式已难以满足现代工程项目的复杂需求。为了提高效率、降低成本并确保工程的安全与质量,施工企业工程管理迫切需要进入信…...

Centos7 安装与卸载mysql
卸载 ps ajx | grep mysql : 查看当前服务器是否有mysql 没有的话就不需要卸载咯。 centos7 通过yum下载安装包通常是以.rpm为后缀,rpm -qa 可以查看当前服务器上所有的安装包: rpm -qa | grep mysql | xargs yum -y remove :将查询到的mysql…...

ASP.NET Core 的 Web Api 实现限流 中间件
Microsoft.AspNetCore.RateLimiting 中间件提供速率限制(限流)中间件。 它是.NET 7 以上版本才支持的中间件,刚看了一下,确实挺好用,下面给大家简单介绍一下: RateLimiterOptionsExtensions 类提供下列用…...
Mysql字段的各种时间类型
DATE: 特点:存储日期,不包含时间。示例: CREATE TABLE example_date (id INT PRIMARY KEY, event_date DATE ); INSERT INTO example_date (id, event_date) VALUES (1, 2023-01-11); TIME: 特点:存储时间,不包含日…...

Armv8-R AArch32 architecture概念学习
提示 该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网文档为准。阅读该文章,可以先查看AArch64 Exception Model学习&…...

linux手动安装 vscode-server
适用场景 很多时候,我们需要在本机(比如windows)通过remote ssh访问远程服务器(一般是ubuntu),但经常出现 vscode 一直连不上远程服务器的情况,看一下 log: 这个log表示远程服务器…...

【Maven】009-Maven 简单父子工程搭建
【Maven】009-Maven 简单父子工程搭建 文章目录 【Maven】009-Maven 简单父子工程搭建一、需求说明1、结构2、第三方库 二、工程搭建1、父工程第一步:创建父工程第二步:引入公共依赖 lombok 和管理 hutool 依赖版本 2、公共子模块第一步:创建…...

verilog编程题
verilog编程题 文章目录 verilog编程题序列检测电路(状态机实现)分频电路计数器译码器选择器加减器触发器寄存器 序列检测电路(状态机实现) module Detect_101(input clk,input rst_n,input data,o…...

What is `addArgumentResolvers` does in `WebMvcConfigurer` ?
addArgumentResolvers 在SpringMVC框架中,主要用于向Spring容器注册自定义的参数解析器。在处理HTTP请求时,SpringMVC会使用这些参数解析器将请求中的数据(如查询参数、路径变量、表单数据等)转换并注入到控制器方法的参数中。 使…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...