如何让DL_Image_Gen在RTX2080Ti上跑起来

  首先, DL_Image_Gen这个平台是在1080上顺利运行的, 环境如下
os: ubuntu16.04 LTS
Driver: 384.130
CUDA: 9.0.176
CUDNN: 7.0.5
torch:0.4.0

1. CUDA10

环境如下
os: ubuntu18.04 LTS
Driver: 410.78
CUDA: 10.0.130
CUDNN: 7.4.2

  开始的时候, 装torch是直接pip3 install torch, 装上的是1.0.1版本, 这个时候跑RNAN(in DL_Image_Gen)会出现下面的问题

RuntimeError: cuda runtime error (11) : invalid argument at /pytorch/aten/src/THC/THCGeneral.cpp:844

  这个问题出现的原因还是pytorch的版本和CUDA版本对不上的问题, 之前BY在CUDA9.0下面也碰到这个问题, 但不同的是, 虽然同样出现了THCudaCheck FAIL, 但他的代码在出现了这个error之后还是可以顺利运行过去, 我的就不行

  pytorch的论坛和github上, 很多人也都碰到了这个问题, 多数也都是在RTX2080或者2080Ti上, 有建设意见的有两个

https://github.com/1adrianb/face-alignment/issues/123

  这个小姐姐最后的解决方案是pytorch源码安装, 其实源码安装也并不复杂, 但问题是

Makefile:127: recipe for target 'all' failed

  这个坑我过不去, 上面csdn那篇博客上说降级gcc/g++到4.9, 但试了一下gcc/g++的4.9版本没法通过sudo apt-get install直接装, 装4.9,5.5都不好使, 所以这条路断绝了

  另外一个

https://discuss.pytorch.org/t/thcudacheck-fail-file-pytorch-aten-src-thc-thcgeneral-cpp/31788/6

torch.backends.cudnn.benchmark=False
image.png

  我之前确实在程序一开头设置过torch.backends.cudnn.benchmark=False, 但是还是出现了上面说的问题, 后来又用之前没加distiller那个简化版的DL_Image_Gen来试, 还是不行, 发现在solver.py里面, cudnn.benchmark=True, -_-! 改成False之后, Bing! 之前的错误不见了, 但有一个新问题

cublas runtime error: the GPU program failed to execute

  这个问题是在运行torch.matmul()函数的时候出现的

  再搜这个问题, 各种牛鬼蛇神又出来了, 靠谱的是这个

https://discuss.pytorch.org/t/bad-cuda-error-when-using-torch-matmul-with-cuda-10-0/36558

  一句话, 就是要用在Cuda10下编译出来的pytorch, 而直接装上的那个不知道是在什么环境下编译的, 所以又重新在https://pytorch.org/get-started/previous-versions/下了cu100/torch-1.0.0-cp36-cp36m-linux_x86_64.whl, 装上了之后, 就可以顺利运行了

  奇怪的是一点, 就是装了这个版本, 即使是把cudnn.benchmark=True, 也不会再报之前的THCudaCheck FAIL问题了, 很干净, 连在BY那儿出现的虽然FAIL但程序依然可以运行的问题都没有

  ps: 多说一句, DL_ImageGen的dependencies里面有tensorflow, 而tensorflow是没有cuda10下的官方版本的, 要pip3 install tf-nightly-gpu, 如果直接pip3 install tf-gpu的话, 会报错

can’t import “libcublas.so.9.0”

https://medium.com/@cjanze/how-to-install-tensorflow-with-gpu-support-on-ubuntu-18-04-lts-with-cuda-10-nvidia-gpu-312a693744b5

  总结一下, 在CUDA10下, 要把DL_Image_Gen跑起来, 其实关键是要在pytorch官网上, 安装对应CUDA10的那个torch版本, 而cudnn.benchmark=True or False其实并不影响, 下面, 就是要试一下在CUDA9.0的环境下能不能跑起来

2. CUDA9.0

环境如下
os: ubuntu18.04 LTS
Driver: 410.78
CUDA: 9.0.176
CUDNN: 7.0.5

  先完全照之前1080上的配置, 然后下pytorch官网的cu90/torch-0.4.0-cp36-cp36m-linux_x86_64.whl, 看能不能跑起来

  重新回到CUDA9.0之后, 按照在CUDA10.0上的经验, 我们把cudnn.benchmark=False, 并且安装pytorch提供的在CUDA9.0下编译出来的0.4.0版本, 运行RNAN的时候, 没有再报之前的

RuntimeError: cuda runtime error (11) : invalid argument at /pytorch/aten/src/THC/THCGeneral.cpp:844

  但是, 出现了CUDA10上也出现过的问题, 就是在运行torch.matmul()的时候, 出现报错

cublas runtime error : the GPU program failed to execute at /pytorch/aten/src/THC/THCBlas.cu:411

  我又在当前的环境下跑了BY的SRGAN和mini DL_Image_Gen中的c3srcnn, 虽然依然有THCudaCheck FAIL, 但是都可以训练起来

  也就是说, 这个版本的pytorch实际上还是有问题, 只能说支持了一部分的cuda上的操作, 但是torch.matmul()或这torch.mm()这样的操作在cuda上就会有问题

https://discuss.pytorch.org/t/runtimeerror-cublas-runtime-error-the-gpu-program-failed-to-execute-at/11470

https://discuss.pytorch.org/t/cublas-runtime-error/11243/7

  暂时还没有看到有什么解决方案, 所以现在的状态就是, 在CUDA10上, 用上一章的那套配置确定可以跑起来, 但是CUDA9上, 只要碰到torch.matmul()就跑不起来, 并且暂时没看到有好的解决方案

  下一步, 还是先用CUDA10+torch1.0.0(cuda10上没有编的torch0.4.0的版本)跑起来, 就跑在1080上跑的那个训练, 把torch.backends.cudnn.deterministic = True也开上, 然后看训练出来的模型的performance差异多大

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容