(五)人工智能应用--深度学习原理与实战--Linux系统Tensorflow平台搭建

news2025/1/11 16:44:50

作为使用最广泛的深度学习框架,TensorfLow支持Windows、Linux、MacOs等多种操作系统。Linux系统作为服务器部署环境十分常见,本章我们将学习在Linux操作系统下Tensorflow的安装及基于NVIDIA GPU的Cuda(GPU并行计算框架)、cudnn(深度学习加速平台)的安装配置。

主要学习内容:

  1. Linux平台下安装Python发行版Anaconda
  2. Linux平台下安装Tensorflow及cuda、cudnn的安装配置
  3. 编写测试代码,测试安装是否成功

一、安装Anaconda

Python环境建议使用Anaconda发行版,它是在数据科学和人工智能领域最常用的Python发行版本,整合了包括Numpy、Pandas、MatplotLib在内的大量常用的工具库,并整合了Jupyter Notebook。

请添加图片描述

第1步、进入Anaconda官方网站,下载Linux系统下所需版本的Anaconda,按以下步骤安装:
(1) 打开用户终端Terminal。
(2) 输入cd命令,进入Anaconda下载文件所在的位置。
(3) 输入bash命令,运行.sh文件。

请添加图片描述

第2步、按Enter键,出现软件许可协议内容,连续按Enter键阅读完,之后询问“你是否接受协议?”,输入yes,按Enter键确认。

请添加图片描述

第3步、选择安装位置或使用默认安装位置,确认后开始解压安装。
请添加图片描述

请添加图片描述

第4步、询问"是否初始化Anaconda3?"(即是否将Anaconda3加入操作系统的环境变量中),输入“yes”,回车。
如果这一步没有输入,则需要安装完毕后手工配置环境变量(见第7步)。

请添加图片描述

第5步、出现提示“Thank you for installingAnaconda3! ”,说明已经安装完毕。

请添加图片描述

第6步、验证Anaconda的安装及初始化是否完成:
重启终端,分别输入

python -V

conda -V

如果出现版本号,则表明安装及初始化成功;如果提示“未找到命令”,则需手工设置环境变量(见第7步)。

请添加图片描述

第7步、手工初始化Anaconda。

如果在安装过程中没有选择初始化Anaconda(第4步没有选择输入“yes”),安装完毕后可以手动将anaconda添加到环境变量中。

打开终端,输入:

sudo gedit ~/.bashrc

回车打开文体,在文件末尾输入

export PATH="/home/zzq/anaconda3/bin;$PATH"

(/home/zzq/anaconda3/bin替换成本机anaconda3的实际安装路径),点击Save,退出。
重启终端,按第7步的方法验证是否初始化成功。

请添加图片描述

二、安装Tensorflow

方法1、直接使用pip安装。
控制台下输入:

pip install tensorfLow==2.1.0

如果速度较馒,可以使用清华镜像:

pip install tensorflow==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

请添加图片描述

方法2、下载离线包(.whL文件),本地安装。

打开pypi.org网站,搜索tensorfLow,找到并下载相应版本。注意对应的python版本(cp+数字),这里我们下载的是Linux下python3.7 (cp37)的tensorfLow2.1.0版。

请添加图片描述

下载完毕后,使用“pip install文件名”进行安装。

安装完毕后,测试是否成功:打开Jupyter Notebook,新建文档,输入下列代码,看能否正确输出。

import tensortflow as tf

tf.print('Hello,tensorflow!')
tf.print(tf.__version__) # 输出tf的版本号

请添加图片描述

也可以直接在终端进入python提示符,输入上述代码进行测试。

三、安装Cuda

1、Cuda和cudnn分别是NVIDIA提供的并行计算和神经网络加速平台,如果计算机中有NVIDIA的GPU,则可以安装这两项以提升运算性能。

2、cudnn可以看做是Cuda针对神经网络的扩展计算库,需要先安装Cuda,然后再将cudnn拷入。

3、需要注意的是,Cuda、cudnn以及TensorfLow的不同版本间存在不兼容的情况,需下载旭互兼容的版本,否则会导致安装失败。本例中我们安装的TensorfLow版本是2.1.0,结合显卡的型号【(不同的NVIDIA显卡支持的Cuda版本也不同】可以使用Cuda10.1和cudnn7.6.5。

4、Linux下查看本机显卡支持的Cuda最高版本的方法如下:

打开终端,输入“nvidia-smi”
(需要事先安装好NVIDIA驱动),
查看本机支持的Cuda最高版本,不能安装高于此版本的Cuda。

请添加图片描述

5、下载安装Cuda

下载地址:

https://developer.nvidia.com/cuda-toolkit-archive

请添加图片描述

选择目标平台和安装类型,选好后下载,下载完成后按照安装说明进行安装。(deb是比较不容易出错的安装方式,建议选用)

请添加图片描述

请添加图片描述

6、配置Cuda环境变量

按步骤安装完毕后,配置Cuda环境变量;
输入

vim ~/.bashrc

添加以下内容:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/locaL/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

请添加图片描述

7、验证Cuda是否安装成功

方法1、打开终端,输人nvcc -V命令,查看Cuda版本。

请添加图片描述

方法2、使用python代码验证cuda是否可用。

请添加图片描述

四、下载安装cudnn

cudnn是Cuda中的神经网络扩展计算库,下载后将其解压并Copy到Cuda相应目录下即可。

1、下载与Cuda对应版本的cudnn。

地址
https://developer.nvidia.com/rdp/cudnn-download
需注册账号。

2、使用tar命令解压cudnn文件。

tar -zxvf cudnn-10.1-Linux-x64-v7.6.4.38.soLitairetheme8

解压出一个名为cuda的目录。

3、拷贝解压出的文件到Cuda的安装目录中。

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

五、最终验证安装是否成功

打开Jupyter Notebook,输入下列代码,验证TensorfLow/Cuda/cudnn平台的安装情况,查看GPU支持是否存在。

请添加图片描述

六、总结

1.TensorfLow是目前企业应用最为广泛的深度学习框架,我们在Linux操作系统下完成了TensorfLow的安装及基于NVIDIA GPU的Cuda (GPU并行计算框架)、cudnn(深度学习加速平台)的安装配置。

2.需要先安装python环境,建议使用Python的Anaconda发行版,该版本集成了多个科学计算包,广泛应用于数据处理与人工智能领域。

3.TensorfLow、Cuda和cudnn的版本存在不兼容的情况,需要提前查询相应的对应关系。另外,不同的NVIDIA GPU显卡支持的Cuda版本也不同,需要查询确定。

4.cudnn本质上是cuda的深度学习加速包,安装时只需要复制相应的目录到cuda目录下即可。

5.需要掌握测试安装是否成功的方法。

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

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

相关文章

CV多模态和AIGC的原理解析:从CLIP、BLIP到Stable Diffusion、Midjourney

前言 终于开写本CV多模态系列的核心主题:stable diffusion相关的了,为何执着于想写这个stable diffusion呢,源于三点 去年stable diffusion和midjourney很火的时候,就想写,因为经常被刷屏,但那会时间错不…

Apache组件POI,勾选导出Excel文件。

如果对 POI组件、Maven依赖不了解的小伙伴,在观看本篇文章之前可以先观看我上一篇文章: Apache组件POI,将图片下载到Excel文件中并导出。 。 本篇文章主要讲解Excel文件如何实现勾选导出。 我们先看一下勾选导出时的入参参数,其中…

【调试】vscode远程连接服务器

概述 windows远程连接linux服务器进行操作,有多种方式。可以借助ssh客户端,MobaXterm,finalshell等,这两个我觉得是不错的软件。当然如果需要在服务器编写代码,我还是建议使用vscode这个神奇的工具。怎么用vscode远程…

Spring Boot 中的 TCC 事务

Spring Boot 中的 TCC 事务 在分布式系统中,事务一直是一个棘手的问题。传统的 ACID 事务无法满足分布式系统的需求,因为它们需要强一致性、单点故障和网络延迟等问题。近年来,随着微服务架构的普及,TCC 事务成为了一种非常流行的…

SpringMVC入门篇4 --- SSM整合案例

目录 SSM整合小案例 源码 1.整合配置(config目录) Spring - SpringConfigMyBatis - MyBatisConfig、JdbcConfig、jdbc.propertiesSpringMVC - ServletConfig、SpringMvcConfig 2.功能模块 模型(domain目录):Book.java数据层(dao目录):.BookDao.ja…

windows11安装Linux子系统

个人博客地址: https://cxx001.gitee.io Windows在10之后自带了虚拟机子系统功能,可以和本地磁盘共享,默认挂载到/mnt/目录下面。比起传统的VM方便多了。下面是搭建流程: 一 开启子系统服务 控制面板 -> 程序 -> 程序与功能 -> 启动…

学会vue3,仅需这一篇

V3-组合式API setup/reactive/ref/computed/watch/生命周期/父子通信/模板引用/provide和inject数据传输 vue3的优势** 组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。 使用create-vue搭建Vue3项目…

Apikit 自学日记:API 变更历史

系统会自动保存API的每一次编辑内容。进入API详情页面,点击 编辑历史 ,在弹窗中会列出API的每次改动,您可以点击 详情 了解编辑的概况信息。 如果您想对比当前版本和历史的某个版本的差别,点击 对比 按钮,会在新窗口中…

springboot整合shiro实现认证和授权(非常详细)

Shiro和Spring Sercurity应该是我们比较常用的权限框架了,这篇文章教大家怎么通过springboot整合shiro从0开始搭建一个包含权限控制的后台管理系统。 第一步:创建一个springboot项目 创建springboot项目,这里项目就命名为shiro 第二步&#…

如何用一键抠图工具在线压缩PNG图片

我们会发现,现在用的很多图片格式都是PNG,它通常以无损压缩的方式存储图像。然而,有时候我们可能会遇到PNG文件过大的问题,这样会导致文件传输、存储和加载速度变慢。怎么才能解决这个问题,有什么好用的工具推荐么&…

Linux--多个源文件编译:gcc -o 目标文件 源文件1 源文件2 ...

分析编译过程: 我们编译,实际上是针对.c文件。这里是main.c和test.c。 编译器在预处理的时候会将.h拷贝进.c文件。这里是test.h拷贝到test.c中 .c文件编译后变成.o目标文件。这里main.c和test.c文件编译后变成main.o和test.o 生成的.o文件再和lib.so…

CAD版本转换器有哪些?这些工具轻松转换CAD版本

当我们共享CAD文件时,如果接收人使用的CAD软件版本与发送人不同,则需要将CAD文件转换为接收人能够打开的版本。例如,当您使用的CAD软件版本为AutoCAD 2019,而接收人使用的CAD软件版本为AutoCAD 2017时,您需要将CAD文件…

【PCBA方案设计】电子体温计技术解决方案

体温计,是一种常用于医疗的小型测量产品,体温计通常分为汞体温计和电子体温计,汞体温计的原理非常简单,当汞加热时,它会膨胀,沿着非常狭窄的玻璃管上升。因此,我们将玻璃按一定比例划分&#xf…

windows 如何ping ip 加端口号

先在系统中找到 勾选上 和平时的pingip命令不一样了 现在是telnet ip 端口号 先看一组无法ping通端口号的案例 若telnet 127.0.0.1 6379 跳转至一个空白界面 代表ping此ip的端口号成功

搭建高性能数据库集群之二:MySQL读写分离(基于mycat)

一、MyCat概述 Mycat是数据库中间件。 使用场景: 高可用性与Mysql读写分离 业务数据分级存储大表水平拆分,集群并行计算数据库连接池整合多个数据源整合 安装 下载地址:http://dl.mycat.org.cn 安装Mycat之前,需要安装Mysq…

拜托!电梯机房还不会用这个技巧,就真的晚啦!

电梯是现代社会中不可或缺的交通工具之一,为了确保乘客的安全和顺畅运行,电梯机房的监控是至关重要的环节之一。 电梯机房烟感监控是现代建筑安全管理中非常重要的一环。随着城市高楼大厦的不断增多,电梯作为垂直交通的主要方式,其…

一篇文章告诉你VR全景展示的优势

引言 随着科技的不断进步,VR全景展示作为一项创新的技术应用,正以其独特的优势引领着营销行业的发展潮流。通过虚拟现实技术,VR全景展示为消费者带来了身临其境的观展体验,打破了传统展览的时空限制。 一.沉浸式体验 …

CH32V3xx CAN接口基本使用

1、CH32V3xx CAN简介 CH32V307具有2路CAN控制器,CAN控制器提供了完整的CAN协议实现方案,兼容CAN 规范2.0 A和2.0 B。可编程的传输速率,最高可达1Mbit/s。支持时间触发功能,可避免低优先级消息阻塞。支持3个发送邮箱,发送报文优先级可由报文标识或发送请求次序决定。支持3级…

【kubernetes系列】Kubernetes之生命周期和策略

概述 Pod 遵循一个预定义的生命周期,起始于 Pending 阶段,如果至少 其中有一个主要容器正常启动,则进入 Running,之后取决于 Pod 中是否有容器以 失败状态结束而进入 Succeeded 或者 Failed 阶段。 在 Pod 运行期间,k…

搭建Docker私有仓库

-v 主机到容器的映射(卷的挂载:主机和容器的共享) 创建容器一定要看成没成功 curl命令 访问浏览器命令 仓库装软件,配置------------- localhost 本机 127.0.0.1 改配置,重启容器 背景介绍 Docker regist…