num_epochs=1

num_archives=64

args.num_jobs_initial=3

args.num_jobs_final=8

num_iters=2*num_epochs*num_archives/(args.num_jobs_initial+args.num_jobs_final)

=2*1*64/(3+8)=12

 
 

3,3,4,4,5,5,6,6,6,7,7,8

64 archives

6*24=144

iteration 0, 3 GPUs

# 并行化训练

nnet3-train ... 0.mdl 1.1.raw

nnet3-train ... 0.mdl 1.2.raw

nnet3-train ... 0.mdl 1.3.raw

# 模型平均

nnet3-average exp/nnet3/rsi/1.1.raw exp/nnet3/rsi/1.2.raw exp/nnet3/rsi/1.3.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/0.mdl exp/nnet3/rsi/1.mdl

# 计算交叉验证的似然

nnet3-compute-prob ... 0.mdl train_diagnostic.egs

nnet3-compute-prob ... 0.mdl valid_diagnostic.egs

iteration 1, 3 GPUs

nnet3-train ... 1.mdl 2.1.raw

nnet3-train ... 1.mdl 2.2.raw

nnet3-train ... 1.mdl 2.3.raw

nnet3-average exp/nnet3/rsi/2.1.raw exp/nnet3/rsi/2.2.raw exp/nnet3/rsi/2.3.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/1.mdl exp/nnet3/rsi/2.mdl

nnet3-compute-prob ... 1.mdl train_diagnostic.egs

nnet3-compute-prob ... 1.mdl valid_diagnostic.egs

iteration 2, 4 GPUs

nnet3-train ... 2.mdl 3.1.raw

nnet3-train ... 2.mdl 3.2.raw

nnet3-train ... 2.mdl 3.3.raw

nnet3-train ... 2.mdl 3.4.raw

nnet3-average exp/nnet3/rsi/3.1.raw exp/nnet3/rsi/3.2.raw exp/nnet3/rsi/3.3.raw exp/nnet3/rsi/3.4.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/2.mdl exp/nnet3/rsi/3.mdl

nnet3-compute-prob ... 2.mdl train_diagnostic.egs

nnet3-compute-prob ... 2.mdl valid_diagnostic.egs

iteration 3, 4 GPUs

nnet3-train ... 3.mdl 4.1.raw

nnet3-train ... 3.mdl 4.2.raw

nnet3-train ... 3.mdl 4.3.raw

nnet3-train ... 3.mdl 4.4.raw

nnet3-average exp/nnet3/rsi/4.1.raw exp/nnet3/rsi/4.2.raw exp/nnet3/rsi/4.3.raw exp/nnet3/rsi/4.4.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/3.mdl exp/nnet3/rsi/4.mdl

nnet3-compute-prob ... 3.mdl train_diagnostic.egs

nnet3-compute-prob ... 3.mdl valid_diagnostic.egs

iteration 4, 5 GPUs

nnet3-train ... 4.mdl 5.1.raw

nnet3-train ... 4.mdl 5.2.raw

nnet3-train ... 4.mdl 5.3.raw

nnet3-train ... 4.mdl 5.4.raw

nnet3-train ... 4.mdl 5.5.raw

nnet3-average exp/nnet3/rsi/5.1.raw exp/nnet3/rsi/5.2.raw exp/nnet3/rsi/5.3.raw exp/nnet3/rsi/5.4.raw exp/nnet3/rsi/5.5.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/4.mdl exp/nnet3/rsi/5.mdl

nnet3-compute-prob ... 4.mdl train_diagnostic.egs

nnet3-compute-prob ... 4.mdl valid_diagnostic.egs

iteration 5, 5 GPUs

nnet3-train ... 5.mdl 6.1.raw

nnet3-train ... 5.mdl 6.2.raw

nnet3-train ... 5.mdl 6.3.raw

nnet3-train ... 5.mdl 6.4.raw

nnet3-train ... 5.mdl 6.5.raw

nnet3-average exp/nnet3/rsi/6.1.raw exp/nnet3/rsi/6.2.raw exp/nnet3/rsi/6.3.raw exp/nnet3/rsi/6.4.raw exp/nnet3/rsi/6.5.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/5.mdl exp/nnet3/rsi/6.mdl

nnet3-compute-prob ... 5.mdl train_diagnostic.egs

nnet3-compute-prob ... 5.mdl valid_diagnostic.egs

iteration 6, 6 GPUs

nnet3-train ... 6.mdl 7.1.raw

nnet3-train ... 6.mdl 7.2.raw

nnet3-train ... 6.mdl 7.3.raw

nnet3-train ... 6.mdl 7.4.raw

nnet3-train ... 6.mdl 7.5.raw

nnet3-train ... 6.mdl 7.6.raw

nnet3-average exp/nnet3/rsi/7.1.raw exp/nnet3/rsi/7.2.raw exp/nnet3/rsi/7.3.raw exp/nnet3/rsi/7.4.raw exp/nnet3/rsi/7.5.raw exp/nnet3/rsi/7.6.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/6.mdl exp/nnet3/rsi/7.mdl

nnet3-compute-prob ... 6.mdl train_diagnostic.egs

nnet3-compute-prob ... 6.mdl valid_diagnostic.egs

iteration 7, 6 GPUs

nnet3-train ... 7.mdl 8.1.raw

nnet3-train ... 7.mdl 8.2.raw

nnet3-train ... 7.mdl 8.3.raw

nnet3-train ... 7.mdl 8.4.raw

nnet3-train ... 7.mdl 8.5.raw

nnet3-train ... 7.mdl 8.6.raw

nnet3-average exp/nnet3/rsi/8.1.raw exp/nnet3/rsi/8.2.raw exp/nnet3/rsi/8.3.raw exp/nnet3/rsi/8.4.raw exp/nnet3/rsi/8.5.raw exp/nnet3/rsi/8.6.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/7.mdl exp/nnet3/rsi/8.mdl

nnet3-compute-prob ... 7.mdl train_diagnostic.egs

nnet3-compute-prob ... 7.mdl valid_diagnostic.egs

iteration 8, 6 GPUs

nnet3-train ... 8.mdl 9.1.raw

nnet3-train ... 8.mdl 9.2.raw

nnet3-train ... 8.mdl 9.3.raw

nnet3-train ... 8.mdl 9.4.raw

nnet3-train ... 8.mdl 9.5.raw

nnet3-train ... 8.mdl 9.6.raw

nnet3-average exp/nnet3/rsi/9.1.raw exp/nnet3/rsi/9.2.raw exp/nnet3/rsi/9.3.raw exp/nnet3/rsi/9.4.raw exp/nnet3/rsi/9.5.raw exp/nnet3/rsi/9.6.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/8.mdl exp/nnet3/rsi/9.mdl

nnet3-compute-prob ... 8.mdl train_diagnostic.egs

nnet3-compute-prob ... 8.mdl valid_diagnostic.egs

iteration 9, 7 GPUs

nnet3-train ... 9.mdl 10.1.raw

nnet3-train ... 9.mdl 10.2.raw

nnet3-train ... 9.mdl 10.3.raw

nnet3-train ... 9.mdl 10.4.raw

nnet3-train ... 9.mdl 10.5.raw

nnet3-train ... 9.mdl 10.6.raw

nnet3-train ... 9.mdl 10.7.raw

nnet3-average exp/nnet3/rsi/10.1.raw exp/nnet3/rsi/10.2.raw exp/nnet3/rsi/10.3.raw exp/nnet3/rsi/10.4.raw exp/nnet3/rsi/10.5.raw exp/nnet3/rsi/10.6.raw exp/nnet3/rsi/10.7.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/9.mdl exp/nnet3/rsi/10.mdl

nnet3-compute-prob ... 9.mdl train_diagnostic.egs

nnet3-compute-prob ... 9.mdl valid_diagnostic.egs

iteration 10, 7 GPUs

nnet3-train ... 10.mdl 11.1.raw

nnet3-train ... 10.mdl 11.2.raw

nnet3-train ... 10.mdl 11.3.raw

nnet3-train ... 10.mdl 11.4.raw

nnet3-train ... 10.mdl 11.5.raw

nnet3-train ... 10.mdl 11.6.raw

nnet3-train ... 10.mdl 11.7.raw

nnet3-train ... 10.mdl 11.8.raw

nnet3-average exp/nnet3/rsi/11.1.raw exp/nnet3/rsi/11.2.raw exp/nnet3/rsi/11.3.raw exp/nnet3/rsi/11.4.raw exp/nnet3/rsi/11.5.raw exp/nnet3/rsi/11.6.raw exp/nnet3/rsi/11.7.raw exp/nnet3/rsi/11.8.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/10.mdl exp/nnet3/rsi/11.mdl

nnet3-compute-prob ... 10.mdl train_diagnostic.egs

nnet3-compute-prob ... 10.mdl valid_diagnostic.egs

iteration 11, 8 GPUs

nnet3-train ... 11.mdl 12.1.raw

nnet3-train ... 11.mdl 12.2.raw

nnet3-train ... 11.mdl 12.3.raw

nnet3-train ... 11.mdl 12.4.raw

nnet3-train ... 11.mdl 12.5.raw

nnet3-train ... 11.mdl 12.6.raw

nnet3-train ... 11.mdl 12.7.raw

nnet3-train ... 11.mdl 12.8.raw

nnet3-average exp/nnet3/rsi/12.1.raw exp/nnet3/rsi/12.2.raw exp/nnet3/rsi/12.3.raw exp/nnet3/rsi/12.4.raw exp/nnet3/rsi/12.5.raw exp/nnet3/rsi/12.6.raw exp/nnet3/rsi/12.7.raw exp/nnet3/rsi/12.8.raw - | nnet3-am-copy --set-raw-nnet=- exp/nnet3/rsi/11.mdl exp/nnet3/rsi/12.mdl

nnet3-compute-prob ... 11.mdl train_diagnostic.egs

nnet3-compute-prob ... 11.mdl valid_diagnostic.egs

combine

nnet3-combine ... exp/nnet3/rsi/12.mdl exp/nnet3/rsi/11.mdl exp/nnet3/rsi/10.mdl exp/nnet3/rsi/9.mdl exp/nnet3/rsi/8.mdl exp/nnet3/rsi/7.mdl exp/nnet3/rsi/egs/combine.egs exp/nnet3/rsi/combined.mdl

nnet3-compute-prob ... combined.mdl train_diagnostic.egs

nnet3-compute-prob ... combined.mdl valid_diagnostic.egs

adjust priors

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.1.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.1.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.2.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.2.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.3.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.3.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.4.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.4.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.5.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.5.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.6.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.6.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.7.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.7.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.8.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.8.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.9.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.9.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.10.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.10.vec

nnet3-compute-from-egs --use-gpu=yes --apply-exp=true exp/nnet3/rsi/combined.mdl ark:'... egs.11.ark' ark:- | matrix-sum-rows ark:- ark:- | vector-sum ark:- exp/nnet3/rsi/post.combined.11.vec

 
 

vector-sum exp/nnet3/rsi/post.combined.1.vec exp/nnet3/rsi/post.combined.10.vec exp/nnet3/rsi/post.combined.2.vec exp/nnet3/rsi/post.combined.3.vec exp/nnet3/rsi/post.combined.4.vec exp/nnet3/rsi/post.combined.5.vec exp/nnet3/rsi/post.combined.6.vec exp/nnet3/rsi/post.combined.7.vec exp/nnet3/rsi/post.combined.8.vec exp/nnet3/rsi/post.combined.9.vec exp/nnet3/rsi/post.combined.vec

 
 

nnet3-am-adjust-priors exp/nnet3/rsi/combined.mdl exp/nnet3/rsi/post.combined.vec exp/nnet3/rsi/final.mdl

 
 

nnet3的并行化训练的更多相关文章

  1. Python多进程实现并行化随机森林

    文章目录 1. 前言 2. 随机森林原理 3.实现原理 3.1并行化训练 3.1.1训练函数 3.1.2 单进程训练函数 生成数据集模块--生成部分数据集 单进程训练函数代码 3.2 并行化预测 3. ...

  2. Batch Size对神经网络训练的影响

    ​ 前言 这篇文章非常全面细致地介绍了Batch Size的相关问题.结合一些理论知识,通过大量实验,文章探讨了Batch Size的大小对模型性能的影响.如何影响以及如何缩小影响等有关内容. 本文来 ...

  3. Dan版本的nnet2

    除了chain,nnet1, nnet2, nnet3训练时调整转移模型,chain模型使用类似与MMI的训练准则 Dan's setup does not uses pre-training. Da ...

  4. 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用

    深度神经网络(Deep Neural Networks, 简称DNN)是近年来机器学习领域中的研究热点,产生了广泛的应用.DNN具有深层结构.数千万参数需要学习,导致训练非常耗时.GPU有强大的计算能 ...

  5. 【深度学习系列2】Mariana DNN多GPU数据并行框架

    [深度学习系列2]Mariana DNN多GPU数据并行框架  本文是腾讯深度学习系列文章的第二篇,聚焦于腾讯深度学习平台Mariana中深度神经网络DNN的多GPU数据并行框架.   深度神经网络( ...

  6. XGBoost、LightGBM的详细对比介绍

    sklearn集成方法 集成方法的目的是结合一些基于某些算法训练得到的基学习器来改进其泛化能力和鲁棒性(相对单个的基学习器而言)主流的两种做法分别是: bagging 基本思想 独立的训练一些基学习器 ...

  7. tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别

    在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型).或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共享变量.另外一方面是当一个深度学习模型变 ...

  8. tensorflow中的name_scope, variable_scope

    在训练深度网络时,为了减少需要训练参数的个数(比如LSTM模型),或者是多机多卡并行化训练大数据.大模型等情况时,往往就需要共享变量.另外一方面是当一个深度学习模型变得非常复杂的时候,往往存在大量的变 ...

  9. Tensorflow常用函数说明(一)

    首先最开始应该清楚一个知识,最外面的那个[ [ [ ]]]括号代表第一维,对应维度数字0,第二个对应1,多维时最后一个对应数字-1:因为后面有用到 1 矩阵变换 tf.shape(Tensor) 返回 ...

随机推荐

  1. SpringCloud 学习网址记录

    SpringCloud Gateway https://www.cnblogs.com/ityouknow/p/10141740.html 熔断降级的概念 https://blog.csdn.net/ ...

  2. vmware centos7 minimal 配置共享文件夹

    使用的是VMware安装CentOS7 minimal版,系统镜像是CentOS-7-x86_64-DVD-1708.iso. 宿主机系统为win10,CentOS7 minimal过程省略,可参考h ...

  3. python小白——进阶之路——day4天-———流程控制while if循环

    # ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) # 注意点: 要么全部使用4个空格,要么全部使用1个缩进 ,这样 ...

  4. Winform开发框架中工作流模块的动态处理

    在工作流处理表中,首先我们区分流程模板和流程实例两个部分,这个其实就是类似模板和具体文档的概念,我们一份模板可以创建很多个类似的文档,文档样式结构类似的.同理,流程模板实例为流程实例后,就是具体的一个 ...

  5. 基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型

    前言 随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问 ...

  6. JAVA获取计算机CPU、硬盘、主板、网络等信息

    通过使用第三方开源jar包sigar.jar我们可以获得本地的信息 1.下载sigar.jar sigar官方主页 sigar-1.6.4.zip 2.按照主页上的说明解压包后将相应的文件copy到j ...

  7. WPF中利用控件的DataContext属性为多个TextBox绑定数据

    工作上需要从给定的接口获取数据,然后显示在界面的编辑框中,以往肯定会一个一个的去赋值,但这样太麻烦而且效率很低,不利于维护,于是想到了数据绑定这一方法,数据绑定主要利用INotifyPropertyC ...

  8. [转帖]golang操作mysql使用总结

    golang操作mysql使用总结 https://www.cnblogs.com/hanyouchun/ 讲解的很详细~ 前言 Golang 提供了database/sql包用于对SQL数据库的访问 ...

  9. js DOM操作 容易犯的错误

    这样一段html片段 <select class="form-control" id="course_chapter" onchange="fi ...

  10. H5的段落标签、图片标签、列表标签与链接标签

    段落标签 (1)<p>段落标签</p> (2)<nobr>强制不换行标签,会出现滚动条</nobr> (3)<pre>保留原始排版标签< ...