DeepFaceLab参数详解之Batch-Size的使用和取值!
Batch-Size简称BS。 这是一个非常常见的参数,所有模型都具备的一个参数。 这其实是深度学习中的一个基础概念。要说理论可以说出一大堆,大家可以先简单的理解为一次处理的图片张数。为了防止吓跑小白,还是从实际操作说起。
1.如何设置batch-size
双击train64.bat 启动程序,三次回车后就出现了Batch_size,此时你可以输入一个具体的数字,比如:8。也可以直接回车(默认值为:4)。
2.修改设置batch-size
如果你更换了设备,或者从其他地方搞来了一个模型,因为配置不一样了,你可能需要修改BS,此时可以参考下面的操作。
同样双击train64.bat 启动程序,鼠标点击黑色窗口确保已经激活状态,然后立马回车,再来一个三连击,就可以修改BS了。
3 batch-size 设置成多少比较好?
理论放在最后,我们还是先实践,对比下H64模型,bs4和bs32,跑1000个iter的效果。
BS=4 的时候,单个迭代大概380ms, 1000个迭代后src_loss>2 总时间大概380s=6分钟。
BS=32 的时候,单个迭代大概680ms, 1000个迭代后src_loss<2 , 总时间大概680s=11分钟。
通过简单的对比可以发现。如果迭代次数相同,bs大的效果相对较好,loss曲线更加“瘦” 降低的比较快,但是相应消耗的时间也多了不少,接近一倍,同时还要消耗更多显存。
所以这个值并不是单纯的说越小越好,或者越大越好,而是时间和机器性能的一个平衡。 软件的默认值为4,推荐的取值为2的n次方,比如4,8,16,32,64,128。 一般用4,8,16比较多。
上图为,BS从8改到16。可以看到BS变大后振幅明显变小,时间翻倍,但是最低点并没有太大变化。
凡是有size的东西,大家往往都迷恋“大” (单纯一笑),其实合适的才是最好。
BS基本的原则是:根据自己的硬件设备来调整,从小往上调,调到OOM就知道极限在哪里了。
我喜欢练模型的时候开大一点,具体使用的时候开小一点。
4.batch-size扩展阅读
学有余力的想上进的可以看看专业的介绍,大神就不用看了。
小白也不要为难自己咯!即使读不懂这些,也能把软件玩的很溜。看完下面这篇文章,请告诉我梯度是什么,哈哈!
原文地址:https://blog.csdn.net/qq_34886403/article/details/82558399
-------------------------------------------------------------------------------------------------------
获取更多Deepfakes/AI换脸内容可访问deepfakes中文网
第一时间获取相关文章可关注微信公众号:托尼是塔克(TonyIsStark)
DeepFaceLab参数详解之Batch-Size的使用和取值!的更多相关文章
- DeepFaceLab参数详解之FPS与Image format
DeepFaceLab参数详解之FPS与Image format , 本文讲解两个非常简单的参数,也是大家玩这个软件最先接触到的.参数虽然非常的简单,但是非常有用,适当调整可以为你节省大量硬盘空间,大 ...
- HTML滚动字幕代码参数详解及Js间隔滚动代码
html文字滚动代码 <marquee style="WIDTH: 388px; HEIGHT: 200px" scrollamount="2" dire ...
- find常用参数详解
find常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的 ...
- JVM的参数详解(转)
12年毕业到先在处理第一年外这几年纯属于打酱油,当初自学Java然后就出来找工作了,还有第一家面试就通过了挺幸运的 但之后的这段时间一直是处于吃老本的状态.最近心情真的很不好,各种黄老邪!一直处于堕落 ...
- Lock_sga 和 pre_page_sga 参数详解
Lock_sga 和 pre_page_sga 参数详解 Lock_sga 和pre_page_sga,是两个平时用的不算太多的参数,但是这两个参数平时在优化的时候可能给你带来比较乐观的 ...
- Spark参数详解 一(Spark1.6)
Spark参数详解 (Spark1.6) 参考文档:Spark官网 在Spark的web UI在"Environment"选项卡中列出Spark属性.这是一个很有用的地方,可以检查 ...
- Nginx gzip参数详解及常见问题(已解决)
1.Nginx gzip功能 Nginx实现资源压缩的原理是通过ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip,ngx_http_gzip_module是Ng ...
- 5、SAMBA服务一:参数详解
①:SAMBA服务一:参数详解 ②:SAMBA服务二:配置实例 一.SAMBA简介 samba指SMB(Server Message Block,服务器信息块)协议在网络上的计算机之间远程共享Linu ...
- Nginx核心配置文件常用参数详解
Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/ ...
随机推荐
- linux shell 数组的使用
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- idea逆向生成hibernate工程
1.创建maven工程 2.在resources下创建hibernate.cfg.xml文件 <?xml version='1.0' encoding='utf-8'?> <!DOC ...
- pathlib:处理文件路径的瑞士军刀
pathlib是python3.4中引入的模块,专门用来处理路径的.个人觉得这是一个非常非常强大的模块,可以说是处理路径的一把瑞士军刀,下面我们就来看看它的功能. 在pathlib中有一个Path这个 ...
- 关于windows下无法删除文件,需要TrueInstaller权限的问题
笔者办公室的笔记本今天突然弹出来一个ie浏览器,这不是为了下载其他浏览器而存在的浏览器吗?现在还臭不要脸的弹出来,然鹅我在删除文件夹的时候,提示我无法删除,必须要有TrueInstaller的权限,那 ...
- 一跃进入C大门
相对跳转:b,bl 绝对跳转:直接给PC指针赋值
- mysql导入redis
将mysql中数据库指定表导入redis 如何将mysql中某个数据库中的表数据快速导入redis? 以下将演示将本地127.0.0.1中数据库test中的表t_abc导入本地redis中.步骤如下: ...
- 第四章 生命周期函数--35 vue-resource发起get、post、jsonp请求
vue-resource 官网 https://github.com/pagekit/vue-resource <!DOCTYPE html> <html lang="en ...
- sizeof运算符、字节对齐考点(面宝P50)
记住几句话: 结构体的长度一定是最长的数据元素类型的整数倍: 某数据元素的起始地址能被该类型所占的字节数整除: 静态变量是存放在全局数据区,而sizeof计算栈中分配的大小,不包括static变量: ...
- JZOJ5373【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
题目 分析 我们发现,如果[l,r]的异或和为k是真要求,有且仅当不存在[l,i]和[i,r]两个区间的异或和不为k. 我们用带权并查集了维护这些,但是,由于区间不连续,我们将点权移到边上,对于区间[ ...
- 前端有用JavaScript技巧
数组去重 //法1 var arr = [1, 2, 3, 3, 4]; console.log(...new Set(arr)) // [1, 2, 3, 4] //法2 function SetA ...