实践踩坑实录-1

作者 Nuowen Kan 日期 2019-04-03
实践踩坑实录-1

使用深度学习,令人烦闷的一点在于深度学习的使用平台,Caffe, Tensorflow, Pytorch, and so on. 版本五花八门,功能体验争奇斗艳。每一个初学者入门的时候还没体验到神经网络的神奇,就要首先面临一道困惑的双选题:Tensorflow 还是 Pytorch ?网上一搜,这两派的信众各有一大堆,优劣势给你列的明明白白的,但对于初学者来说,这些优劣势带来的影响哪能评判的了。最优的办法是,你熟悉的圈子用什么,那你就用什么,这样在遇到因为软件配置带来的麻烦时,也能少踩一些坑。

在我入门的时候,实验室的师兄师姐们用的是 Caffe 和 tensorflow,所以我直接 Tensorflow 入坑(为什么不用 Caffe?因为我入门的时候已经是2018年了)。

深度学习平台的配置

操作系统

首选当然是 Linux 系统啊,因为实验室给我配了台工作站(24核CPU,无显卡,显卡对于深度强化学习也不是什么硬性需求),所以我就装了 Ubuntu-server 16.04,加上 Xrdp, Xfce4 远程桌面配置。具体操作参考这篇。

软件配置

建议使用 Anaconda 平台进行包管理,也能创建虚拟环境,方便python版本的切换。另外,在虚拟环境中瞎折腾也没事,不然直接在Ubuntu根目录下操作,一不小心就会让你不得不重装系统。

具体教程可以参见

安装tensorflow一行命令就可以了

conda install -n $you virtual env name, e.g., py36$ tensorflow=1.3.0

注意以上命令安装的是tensorflow的CPU版本,需要安装GPU版本的话,把tensorflow换成tensorflow-gpu 就可以了。

另外还需要注意的是,虽说tensorflow向下兼容,但是如果你是用旧版本的函数写的代码,然后用新版本来运行,会出现非常多的问题,比如,速度奇慢,跑到中途突然停了,也不报错等等。所以需要根据你的代码内容来选择合适的版本,千万别以为版本越新越好!

编译器

无脑推荐 VScode,谁用谁知道。不过在使用Xrdp远程连接ubuntu虚拟桌面的时候,需要对vscode进行一些配置,不然不能在远程桌面窗口打开图形界面。

操作如下:

# make a copy of the relevant library
mkdir ~/lib
cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ~/lib
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1
# set the dynamic loader path to put your library first before executing VS Code
LD_LIBRARY_PATH=$HOME/lib code # add it to .bashrc

如果还不行的话,可以仔细阅读Github上相关 issue:

-VS Code not working on Ubuntu when connected using XRDP. #3451