{% embed url="https://ohmyz.sh" caption="Oh My Zsh" %}
在 Ubuntu 下安装 oh my zsh 直接执行下面的命令即可:
sudo apt install -y git zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
{% embed url="https://developer.nvidia.com/cuda-downloads" caption="CUDA 10.1" %}
CUDA 是英伟达显卡进行各种高性能运算必备的库,不同软件包依赖的 CUDA 版本可能不同,请仔细阅读官方文档。
{% embed url="https://developer.nvidia.com/cudnn" caption="cuDNN" %}
最新版 cuDNN 下载需要注册,旧版 cuDNN 无需注册,地址如下:
{% embed url="https://developer.nvidia.com/rdp/cudnn-archive" caption="cuDNN Archive" %}
cuDNN 是英伟达推出的专门用于深度学习加速计算的库,一般来说比使用纯 CUDA 速度要快不少。比如Keras 里有普通的 LSTM 以及 CuDNNLSTM,速度相差最高有十倍。
如果没有设计特殊的结构,cuDNN 应该是你的首选。
{% embed url="https://developer.nvidia.com/tensorrt" %}
TensorRT 是英伟达推出的推断库(Inference),通常用于模型部署。
使用 TensorRT 可以进行半精度推断,甚至对模型进行 int8 量化,从而得到数倍的性能提升,并且尽可能保证精度。由于此项目还在开发阶段,不同的版本可能不通用,请参考你所使用的深度学习框架的文档,找到你所需要安装的 TensorRT 版本。
{% embed url="https://www.tensorflow.org/install/gpu" %}
最新版的 TensorFlow 使用的是 CUDA 10.0 和 cuDNN 7.4.1,NVIDIA 驱动需要 410.x 或更高版本。
建议按照官方文档中的 apt 方法安装 CUDA。
PyTorch 自带 CUDA 和 cuDNN,只需要安装驱动即可运行。
目前 PyPI 安装的 PyTorch 使用的是 CUDA9.0,如果你需要其他版本,请使用官网上的选择器找到你需要的版本,比如 Python 3.6 安装 CUDA10 的 PyTorch 需要使用下面的命令:
pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-linux_x86_64.whl
pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl
sudo apt install git htop nload curl tmux screen aria2 graphviz aptitude tree
常见的 git、htop、nload 等命令在 macOS 环境 里已经介绍过了。
curl 是一个多功能的网络操作命令,你可以使用它来发送 GET、POST 请求。
在开发服务的时候,我们会经常使用这个命令来测试服务是否能返回预期的结果。
GET:
curl https://dl.ypw.io
POST:
curl -d "param1=value1¶m2=value2" -X POST http://localhost:3000/data
POST json:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data
tmux 最大的好处是可以让你的命令在后台运行,不会因为终端关闭而退出。比如在后台运行 jupyter、python 数据预处理脚本和训练脚本等。
tmux 是一个优秀的终端复用器命令,用户可以通过tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。
比如你想同时监控 CPU、内存、显卡使用情况,那么你可以在使用 iTerm2 的情况下,执行下面的命令开启一个 tmux 会话(session):
tmux -CC new -s monitor
其中的 monitor 是这个会话的名字,你可以修改为自己喜欢的名字。
在弹出的窗口(window)中,你可以:
- 使用 ⌘+D
Command + D
横向分割这个窗口 - 使用 ⌘+⇧+D
Command + Shift + D
纵向分割这个窗口 - 使用 ⌘+N
Command + N
创建一个新的窗口
当你调整好布局以后,可以在每个窗格(panel)里运行你想运行的命令。
窗口大小可以使用鼠标进行调整,窗格大小也可以使用鼠标拖动修改。
修改好以后,我们可以得到类似下图的效果:
如果你想让 python 脚本在后台运行,只需要在刚才创建会话的地方按一下 esc 键,就可以脱离这个会话。
➜ ~ tmux -CC new -s monitor
** tmux mode started **
Command Menu
----------------------------
esc Detach cleanly.
X Force-quit tmux mode.
L Toggle logging.
C Run tmux command.
你也可以直接关闭开启会话的终端的窗口,效果一样。
恢复会话可以使用这个命令:tmux -CC attach -t monitor
如果你想完全退出所有的终端,只需要在每个窗格里 ⌘+W Command + W
即可,关闭最后一个窗口以后,这个会话就结束了。
screen 和 tmux 一样都是在后台运行命令的工具。
screen -S jupyter
其中 -S 后面跟的是 screen 的名字。
screen -r jupyter
其中 -r 后面跟的是 screen 的名字。
你可以在窗口中使用 exit 命令退出窗口,也可以使用下面的命令:
screen -X -S jupyter quit
其中 -S 后面跟的是 screen 的名字。
新建一个 ~/.screenrc
文件,在里面添加一行 termcapinfo xterm* ti@:te@
并保存,重新连接 screen 就可以使用滚轮了。
输入快捷键 Ctrl + a + [
进入拷贝模式,然后你就可以使用方向键、翻页键进行翻页。
下面是拷贝模式下的常用快捷键:
h - Move the cursor left by one character
j - Move the cursor down by one line
k - Move the cursor up by one line
l - Move the cursor right by one character
0 - Move to the beginning of the current line
$ - Move to the end of the current line.
G - Moves to the specified line
(defaults to the end of the buffer).
C-u - Scrolls a half page up.
C-b - Scrolls a full page up.
C-d - Scrolls a half page down.
C-f - Scrolls the full page down.
如果你记不得这么多快捷键,推荐 iTerm2 + tmux 的组合。