ubuntu系统使用Anaconda安装tensorflow-gpu环境

ubuntu系统使用Anaconda安装tensorflow-gpu环境

一、环境配置版本信息:

安装tensorflow-gpu,需特别注意tensorflow-gpu、Python、CUDA、cuDNN版本的适配信息,版本不适配会导致tensorflow-gpu安装失败,该安装教程选择的软件版本信息为:ubuntu18.04 + Anaconda3.5.3.1 + Python3.6.12 + tensorflow-gpu2.2.0 + CUDA10.1 + cuDNN7.6.5

更多版本适配信息可参考官网:https://tensorflow.google.cn/install/source_windows

在这里插入图片描述

二、安装步骤:

1、安装Anaconda:

https://blog.csdn.net/a745233700/article/details/109376667

2、使用Anaconda创建Python环境:

(1)基于python3.6创建一个名为py36的环境

conda create -n py36 python=3.6.12

(2)激活环境:

conda activate py36

3、安装tensorflow-gpu 2.2.0:

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

4、安装CUDA 10.1

conda install cudatoolkit=10.1 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/

5、安装cuDNN 7.6.5:

conda install cudnn=7.6.5

6、测试是否安装成功:

import tensorflow as tf
# 检查tensorflow是否得到CUDA支持,安装成功则显示true,否则为false
tf.test.is_built_with_cuda()
# 检查tensorflow是否可以获取到GPU,安装成功则显示true,否则为false
tf.test.is_gpu_available()

三、遇到的问题及解决方案:

1、安装完Anaconda后,会有一个默认的base运行环境,能否直接在默认的环境中安装tensorflow?还是必须新建一个新的运行环境?

不要直接使用默认的环境安装,最好不同任务使用不同环境,在默认环境安装新的模块可能会有冲突,导致Anaconda崩溃,最终需要卸载重装。
在默认base运行环境安装tensorflow-gpu 2.2.0的过程中,由于需更新Python的版本,会导致与原本的模块冲突而造成Anaconda崩溃。

2、tf.test.is_gpu_available()的运行结果为false

(1)首先确保tensorflow-gpu、Python、CUDA、cuDNN版本的适配信息,如果不适配,则卸载不适配的版本并重装,如果版本适配,则进入步骤(2);

(2)配置cuda的环境变量:

打开 ~/.bashrc (vim ~/.bashrc),配置下面的环境变量:

export CUDA_HOME=/root/anaconda3/pkgs/cudatoolkit-10.1.243-h6bb024c_0/lib
export PATH=$PATH:$CUDA_HOME/bin

CUDA_HOME指向cuda包的安装路径,anaconda安装的软件包默认都放在/root/anaconda3/pkgs路径下

(3)更新环境变量:

source ~/.bashrc

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100039.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • VLC搭建RTSP直播流,图文介绍

    VLC搭建RTSP直播流,图文介绍将一个视频转成rtsp流,通过vlc播放器,搭建一个rtsp服务器,让rtsp客户端去访问这个视频的rtsp流1需要有vlc播放器,我的版本如下2媒体–>流3添加视频文件,点击添加一个mp4文件4选择串流,然后点击”下一个”5选择新目标,RTSP,然后点击添加6端口默认,路径添加个自定义名……

    2022年10月20日
  • jquery nextsibling_javascript中预编译

    jquery nextsibling_javascript中预编译JavaScript中的nextSibling和previousSibling和作用类似于jquery的next()和prev(),都是获取下一个/上一个同胞元素,如果下一个同级节点不存在,则此属性返

  • JAVA面试题:SWITCH能否作用在BYTE、LONG、STRING上?

    JAVA面试题:SWITCH能否作用在BYTE、LONG、STRING上?

  • MySql多表、多字段分组,多字段去重「建议收藏」

    MySql多表、多字段分组,多字段去重「建议收藏」直接了当上SQL SELECT a.字段1, a.字段2, b.字段1, COUNT(DISTINCT a.字段1),COUNT(DISTINCT b.字段1) FROM xs_highway_transport_log a LEFT JOIN b表 b ON b.id = a.main GROUP BY a.字段1 ,b.字段1// 这行为分组直接这样 即可实现 多字段去重情况。同时可以配合having过滤分组,也可以在 分组

  • JAVA 实习面试题大全必看

    JAVA实习面试题大全必看JavaSE88基础语法9Q1:简单说说Java有哪些数据类型答:①分为基本数据类型和引用数据类型。②基本数据类型包括:数值型(byte、short、int、long、float、double),字符型(char)以及布尔型(boolean)。除了基本类型外,其他数据类型都属于引用类型,包括类、接口、数组等。Q2:floatnumber=3.4;有没有问…

  • java setattribute_java – HttpSession setAttribute并不总是插入新对象「建议收藏」

    java setattribute_java – HttpSession setAttribute并不总是插入新对象「建议收藏」我正在从WLS10g和JavaEE6升级到WLS12c和JavaEE7.我注意到HttpSession.setAttribute的工作方式有所不同.在WLS10中,任何已存储在某个键下的对象都将被替换.在WLS12中,如果newObject.equals(oldObject),则不替换该对象.这对我们来说是个问题,因为应用程序有这样的对象:classValueObject{intkey;St…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号