【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…

rocketmq 4.9.6安装

文章目录 前言废话不说,直接安装总结 前言 docker 无法安装 4.9.6 由于之前安装的版本低,有漏洞,服务器无限被攻击.没办法只能安装高版本,但是docker无法安装,仓库中根本没有这个高版本的镜像 废话不说,直接安装 官网下载: 4.9.6下载地址上传到linux的一个位置如: /data/data…

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

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

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

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

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

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

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

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

Springboot 集成kafka 以及连接 带有SASL/PLAIN 的kafka

前言 spring boot 集成kafka是比较简单的 直接引入spring-kafka的包 然后稍作配置即可 1. Spring Boot集成kafka 添加 Kafka 依赖 在 pom.xml 文件中添加 Kafka 依赖: <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring…

AI大模型学习

在当前技术环境下&#xff0c;AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力&#xff0c;还需要对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法&#xff0c;AI大模型学习能够不断提升模型的准确性和效率&#xff0c;为人类生活和工作带来更多便利。…

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&#xff0c;如果不先启动&#xff0c;启动kafka没有地方注册消息 10.10.0.67内网ipdocker run -it --name zookeeper -p 9140:2181 -…

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

一、YOLOV8环境准备 1.1 下载安装最新的YOLOv8代码 仓库地址&#xff1a; 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;对图像进行多次卷积运算后&#xff0c;特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等)&#xff0c;需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作&#xff0c…

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

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

html5cssjs代码 033 SVG元素示例

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

安卓利用CameraX 拍照获这张照片的exif信息

一、首先导入相关权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-featureandroid:name="android.hardware.camera"android:required="true" /><uses-permission android:name="a…

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

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

【数据库】SQL如何添加数据

在SQL中&#xff0c;您可以使用INSERT INTO语句来添加数据到数据库表中。以下是一些基本的示例和解释&#xff1a; 1.插入完整行数据&#xff1a; 如果您想为表中的每一列都插入数据&#xff0c;那么可以不必指定列名。但是&#xff0c;您需要为每一列都提供数据&#xff0c;并…

【Docker】常用命令 docker network ls

文章目录 什么是docker network ls命令基本用法实际示例列出所有网络 常用选项-f&#xff1a;根据过滤条件列出网络--format&#xff1a;自定义输出格式 总结 在Docker中&#xff0c; docker network ls命令是用于列出所有网络的主要命令之一。本文将深入探讨 docker network…

C语言 swab 函数学习

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

翻硬币游戏的解

题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面&#xff0c;用 o 表示反面&#xff08;是小写字母&#xff0c;不是零&#xff09;&#xff0c;比如可能情形是 **oo***oooo&#xff0c;如果同时翻转左边的两个硬币&…