从零开始搭建NLP Linux开发环境:Ubuntu18.04双系统,中文输入法,pycharm,anaconda,nvida驱动,cuda,cudnn,pytorch,allennlp

你。 提交于 2020-01-13 01:15:11

写在前面

2020年配置深度学习开发环境,除了有几个坑之外,安装过程是简单的,网上繁琐的方法,反而有可能是过时甚至危险的。
这篇博客的目的是结合几个精华博客,说明原理与坑点,帮助对操作系统不太熟悉的小伙伴们顺利安装。

安装Win10+Ubuntu双系统

电脑是华硕飞行堡垒,1060,1T机械硬盘。
根据https://blog.csdn.net/github_37603222/article/details/70833565
名词:

  1. 启动盘指的是在安装过程中使用到的文件,类似于早年系统光盘,可以使用u盘制作,也可以在磁盘上分区为启动盘。

主要过程如下,请参照链接查看具体过程。

首先关闭快速启动,然后

  1. 下载Ubuntu镜像(官网)和easy uefi破解版(百度)
  2. 使用Win10自带分区工具,分两个区:Ubuntu启动盘(Disk1 4G Fat32)和Ubuntu安装盘(Disk2,80G,未分配),前者用于uefi启动并安装系统到Disk2,后者是Ubuntu系统盘,在后面会分配给Ubuntu。
  3. 将下载的Ubuntu镜像解压到Disk1,作为启动盘。
  4. 打开easy uefi,设置Disk启动项并调整为第一顺位,这样在重启后会从Disk1启动
  5. 重新启动,进入Disk1的临时安装系统。
  6. 首先umount(取消挂载) /dev/sdax,这个x需要自动补全,这个设备就是你的安装盘,可以通过容量分辨,至于为什么需要取消挂载,推测是因为只有这样才能安装到Ubuntu分区。在这里插入图片描述
  7. 在这里插入图片描述
  8. 在这个界面我选择的是1. 最小化安装2. 安装Ubuntu时不下载更新和3.不安装第三方软件,这是最快的选择
    1. 需要注意
    2. 如果之前进入过这一步,这里不会出现第一个选择,可以无视
    3. 如果没有联网或者网络不稳定,第二个选择会变灰,可以等待出现
  9. 选择手动分区,如果是第一次安装,这个界面会找到一个未分配设备,就是Disk2,可以通过容量分辨,将其分配为四个Ubuntu必备的分区。
    1. 根文件系统 / 用来安装用户软件和系统软件,以及其他功能至少20g
    2. 用户分区 /home 用来储存用户数据
    3. 引导分区 /boot
    4. linux虚拟内存
    5. 这里我的建议是根文件系统至少20g,紧接着分配/home,而不是按照链接里的顺序。因为根目录分配10g装不下cuda,所以分配20g,并且为了后期随时扩容,将它和/home挨着。
  10. 一直next直到开始自动安装,这个过程很长,不要点击skip,会导致安装失败。在这里插入图片描述

注:

  1. 如果因为任何原因重装,不用进Windows删除已有的Ubuntu,直接回到启动盘安装即可,唯一的区别是分区时显示的是已有分区,可以通过减号按钮重新分区,相邻的未分配区也会直接合并。
  2. 给/分配的空间和/home分配的空间是独立的,如果没有显示分配/home,则会共享/的,否则可以认为独立,换句话说,/,/home和/boot不是包含关系,而是挂载关系。

中文输入法

按照以上方法安装的Ubuntu18.04会自带很好用的中文输入法。

pycharm

pycharm使用应用商店(黄色手提包)安装
在这里插入图片描述

anaconda3

  1. 去官网下载.sh
  2. 在这里插入图片描述
  3. 在默认的/home/username/下载 文件夹下找到,.sh和.run类似win下的exe文件,但是不能点击运行,而是在该目录下开启终端,使用sudo bash 文件名或者sudo ./文件名 安装

nvidia驱动

https://blog.csdn.net/new_delete_/article/details/81544438

链接流程有三个需要注意的地方

  1. 我直接在nvidia官网下载的.run文件在这里插入图片描述,.run文件和.sh文件的安装方法如出一辙,但安装时需要先使用chmod指令给用户添加执行权限(+x)
chmod +x NVIDIA-Linux-x86_64-384.130.run 
sudo ./NVIDIA-Linux-x86_64-384.130.run --no-opengl-files
  1. 我在安装前就已经装上了最新版的gcc和cmake,安装过程在警告不兼容,选择仍然安装之后并无大碍。
  2. 安装完执行nvidia-smi发现cuda10.2,这并不代表已经装上了cuda10.2,仅仅意味着当前版本的驱动支持cuda10.2,真正的cuda还要自己安装
    在这里插入图片描述

cuda和cudnn

https://blog.csdn.net/u012428169/article/details/90942762

pytorch和allennlp

尽管anaconda自带了不少python库,但我会为不同的实验创建不同的虚拟环境,一个原则是:从高往低安装,例如,allennlp依赖pytorch,pytorch依赖python,那么只安装一个allennlp,让conda自己解决依赖。
不过allennlp比较特殊,即使是在conda环境下也只能通过pip安装,那么就先安装pytorch,利用pytorch安装pip,手动对齐pytorch和allennlp的版本,再利用pip安装allennlp。

  1. conda create -n name #创建一个名为name的空环境
  2. conda activate name # 切换到name环境
    在这里插入图片描述
  3. 根据官网安装需要版本(根据torch版本,有无gpu,cuda版本等)的pytorch,我这里安装默认版本:conda install pytorch,可以发现pytorch自带pip
  4. 在这里插入图片描述
  5. pip install allennlp

使用两个命令完成了python库配置,如果不需要allennlp可以只安装pytorch,注意对齐cuda版本就好。

其他问题

下载速度慢

如果在apt,pip或者conda install时发生超时或下载慢,都应该换源。
apt:https://blog.csdn.net/vselfdom/article/details/88524490
pip:pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple # 我习惯在每次下载时手动指定清华源
conda:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
 
# 搜索时显示通道地址
conda config --set show_channel_urls yes
``
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!