Win10与Ubuntu双系统下安装tensorflow2.0全流程备忘录

全部流程

流程有点儿多,慢慢写,慢慢看。已经不知道多少次重装系统了,每次都得折腾好久,折腾得心累,写个流程记录一下吧,方便下次重装。

安装Windows10

下载
没啥好说的,去官网下载一个iOS镜像文件,刻录到光盘里。

需要注意的是,要将BIOS的启动方式修改为UEFI模式。以我的华硕主板为例,开机F2进入BIOS设置,进入高级模式。在“启动”中找到“CSM模式”,关掉。
磁盘使用GPT模式,对于MBR模式的,使用Windows自带的工具进行转换。

  1. 右键此电脑,管理,存储,磁盘管理,右键每一个磁盘,看看哪个需要转换。
  2. 以管理员身份运行cmd
    验证和转换,0替换为要转换的磁盘编号

mbr2gpt /disk:0 /validate /allowfullos
mbr2gpt /convert /disk:0 /allowfullos

安装Ubuntu18.04

下载
还是先刻盘。安装时先进入试用模式,在软件更新器中将下载源换成国内的,我每次都用华为的源。将电源选项改为常亮(我遇到了息屏后安装会停止的问题)。接着开始安装。

  1. 语言选为中文。
  2. 键盘为默认汉语。
  3. 四个选项选1正常安装和3下载更新。
  4. 选第一个与Windows共存。
  5. 只留一个新的空盘安装Ubuntu,此时会自动选择该盘。
  6. 时区选上海
  7. 设定用户名密码,开始安装。
  8. 漫长的等待……
  9. 重启。
  10. 修改华为源,更新软件。

我在安装时遇到了一个无法创建grub启动的问题,Google说这是Ubuntu的bug,给出的解决方法是在这一步选择下载更新,所以第三步一定要选下载更新,但是不保证一定能成功,我在选了下载更新的情况下失败过一次,这时候最简单的方法就是重装Ubuntu,就是比较费时间。

在安装失败重装Ubuntu时,先进Windows清空磁盘。这时候可能会出现黑屏,几句话加一个“grub:”,输入exit后进入Windows。还是在刚才的磁盘管理处,删除安装Ubuntu的磁盘,这时候可能会遇到Ubuntu系统的EFI分区用磁盘管理删除不掉。参考theoreoeater的这篇博客,轻松搞定。

安装nVidia驱动

禁用nouveau

首先创建文件

~$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件中输入

blacklist nouveau
options nouveau modeset=0

保存退出后更新配置

~$ sudo update-initramfs -u

重启电脑

~$ reboot

检测驱动是否禁止,无输出,则禁止成功

~$ lsmod | grep nouveau

安装nVidia驱动

下载
首次检查是否装有gcc

~$ gcc –version

如果没有就安装一个

~$ sudo apt update
~$ sudo apt install build-essential
~$ gcc --version

接着安装nVidia驱动。先进入安装文件目录,

~$ cd install_package

安装nVidia驱动没必要关闭图形界面。不知道为啥网上查到的都让先关闭图形界面,对于我这种Linux菜鸡来说,没有图形界面怎么活……

~$ sudo chmod a+x NVIDIA-Linux-x86_64-390.59.run
~$ sudo ./NVIDIA-Linux-x86_64-440.36.run

必然会报错The distribution-provided pre-install script failed!,不必理会,继续安装。出现是否使用nv的xconfig文件时选yes。

~$ reboot
~$ nvidia-smi

这时可以看到驱动已经是440了,但是cuda version是10.2,关于cuda版本没搞懂啥意思,后续装完10.0的cuda,还是显示10.2,但是不影响使用。

安装Anaconda

下载
把.sh文件拖入终端执行,有个关于conda的yes/no的选项,选yes。

安装cuda

下载
如果之前安装过cuda,先卸载。卸载cuda很简单,一条命令就可以了,主要执行的是cuda自带的卸载脚本。

~$ sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

使用deb安装的没有pl文件,删除方式如下

$ sudo apt-get remove --purge cuda
$ sudo apt-get autoremove

之后删除文件夹中的剩余文件。

~$ sudo rm -rf /usr/local/cuda-8.0/

Ubuntu可以用run文件安装,也可以用deb安装。我推荐使用run文件安装,不容易出错。运行run文件

~$ sudo sh cuda__linux.run

各个选项,有两个地址的直接enter

accept
n(驱动前边已经安装了)
y
y
y

重启电脑

~$ reboot

使用deb安装

$ sudo dpkg -i cuda-repo-.deb
$ sudo apt-key add /var/cuda-repo-/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda
当sudo apt-get install cuda报错无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系,这时候换用下面的
$ sudo aptitude intall cuda

在终端中打开(也可以找到文件直接打开)bashrc

~$ sudo gedit ~/.bashrc

在文件中输入

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}  
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存退出。验证cuda(感觉没啥必要)

~$ cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
~$ sudo make
~$ ./deviceQuery

最后出现“Result = PASS”就没问题了。

查看cuda版本

~$ cat /usr/local/cuda/version.txt

安装cudnn

下载
同样可以使用两种类型的文件安装,我推荐使用tgz文件,使用deb文件安装后不方便查看cudnn版本。

进入tgz所在文件夹,解压tgz文件(其实直接将tgz拖进来使用绝对路径就可以)

~$ tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz

复制文件到cuda中

~$ 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 /usr/local/cuda/lib64/libcudnn*

查看cudnn版本

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

安装tensorflow

下载
使用whl文件安装,加上清华的源,因为安装中要下载一些包。

~$ pip install XX.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装opencv

下载
使用whl文件安装。

~$ pip install XX.whl

安装gdal

下载
下载whl,先尝试用pip安装。

~$ pip install XX.whl

之前用pip安装一直都能成功,这次重装不知道哪儿搞岔气了,使用pip安装gdal告诉我当前平台不支持这个whl文件,试了两个版本的whl文件都不行,搜了半天也没找到原因。

最后没办法了,使用conda安装的。

~$ conda install gdal

使用conda前,先换成清华的源,不然速度慢不说,最受不了的是有一些文件下着下着就断了……

按照官方给的方法替换,网上搜出来的替换之后不成功。

安装vscode

下载
上官网下个deb文件双击运行安装,之后再装几个插件。

Anaconda Extension Pack
Chinese (Simplified)
Python
YAML

在使用tensorflow时遇到了一个错误提示“No name “python” in module”,虽然这并不是个错误,不影响使用,但是强迫症看着难受。简单搜了一下,参考这篇博客修改一下设置。新版vscode只需要修改一项,在设置中找到python.linting.pylintEnable,取消勾选,OK。

添加spyder图标

很无语,为啥anaconda装完以后没有spyder图标呢?参考

在anaconda3/share/applications中有个spyder.desktop文件,打开它(还是可以直接拖进来使用完整路径)

~$ sudo vim spyder.desktop

下载一个spyder的图标(我直接把Windows的spyder图标拷过来了),然后修改desktop文件中的Icon,TryExec和Exec,一定要使用绝对路径。

Icon=/home/name/anaconda3/share/icons/spyder3.png
TryExec=/home/name/anaconda3/bin/spyder
Exec=/home/name/anaconda3/bin/spyder %F

点击Esc,输入:wq 回车保存退出。

双击图标运行,选择trust。到现在完成了图标的生成,但是还没法添加到收藏夹。最后需要将图标复制到/usr/share/applications/。直接复制会提示没权限,只能使用命令行(还是拖进来使用绝对路径)

~$ sudo cp spyder.desktop /usr/share/applications/

完工,测试tensorflow2.0.0没有遇到问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值