2020年1月1日
炼丹第0步,装好环境
系统 Ubuntu 18.04 LTS
先装上conda(自带大多数科学计算基础包,以及比较优秀的包管理系统):
国内网络环境建议到清华大学镜像站下载:
Tsinghua Open Source Mirrormirror.tuna.tsinghua.edu.cn下载最新版本的安装包然后安装:
sh Anaconda3-2019.10-Linux-x86_64.sh
安装过程中需要注意安装路径,需要保证这是个空路径而且当前用户对于这个文件夹有写权限。安装之后执行conda init来初始化,之后就可以使用conda命令了。
安装过conda之后先装整出来个虚拟环境:
conda create -n name_of_the_env python=3.7
这样做的好处是在虚拟环境里可以只安装这个项目需要的包,可以有项目所需要的python版本(比如casa还是python2,真让人头大)。
然后安装pytorch,可以去官网 pytorch.org 选好自己的对应环境就能有个安装命令,复制粘贴运行就行。
如果想要pytorch运行在GPU上的话还需要有nvidia的显卡,在机器学习上,还是得整个显卡,4路E7都干不过1060。
此时需要先安装cuda,是N卡做计算的驱动,到英伟达官网https://developer.nvidia.com/cuda-downloads 下载最新的驱动版本:
也是复制粘贴运行(需要管理员权限)没有难度。
cuda安装好之后运行nvidia-smi如果看到你在主机上装的显卡的数量和型号能对上应该就是装好了,比如:
理论上来说至此已经可以运行pytorch来进行神经网络的训练了。
但是,值得注意的是,大部分时候,比较强算力的机器是服务器,而服务器在机房,不会像个主机一样,可以一边训练,一边开个pycharm或者VSCode改model,而且比较传统的方式: 写代码->上传->运行->修改->运行 的方法太不优雅了,这里可以使用jupyterlab或者vscode-server 来实现丝滑流场的开发和运行。实现方式是在服务器上起一个编辑器的服务,然后我们来访问这个服务器来实现在线的编辑以及运行命令。
先安装jupyterlab (如果没有的话):
conda install jupyterlab
然后在命令行下运行:
jupyter-lab --no-browser
此时会启动一个jupyter服务器,同时避免在服务器开启一个浏览器,我们在本地启动一个服务器,然后访问命令弹出来的带密钥的网址,就会进入jupyterlab工作环境:
有notebook,能改脚本,有文件树,有terminal,画完图能直接看,夫复何求。
所以工作流程是这样的: 在notebook里面开发+测试,把成熟的部分封装并写成.py文件并在notebook里引用来简化notebook,等所有都结束了之后在terminal里用tmux启动一个几万epoch的大训练,然后就是漫无天日的等待了。