ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Ubuntu 20.04 LTS 安装Anaconda+Tensorflow的各类问题汇总

2021-01-11 19:31:59  阅读:357  来源: 互联网

标签:LTS Linux Ubuntu 驱动 CUDA Anaconda 显卡 安装


目录

前言

近期因学习需要,需要搭建Linux+Tensorflow的编程环境,为了保证深度学习程序运行的效率还需要安装Tensoflow-gpu版本。但作为老倒霉蛋+小白的我,单是搭建这个编程环境就花了我三个夜晚,重装了两遍系统。本着我不入地狱,谁入地狱的佛系心态,这里将我使用所有到安装方法以及安装过程中遇到的问题进行汇总,在这里由衷地感谢这些国内或者国外的大佬对于自己方法的总结。

本机环境

  • 系统环境:Ubuntu 20.04 LTS (x86_64)
  • 显卡型号:Nvidia GeForce 2070 Super
  • 架构信息 :cuda10.1+cudnn10.1+Anaconda3

安装思路

如果你和我一样也是个小白的话,在安装之前,我们需要先了解一下我们安装的是啥以及为啥要安装它。本章节的最后会包含安装的流程框图。
如果觉得比较啰嗦的话可以直接根据下面这两篇帖子进行安装。

1.系统环境

众所周知,Windows和Linux是两大主流操作系统,目前的各类应用也是基于这两种操作系统进行的开发。与大家经常使用的Windows不同,Linux更为纯净。简单的理解就是

  • Window是成熟的界面化系统,在系统上的操作一目了然【操作更为便捷,但用户权限受限】;
  • Linux则是纯粹的指令操作(尽管有Ubuntu这样界面化的Linux系统,但依然摆脱不了终端命令的使用)【操作非常复杂,但用户权限开放】

这也是为何普通用户喜欢Windows,而程序员更偏爱Linux的原因。同时,你如果要在Windows上使用深度学习框架可能会有很多报错,同时由于权限不足以至于你并没有很好的办法去处理,但在Linux上面尽管你依然会有很多报错,但你有各种办法去解决它。
正因如此,笔者打算采用作为Ubuntu操作系统进行软体环境的搭建。以下是有关操作系统安装与基本操作的帖子

2.Anaconda

众所周知,Python是一种面向对象的解释型计算机程序设计语言,其使用具有跨平台的特点,可以在Linux、macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较大的改动。正因如此很多深度学习的框架大部分都与Python有很好的兼容性,基于Python的深度学习代码项目也是最为丰富的。而Anaconda其实就是一个开源的Python发行版本,其中包含了很多有用的包和依赖项(可以理解成加强版Python)。所以这里我们采用Anaconda,而不是Ubuntu自带的Python原始环境。

关于Anaconda的安装和卸载请参照

4.TensorFlow

TensorFlow 是谷歌的开发者创造的一款开源的深度学习框架也是一个运算系统,与其他深度学习框架一样,它可以基于你电脑的CPU进行运算或者是基于你电脑中独立显卡的GPU进行运算,其中CPU版本的TensorFlow比较容易安装,在终端中利用以下命令即可完成

pip3 install tensorflow

:在使用前请先安装好Anaconda,并建议创建虚拟环境后再安装tensorflow到虚拟环境中,保证base版本Anaconda的纯净性

以下命令就是创建一个名为tensorflow,基础语言为python3.7的虚拟环境

conda create –n tensorflow python=3.7

在这里插入图片描述
利用命令激活后即可进入虚拟环境中,之后在虚拟环境中运行tensorflow-cpu版本的命令即可

conda activate tensorflow

在这里插入图片描述

如果需要使用GPU进行运算,则需要安装GPU版本的Tensorflow,但在安装之前还需要安装显卡对应的运算平台cuda和加速库cudnn,在安装完成后,利用命令安装tensorflow-gpu

完整流程建议参考

3.Cuda、Cudnn(仅GPU版本Tensorflow需要)

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。反正就是只要使用GPU版本的tensorflow,这个运算平台是必须的
CUDNN则可以看做是CUDA的一个扩展包,可以加速运算,在安装完成CUDA后,将cudnn的文件复制进入cuda中即可。

!!注意!!:

  • CUDA需要显卡的支持,在安装之前需要确保显卡支持CUDA且显卡驱动版本和CUDA Toolkit相互匹配
    支持 CUDA® 的 GPU 卡.
    英伟达官方CUDA的发布信息,看表2即可.
  • 目前Tensorflow还不支持过高版本的CUDA,所以不建议像有些帖子中用自动的方式下载显卡驱动和配套的CUDA,因为它会直接给你安装最新版本的CUDA,到时候Tensorflow可能无法使用,个人建议安装CUDA 10.0
    Tensorflow所匹配的cuDNN和CUDA.
  • CUDA安装过程中会提示是否安装驱动,请务必选否,以免造成和你手动安装的驱动冲突

关于显卡驱动以及Cuda、Cudnn的安装和配置,建议参考
Ubuntu安装和卸载CUDA和CUDNN.
Ubuntu18.04安装NVIDIA显卡驱动.

安装注意事项

  • 安装时请在非ROOT模式下进行,除非提示权限不足时再使用sudo进行操作(否则会出现很多异常问题)
  • 所有的安装包请放置在“/home/你的用户名”路径(路径中不要包含中文)下,确保出现异常时可以随时重新安装
  • 当出现由于显卡驱动安装异常导致无法进入界面时,请不要着急,进入命令行模式重新安装驱动即可
  • 请务必牢记自己的用户名和密码,在命令行模式下需要登录才可使用

疑难问题总结

1.pip下载超时

问题描述:使用pip命令时下载速度很慢,之后报TimeOut的错误
解决办法:加载其他镜像源进行安装即可
详情链接Pip源设置(使用清华源).

2.安装完驱动程序后重启电脑无法进入桌面

问题描述:在将显卡驱动安装完毕后,重启电脑但无法进入桌面,屏幕一片漆黑或者有报错信息
解决办法:对于这个问题,分两种情况来看,按Ctrl + Alt +F1(F1~F6均可)进入命令行模式【我按F1是不行,反正都是按的F4】

(1)可以进入命令行

能进入命令行,就意味着问题不大,可以尝试以下办法

  • 重启X-window 服务,后按Ctrl+Alt+F7看是否能回到登录界面
sudo service lightdm stop
  • 如果返回后还是漆黑,则建议按照上文引用的 Ubuntu18.04安装NVIDIA显卡驱动.先将现有驱动卸载,然后重新按照步骤安装显卡驱动,并重启电脑【所以把驱动安装程序保存好很重要!!】
  • 如果重新安装了自己下载的驱动程序,依然存在问题,则说明驱动程序不正确,建议自动安装回原有驱动
    详情链接ubuntu 自动安装nvidia显卡驱动.

(2)无法进入命令行

如果无法进入命令行,只有左上角有一个光标在闪烁,这种就比较麻烦,建议采取以下措施

  • 重启,长按shirft进入grub菜单即Ubuntu安全模式,选择recovery mode回车进入
    在这里插入图片描述

  • 选择cleandpkg,然后再重新进入Ubuntu系统中,检查是否能进到命令行模式
    在这里插入图片描述
    :上述办法不一定有效,如果尝试上述操作后依然存在问题,我的建议是重新安装系统,我当时遇到这个问题时主要原因就是根目录设置过小,空间满了,导致安装驱动以及一些包的时候存在异常,出现该现象,之后采用上述办法重新回到命令行模式重装驱动解决。

3.安装cuda循环登录

详情链接ubuntu安装cuda循环登录.

4.cuda安装过程中出现It appears that an X server is running. Please exit X before installation.

详情链接ubuntu 16.04 安装cuda9.0报错,It appears that an X server is running. Please exit X before installation..

致谢

非常感谢以上所分享的帖子的大佬们,也希望能通过这个汇总贴,将自己遇到的各种问题予以整理,避免大家被一些低质量的帖子误导踩坑。

标签:LTS,Linux,Ubuntu,驱动,CUDA,Anaconda,显卡,安装
来源: https://blog.csdn.net/weixin_43560489/article/details/110679551

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有