zoukankan      html  css  js  c++  java
  • NVIDIA A100跑DeepFaceLab,日迭代破百万,像素上800!

    昨天用滴滴云的A100做了下TenorFlow的基准测试,可能略显抽象!今天来跑跑DeepFaceLab,整体来说A100还是挺强! A100也应该未来一两年最强的深度学习显卡了,毕竟是单张七八万,一套DGX 一百多万的卡!

    已经连续看了两天命令行和数字了,头围有所增加!

    环境配置:

    主角:A100-SXM4-40GB,

    配套:CUDA11,Tensorflow 1.15.2 NV特别版,

    系统:Ubuntu 18.04

    安装注意点:

    显卡相关支持和深度学习框架已经安装好了,只需要获取DeepFaceLab源代码,演示素材,安装相关依赖,这些操作可以参考之前的文章。

    特别注意点:

    安装依赖的时候记得把requirement文件里面的Tensorflow去掉。因为是新显卡,新驱动,必须要用特定版Tensorflow 。我本来打算按NV的官方指导自己在Conda上安装一个,以失败告终,为了节省时间就直接用滴滴云官方提供的环境来跑了。

    按流程操作后遇到两个问题!

    错误1:缺少so文件

    ImportError: libSM.so.6: cannot open shared object file: No such file or directory

    这种错误可大可小,有时候一条命了解决,有时候是无限套娃,A依赖B,B依赖CD,CD依赖EFG…

    万幸,这一次只需要一个命令就能解决

    apt-get install libsm6

    错误2 :诡异的编码问题

    UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘u200b’ in position 454: ordinal not in range(128)

    这个错误之前遇到过,所以也很快解决了,解决方法为找到报错的源代码,将其中的乱码删除,手动输入一次保存就正常了。

    跑起来吧!!!

    下面就开始跑模型了,我会贴几个常见参数的模型,大家可以对比下自己的机器和A100的差距。要看结论的直接拉到最后,今天陪跑的选项是V100,2080ti,1070。

    先跑个轻量级Quick96,参数如下。

    这个自然是快的飞起,大概是45ms一个迭代。

    接下来重点来了,跑跑重量级的SAEHD模型。这里废话就不说了,直接贴参数和迭代数据。先做一个DF结构下不同像素RES的对比,比如 128,192,256,512 等。

    参数:df-f-128-bs8

    参数:df-f-192-bs8

    参数:df-f-256-bs8

    参数:df-f-512-bs8

    木有办法,只能降降bs,试试看了

    参数:df-f-512-bs4

    接下来我们做一个DFUD结构下不同像素模型的对比,640×640的极限像素了能跑到么?

    dfud-f-128-bs8

    dfud-f-192-bs8

    dfud-f-256-bs8

    dfud-f-512-bs8 ,没有炸!

    此时nvidia-smi一下

    dfud-f-512-bs4 (这个主要是为了后面和V100 16G比较)

    dfud-f-640-bs8 (依旧没有炸,能跑起来)

    dfud-f-1024-bs4 (解锁软件上线,拉到1024像素跑跑看)

    dfud-f-800-bs4

    单个迭代时间已接近3秒。

    模型文件大小,大概3G多点!

    对比环节

    A100的情况大概就是这个样子。对于跑过各种设备的人,看到这些数据,不用多说应该心里有数了。对于不少人来说,我贴了一堆图,可能没啥直观感受。下面就用A100和V00以及GTX1070做一个对比。

    参数/显卡 A100-SXM4-40GB V100-SXM2-16GB RTX2080ti 11G GTX1070 8G
    df192 bs8 185ms 380ms 440ms 900ms
    df256  bs8 330ms 640ms 800ms x
    df512 bs4 900ms x x x
    dfud256 bs8 190ms 315ms 340ms 720ms
    dfud512 bs4 610ms 800ms x x
    dfud640 bs4 1250ms x x x
    dfud800 bs4 2600ms x x x

                                                                      A100 Vs V100 Vs GTX1070

    PS:不晓得什么情况,Colab的 V100数字飘到不行,只能勉强用了!  其中的x代表跑不了,数字越小越强!

    从数据中不难看出:

    1.  A100面前都是弟弟,二弟,三弟,四弟…

    2.  A100在模型像素比较小的时候优势比较大,DF192的情况下,A100比V100快一倍多!

    3.  A100能跑到800×800的像素,V100只能512,2080TI跑不了512。

    4.  2080TI其实有点强的,深度学习卡V100并没有甩他很远。

    下面来个更加直观的假设:

    假如我用A100跑一个DFUD512,一天能跑14万迭代!

    假如我用A100跑一个DF256,一天能跑26万迭代!

    假如我用A100跑一个DF128,一天能跑86万迭代!

    假如我用A100跑一个DFUD128,一天能跑130万迭代

    有钱真的可以买时间啊!我流下了贫穷的眼泪^_^!

    ============

    GPU A100 由滴滴云提供,目前可以申请测试! 滴滴云大师码:8888 !!

    文章链接:https://www.deepfaker.xyz/?p=2077

  • 相关阅读:
    动态规划(1)
    dockerfile构架镜像(8)
    redis(1)
    递归算法(1)
    docker commit理解构建镜像(7)
    Node fs 创建多层文件夹
    SUSE系列---修改IP和hosts文件
    本地oracle可以通过localhost连接,无法通过ip地址连接解决方法,oracle远程连接配置
    PLSQL报错: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
    StringUtils字符串工具类左侧补齐(leftPad)、右侧补齐(rightPad)、左右两侧补齐(center)工具方法
  • 原文地址:https://www.cnblogs.com/wangpg/p/13688687.html
Copyright © 2011-2022 走看看