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. SpringIOC和AOP简单概述

    Spring学习:主要学习两大块IOC   AOP 一.IOC   IOC:控制反转(也可以叫做依赖注入)的基本认识:   当某个Java对象(调用者)需要调用另一个Java对象(被依赖对象)的方法时 ...

  2. (三)Installation

    Elasticsearch requires at least Java 8. Specifically as of this writing, it is recommended that you ...

  3. i春秋 百度杯”CTF比赛 十月场 login

    出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的logi ...

  4. java 服务端I/O非阻塞实现05

    /** * 非阻塞IO多线线程服务端 * 当一个任务进入多线程,这个任务线程需要处理接收信息.发送信息.因而发生I/O阻塞问题 * 利用selector可以实现异步 * */ public class ...

  5. 在Bootstrap开发框架中使用bootstrap-datepicker插件

    在基于Boostrap的Web开发中,往往需要录入日期内容,基于Boostrap的插件中,关于日期的录入可以使用bootstrap-datepicker这个非常不错的插件,以替代默认的type=dat ...

  6. Web项目中出现乱码

    (不知道怎么写才好) 分两种情况: 1.如果是 get 方式 单独修改: new String(str.getBytes("原来的编码"), "想要的编码") ...

  7. CodeForces Round #552 Div.3

    A. Restoring Three Numbers 代码: #include <bits/stdc++.h> using namespace std; ]; int a, b, c; i ...

  8. hMailServer 邮件服务器搭建

    HMailServer是一个运行于微软Windows系统.基于GPL授权.免费的电子邮件系统:支持常见的电子邮件协议SMTP.POP3.IMAP:可以很容易地与许多现有的网络邮件系统集成和二次开发:具 ...

  9. Electron桌面应用打包流程

    一. 准备工作 1.npm的安装需要下载node.js,安装完node.js之后npm自然会有. 参考链接:http://www.runoob.com/nodejs/nodejs-install-se ...

  10. java从Swagger Api接口获取数据工具类