被安利了很久说2080ti下使用fp16可以提速而且几乎不影响效果,所以今天试着弄了一下,整体感觉是显存占用少很多,速度比较快,但是还是会影响准确度,而且一些非官方提供的模块使用起来不方便(因为不支持fp16)。这里记录一下安装过程和详细的使用体验,毕竟我金鱼记忆。
1. 配置apex
使用fp16,官方推荐用apex包。在安装apex时需要注意driver和cuda版本对应,不然可能会报错(顺便唠叨一句,以前感觉driver和cuda版本不对应影响不大,程序照样可以跑,但最近发现配置很多环境出错是它们版本不对应造成的)。然后按照apex官方提供的安装过程安装https://github.com/NVIDIA/apex。为了不影响速度,我选用了“installing Apex with CUDA and C++ extensions”,在conda环境下配置了pytorch1.0,我截的安装过程:
$ git clone apex
$ cd apex
$ pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" .
注意:pip install命令最后的“.”不要漏掉,这个表明在当前环境下操作。
遇到的错误:
(1)好象是cuda版本和driver版本不对应造成的,改了cuda后就可以了。(记得还要装对应cuda版本的pytorch)
RuntimeError: cublas runtime error : the GPU program failed to execute at /opt/conda/conda-bld/pytorch_1549616138213/work/aten/src/THC/THCBlas.cu:258
2. 使用fp16
可以参考<

本文介绍了在Ubuntu系统中,使用RTX2080Ti显卡配合PyTorch进行fp16训练的配置步骤和实际体验。通过apex库实现fp16,减少了显存占用并加快了速度,但可能影响模型准确度,且部分非官方模块不支持fp16。

4万+

被折叠的 条评论
为什么被折叠?



