从ubuntu安装开始的Tensorflow环境配置

一、win10下ubuntu安装

1、准备一个刻录好镜像的u盘,设置为uefi引导
2、在win10压缩磁盘,分出一块空闲空间。非常建议双硬盘分别安装系统
3、修改主板boot优先级,从u盘启动,之后选择 Try Ubuntu without install 进入Ubuntu PE系统
4、 点击安装Ubuntu注意断开网络,选择"最小安装";分配空间前,选择"其他选项"
5、 按照如下分配空间

分区 类型 位置 大小
EFI 主分区 起始 500MB
swap 逻辑分区 起始 根据内存
/ 主分区 起始 建议128G
/home 逻辑分区 末端 多大都行

这样做可以在中间空出一块未分配的空间,便于以后调整
6 、 启动器选在 EFI对应的盘符,之后开机时候按F11(微星主板)就可以选择从哪个系统启动
7、 输入用户名密码、选好时区,完成安装。
8、 第一次启动进入ubuntu前,如果用的比较新的N卡(大约10系起),在选择系统时候,按e进入编辑,在quiet splash后添加nomodeset,以避免紫屏

 

二、N卡驱动安装

1、 第一次进入系统后,先解决nouveau的冲突问题

在终端中输入

sudo gedit /etc/modprobe.d/blacklist.conf

然后在最后插入

blacklist nouveau
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统,验证是否禁用

lsmod | grep nouveau

一般能直接进系统就说明没问题了

2、 换源

sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
sudo gedit /etc/apt/sources.list

推荐换成清华源,之前换过一次阿里源结果在版本上出了很大问题

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

重启 sudo reboot
更新

sudo apt-get update
sudo apt-get upgrade

3、开始安装N卡驱动

首先在知道自己显卡型号后,到nvidia官网查找自己显卡对应的linux 64位驱动的run文件,事先下好放在 /home 下, 然后开始安装一些依赖项

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential libc6:i386

完成后重启
重启成功后打开终端,输入如下命令:sudo telinit 3。然后按快捷键:CTRL+ALT+F1 进入字符界面,输入用户名和密码,然后登录系统,进入我们保存下载 NVIDIA 驱动的目录,按前面说的是/home,之所以放这,是应为有可能在命令行下无法显示或者输入中文路径。如果以前安装过驱动,先执行 sudo apt-get remove nvidia-* ,再开始安装
给驱动run文件赋予执行权限,"NVIDIA-Linux-x86_64-396.18"具体的版本号应改为实际对应的:

sudo chmod  a+x NVIDIA-Linux-x86_64-455.18.run

安装:

sudo ./NVIDIA-Linux-x86_64-455.18.run  -no-opengl-files 

-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
这里只添加 -no-opengl-files即可
安装过程中的几个问题,按照下面的回答(copy别人的):

  • The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
  • Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
  • 问题没记住,选项是:install without signing
  • 问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
  • Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
    安装完之后 挂在Nvidia驱动:
modprobe nvidia

检查驱动是否安装成功:

nvidia-smi

得到显卡状态信息表就表示安装成功了,记住右上角的CUDA版本号,这是驱动支持的最高CUDA版本,之后安装的CUDA不能高于这边显示的版本。
重启,回到正常图形化界面。
笔者的系统是Ubuntu18.04,显卡是RTX2080,在图形化界面拖动窗口或者播放视频时会出现撕裂tearing,查找了网上诸多方法,目前也没有解决。只能勉强用着了。反正也不拿来娱乐,最多就是翻阅代码的时候比较难受。

 

三、安装CUDA

首先找到驱动对应cuda的版本:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/
下载所需CUDA的Linux-64版.run文件
安装:

sudo sh cuda_10.1.243_418.87.00_linux.run

在选项中去掉Driver的安装,之后一路确定
出现以下信息后,说明安装成功


picture 1

添加环境变量:
打开文件:

sudo gedit .bashrc

在文件的最后位置复制一下内容, cuda-10.1 改成对应安装的版本

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1

输入 source ~/.bashrc ,使配置生效。
添加环境变量, 打开文件:

sudo gedit .bashrc

在文件的最后位置复制一下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1

输入 source ~/.bashrc ,使配置生效。
测试CUDA安装成功的Samples例子:

cd  /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

picture 2

最后Result= PASS 为安装成功
输入命令:nvcc -V 可以查看CUDA版本信息

CUDA 安装的要点

  • 不得高于驱动支持的版本,具体的查看方面前面提到了
  • 考虑好Tensorflow的版本,过高的CUDA可能没有对应的tf版本支持
  • CUDA一般内置了显卡驱动,安装时候务必选不进行安装

 

四、Cudnn安装

在 https://developer.nvidia.com/rdp/cudnn-archive 里查找同时满足CUDA和Tensorflow版本的Cudnn
解压:

tar –zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz

输入以下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

检测是否安装成功:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

此处应该能看到cudnn的版本

 

五、Tensorflow安装

安装,Anaconda 并创建虚拟环境

conda create -n tf2 python=3.8

创建一个名字是 tf2 , python版本是3.8的虚拟环境
激活 tf2 环境, 在 tf2 环境下输入:

pip install --upgrade tensorflow

或者pip安装从官网下载的tensorflow
测试:

import tensorflow as tf
tf.test.is_gpu_available()

 

六、ROS-Melodic 安装与配置

设置软件源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

设置密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

安装:

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*

之后执行

sudo rosdep init
rosdep update

这时候可能会出现不少问题:

  • 执行sudo rosdep init ,反馈没有该指令。解决方法,按照提示安装缺失的包,这里缺的应该是提示python-rosdep2 ,输入下面的指令安装:
    sudo apt install python-rosdep2
    
    安装完成之后,会发现ros-melodic-desktop-full安装的包部分丢失,这时候重新执行:
    sudo apt-get install ros-melodic-desktop-full
    
    此时如果sudo rosdep init 可以执行则问题解决。如果仍提示没有该指令,再输入:
    sudo apt install rospack-tools
    
    一般就能解决问题
  • 如果出现:
    ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list  
    Website may be down.
    
    多半网络有问题,建议换个网络或者梯子试试。
    或者执行:
    sudo gedit /etc/hosts
    
    在末尾添加下面这一行,保存并退出:
    151.101.84.133  raw.githubusercontent.com
    

安装rosinstall

sudo apt-get install python-rosinstall

加载环境设置文件

source /opt/ros/melodic/setup.bash

创建并初始化工作目录
ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建

cd ~/catkin_ws/
catkin_make

设置环境变量:

sudo apt install net-tools
gedit ~/.bashrc
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
 
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.89.135
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
 
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'

完成以上步奏之后,用小海龟试一试是否安装正常:
打开三个终端:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

你可能感兴趣的:(从ubuntu安装开始的Tensorflow环境配置)