【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.hqwc.cn/news/557526.html

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

相关文章

Lombok插件的安装和使用说明

什么是Lombok?? Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等。 //普通的实体类public class Student {private Integer id;private Integer age;public Integer getId () {return id;}public void setId (Integer id) {this.id …

Flink GateWay、HiveServer2 和 hive on spark

Flink SQL Gateway简介 从官网的资料可以知道Flink SQL Gateway是一个服务,这个服务支持多个客户端并发的从远程提交任务。Flink SQL Gateway使任务的提交、元数据的查询、在线数据分析变得更简单。 Flink SQL Gateway的架构如下图,它由插件化的Endpoi…

痛失offer的八股

java面试八股 mysql篇: 事物的性质: 事物的性质有acid四特性。 a:automic,原子性,要么全部成功,要么全部失败,mysql的undolog,事物在执行的时候,mysql会进行一个快照读…

tcp seq ack

seq(Sequence Number):32bits,表示这个tcp包的序列号。tcp协议拼凑接收到的数据包时,根据seq来确定顺序,并且能够确定是否有数据包丢失。 ack(Acknowledgment Number):3…

官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会

摘要:本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会,内容主要分为以下四部分: 1、Flink CDC 新仓库,新流程 2、Flink CDC 新定位,新玩法 3、Flin…

【论文阅读】Scalable Diffusion Models with Transformers

DiT:基于transformer架构的扩散模型。 paper:[2212.09748] Scalable Diffusion Models with Transformers (arxiv.org) code:facebookresearch/DiT: Official PyTorch Implementation of "Scalable Diffusion Models with Transformer…

计算机组成原理 双端口存储器原理实验

一、实验目的 1、了解双端口静态随机存储器IDT7132的工作特性及使用方法 2、了解半导体存储器怎样存储和读出数据 3、了解双端口存储器怎样并行读写,产生冲突的情况如何 二、实验任务 (1)按图7所示,将有关控制信号和和二进制开关对应接好,…

smpl渲染工具

根据3d姿态预测smpl参数 GitHub - Jeff-sjtu/HybrIK: Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021 GitHub - woo1/Texture_visualize_smpl: smpl texture visualizatio…

嵌入式驱动学习第四周——设备树

前言 掌握设备树是 Linux 驱动开发人员必备的技能!因为在新版本的 Linux 中,ARM 相关的驱动全部采用了设备树。本篇博客重点介绍一下设备树与设备树语法。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本…

探索 PostgreSQL 的外部数据包装器和统计函数

PostgreSQL 因其稳定性和可扩展性而广受青睐,为开发人员和数据管理员提供了许多有用的函数。在这些函数中,file_fdw_handler、file_fdw_validator、pg_stat_statements、pg_stat_statements_info 以及 pg_stat_statements_reset 是其中的重要函数&#x…

SUS-Chat-34B笔记

名称SUS-Chat: Instruction tuning done right团队南方科技大学、IDEA研究院CCNL团队代码地址https://github.com/SUSTech-IDEA/SUS-Chat简介具有超强多轮对话能力,擅长模仿人类思考过程,在各大榜单上超越同量级的模型。 介绍 SUS-Chat-34B模型是南方科…

基于C/C++的easyx图形库教程

文章目录: 一:前言 二:窗口(宽高 背景颜色 窗口标题 弹出对话框) 三:图形绘制(点 线 矩形 圆 椭圆) 四:文字(颜色 大小 背景 位置 打印 文字居中) 五&a…