【ubuntu20.04+tensorflow-gpu1.14配置】

ubuntu20.04+tensorflow-gpu1.14配置

  • 目录
    • 0. 版本注意事项说明
    • 1. 个人目录下载后配置系统环境变量
    • 2. anaconda配置所有环境(过程简便,但容易出现不兼容问题)
    • 3. 验证tensorflow-gpu
    • 4. 一些细节

目录

总结出两种方法

  • 个人目录 下载cuda和cudnn
  • anaconda虚拟环境 下载cudatoolkit和cudnn

(注:不必追求严格与测试版本一致)

0. 版本注意事项说明

  1. nvidia-smi/nvcc -V 查看当前支持的cuda最高版本(下图为11.6)
    最高CUDA版本
  2. tensorflow-gpu-1.14 与 cuda10.0、cudnn7.4 匹配
    tensorflow匹配环境
  • 从源代码构建过程较繁琐,完整构建过程可参考https://www.cnblogs.com/zpcdbky/p/9757821.html#gcc
  • 实际上不使用构建工具,其他条件基本满足也可以正常使用。

1. 个人目录下载后配置系统环境变量

  • gcc 降级
    https://blog.csdn.net/m0_55019159/article/details/132558016

    ubuntu20.04自带gcc-9,而 cuda10.0 需要 gcc-4.8/gcc-7.3.1 (见tensorflow-gpu-1.14+)

    先利用 sudo apt-get 安装所需要的gcc 版本,然后利用 sudo update-alternatives 方法降级,将gcc-7排在前面,给予更高的优先级。

  • 从官网下载 cuda10.0
    https://developer.nvidia.com/cuda-10.0-download-archive

  • 选择对应的参数
    这里选择 ubuntu18.04 版本,确定好下载类型为 runfile(local) 后,会展示出下载按钮,选择第一项进行下载,得到cuda_10.0.130_410.48_linux.run文件。cuda下载系统参数
    基础下载说明里提到运行命令,接着按照官方说明进行安装。下载选第一项

  • 安装指令
    在个人目录下,以“/home/xxx”为例,运行指令
    (sudo指令需要提前找root用户获取权限 )

sudo sh cuda_10.0.130_410.48_linux.run
  • 回答问题
    接着Enter直到进度 100%。之后会出现需要回答的问题:
    1. accept (EULA)
    2. y (new configuration)
    3. n (don’t need new driver)
    4. y (install)
    5. 默认路径为/usr/local/cuda-10.0,可以直接Enter进行下一项,或者改为个人目录下的路径。此处按照后者,提前新建一个目录名为cuda-10.0,将路径修改为/home/xxx/cuda-10.0
    6. n (don’t need a symbolic link)
    7. 测试样本可选可不选,如果选择y,之后会有新的选项确认默认安装测试样本的路径为/home/xxx
    8. 等待安装完成
  • 配置个人目录下系统环境变量
    在/home/xxx目录下,打开./bashrc 并编辑,然后退出,使环境变量生效
vim ~/.bashrc  # open ./bashrc fileexport CUDA_HOME=/home/xxx/cuda-10.0  # add the following sequences and exit ./bashrc file
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATHsource ~/.bashrc  # save and activate ./bashrc file
  • 验证cuda10.0
    通过nvcc -V命令,显示出当前使用的cuda版本10.0
  • 下载并安装cudnn
    需要登陆nvidia然后才可以下载,下载至个人目录下
    https://developer.nvidia.com/rdp/cudnn-archive
    文件名为 cudnn-10.0-linux-x64-v7.4.2.24.tgz
tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz  # unzip
  • 解压后得到cuda文件夹,进行复制
sudo cp cuda/include/cudnn* cuda-10.0/include
sudo cp cuda/lib64/libcudnn* cuda-10.0/lib64
  • 赋予权限
sudo chmod a+r cuda-10.0/include/cudnn* 
sudo chmod a+r cuda-10.0/lib64/libcudnn*
  • 查看cudnn版本
cat cuda-10.0/include/cudnn.h | grep CUDNN_MAJOR -A 2

(参考
https://blog.csdn.net/JineD/article/details/131201121

https://blog.csdn.net/mofy_/article/details/122791758?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122791758-blog-132558016.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122791758-blog-132558016.235%5Ev43%5Econtrol&utm_relevant_index=2

https://blog.csdn.net/zjc910997316/article/details/102883644)

2. anaconda配置所有环境(过程简便,但容易出现不兼容问题)

  • 首先下载anaconda,得到 anaconda_name.sh 文件
    https://www.anaconda.com/download#downloads
    运行 bash anaconda_name.sh 命令,按照提示完成初始化
  • 创建新的虚拟环境
    名称为 env_name ,附带的包有python3.6、numpy、pandas…
conda create -n env_name python=3.6 numpy pandas
  • 新虚拟环境下,安装tensorflow-gpu-1.14
pip install tensorflow-gpu==1.14.0
  • 新虚拟环境下,安装 cuda 和 cudnn
conda install cudatoolkit=10.0
conda install cudnn-7

(参考
https://spacevision.blog.csdn.net/article/details/106898050?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106898050-blog-113628392.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106898050-blog-113628392.235%5Ev43%5Econtrol&utm_relevant_index=2)

3. 验证tensorflow-gpu

  • 在虚拟环境中,打开python
import tensorflow as tf
tf.test.is_gpu_available()   # The result is "True"

4. 一些细节

  • gcc 在anaconda的虚拟环境中自带,打开 python 命令行即可看到, gcc-7 可以与tensorflow-gpu-1.14兼容。
  • 多个cuda版本切换时,可参考软连接做法
    https://blog.csdn.net/qq_57459857/article/details/134996647

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

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

相关文章

评论家:大型语言模型可以通过工具交互式批评进行自我修正(ICLR2024)

1、写作动机: 大语言模型有时会显示不一致性和问题行为,例如产生幻觉事实、生成有缺陷的代码或创建令人反感和有毒的内容。与这些模型不同,人类通常利用外部工具来交叉检查和改进他们的初始内容,比如使用搜索引擎进行事实检查&am…

【评分标准】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷 无线网络勘测设计

第一部分:无线网络勘测设计评分标准 序号评分项评分细项评分点说明评分方式分值1点位设计图AP编号AP编号符合“AP型号位置编号”完全匹配5AP型号独立办公室、小型会议室选用WALL AP110完全匹配5员工寝室选用智分,其他用放装完全匹配5其它区域选用放装AP…

Eureka的介绍和作用,以及搭建

一、Eureka的介绍和作用 Eureka是Netflix开源的一种服务发现和注册工具,它为分布式系统中的服务提供了可靠的服务发现和故障转移能力。Eureka是Netflix的微服务架构的关键组件之一,它能够实时地监测和管理服务实例的状态和可用性。 在Eureka架构中&…

O2OA(翱途)开发平台前端安全配置建议(一)

O2OA开发平台是一个集成了多种功能的开发环境,前端安全在其中显得尤为重要。前端是用户与平台交互的直接界面,任何安全漏洞都可能被恶意用户利用,导致用户数据泄露、非法操作或系统被攻击。因此,前端安全是确保整个系统安全的第一…

关于汽车中网改装需要报备吗?(第二天)

车联网改造需要申报吗? 今天2022年10月20日,小编就给大家介绍一下车联网改装是否需要申报的相关知识。 让我们来看看。 汽车格栅改装无需申报。 这种年检可以直接通过。 您不必担心,因为汽车格栅对于实车的外观来说并不陌生,因此…

ElasticSearch使用(一)

文章目录 一、简介1. 数据类型2. 倒排索引3. Lucene4. ElasticSearch5. Solar VS ElasticSearch 二、ElasticSearch入门1. 简介2. 分词器3. 索引操作4. 文档操作5. ES文档批量操作 二、ElasticSearch的DSL1. 文档映射Mapping2. Index Template3. DSL 一、简介 1. 数据类型 结…

docker搭建kafka

1、docker直接拉取kafka和zookeeper的镜像 docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper 2、首先需要启动zookeeper,如果不先启动,启动kafka没有地方注册消息 10.10.0.67内网ipdocker run -it --name zookeeper -p 9140:2181 -…

【保姆级教程】YOLOv8_Seg实例分割:训练自己的数据集

一、YOLOV8环境准备 1.1 下载安装最新的YOLOv8代码 仓库地址: https://github.com/ultralytics/ultralytics1.2 配置环境 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple二、数据准备 2.1 安装labelme标注软件 pip install label…

转置卷积(transposed-conv)

一、什么是转置卷积 1、转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作&#xff0c…

Vue.js前端开发零基础教学(三)

目录 2.6 计算属性 2.7侦听器 2.8 样式绑定 2.8.1 绑定class属性 2.8.2 绑定style属性 2.9 阶段案例——学习计划表 2.6 计算属性 概念:Vue提供了计算属性来描述依赖响应式数据的复杂逻辑。 计算属性可以实时监听数据的变化,返回一个计算…

html5cssjs代码 033 SVG元素示例

html5&css&js代码 033 SVG元素示例 一、代码二、解释 一个SVG图形&#xff0c;该图形由一个椭圆、一个圆形和一个矩形组成。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><title>编程笔记 html5&css&js SVG元素示例…

阿里云2024最新优惠:WoSign SSL证书首购4折

阿里云SSL证书 2024 最新优惠来啦&#xff01;阿里云SSL证书新用户&#xff0c;wosign SSL证书低至4折&#xff0c;WoSign SSL提供全球信任RSA SSL证书和国密算法SM2 SSL证书&#xff01;阿里云官网官方优惠&#xff0c;需要开年采购SSL证书的用户抓紧申请这波优惠&#xff01;…

C语言 swab 函数学习

swab函数交换字符串中相邻两个字节&#xff1b; void _swab( char *src, char *dest, int n ); char *src&#xff1a; 要拷贝、转换的字符串&#xff0c; char *dest&#xff0c;转换后存储到dest所表示的字符串&#xff0c; int n要拷贝、转换的字节数&#xff1b; 所…

uni-app纵向步骤条

分享一下项目中自封装的步骤条&#xff0c;存个档~ 1. 话不多说&#xff0c;先看效果 2. 话还不多说&#xff0c;上代码 <template><!-- 获取一个数组&#xff0c;结构为[{nodeName:"流程发起"isAudit:falsetime:"2024-02-04 14:27:35"otherDat…

好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化

好用的GPTs&#xff1a;指定主题搜索、爬虫、数据清洗、数据分析自动化 Scholar&#xff1a;搜索 YOLO小目标医学方面最新论文Scraper&#xff1a;爬虫自动化数据清洗数据分析 点击 Explore GPTs&#xff1a; Scholar&#xff1a;搜索 YOLO小目标医学方面最新论文 搜索 Scho…

BI让数据分析不在困难,分解企业数据分析流程

一、数据培养 数据分析最关键的是什么&#xff1f;其实从名字上就可以看出来&#xff0c;数据是一切的关键&#xff0c;没有数据的话数据分析从何谈起呢。但数据的积累不是一天两天就能成功的&#xff0c;企业的一定要有培养数据的意识&#xff0c;在业务活动中沉淀数据&#…

学习笔记Day13:Linux进阶

Linux进阶 Vim——Linux自带的文本编辑器 功能强大 命令模式 使用 vim <file>进入后的默认模式可以上下左右移动光标 方向键/hjkl快速到所在行的开头^/末尾$向下移动30行30j&#xff08;上左右同&#xff09;上下翻页Ctrlf向上&#xff0c;Ctrlb向下翻页快速回到文件第…

基于SpringBoot+Layui的社区物业管理系统

项目介绍 社区物业管理系统是基于java程序开发,本系统分为业主和管理员两个角色 业主可以登陆系统,查看车位费用信息,查看物业费用信息,在线投诉,查看投诉,在线报修; 管理员可以车位收费信息,物业收费信息,投诉信息,楼宇信息,房屋信息,业主信息,车位信息,抄表信…

刚进公司第一天-电脑环境搭建

写在前面 之前在公司做过一次开发小工具的分享&#xff0c;这两天有个同事找我学习一些小工具开发的知识&#xff0c;但是我发现他的基础是真的差&#xff0c;想学开发知识却连自己本地电脑环境都没弄好&#xff0c;确实&#xff0c;有些人工作了很久&#xff0c;由于自己工作中…

工控机在机器人领域的应用丨工业一体机的应用

随着机器人技术的不断发展&#xff0c;机器人在制造、物流等领域得到了广泛应用。而工业控制计算机&#xff08;工控机&#xff09;作为机器人控制系统的核心设备&#xff0c;也在机器人领域发挥着越来越重要的作用。 机器人控制系统是机器人的核心部分&#xff0c;控制系统的…