Tensorflow nmt的整体结构
Tensorflow nmt的整体结构
tensorflow/nmt项目的入口文件是nmt/nmt.py,通过指定不同的参数,可以从该入口进入到训练或者推断流程。首先来看一看,进入不同流程的时候,做了什么。
程序入口
首先我们可以看到这两个函数:
def main(unused_argv):default_hparams = create_hparams(FLAGS)train_fn = train.traininference_fn = inference.inferencerun_main(FLAGS, default_hparams, train_fn, inference_fn)if __name__ == "__main__":nmt_parser = argparse.ArgumentParser()add_arguments(nmt_parser)FLAGS, unparsed = nmt_parser.parse_known_args()tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
通过 python -m nmt.nmt --flags
命令启动程序,开始进入到上面的 if __name__ == "__main__"
流程。首先创建出命令行的参数解析器来解析参数设置,然后启动tensorflow的主函数。
也就是执行 def main(unused_argv)
函数,该函数首先根据解析出来的命令行参数,创建出超参数,超参数用于神经网络的各项设置中。然后创建出训练和推断函数,进入到这两个流程的判断逻辑。也就是开始执行 def run_main(flags, hparams, train_fn, inference_fn)
函数。
run_main()
函数主要做了这么几件事情:
* 提取jobid和num_workers这几个参数,推断的时候使用
* 设置随机种子
* 创建模型输出路径
* 合并超参数,在命令行指定和文件指定两者都有的情况,需要合并超参数
* 判断进入训练还是推断流程,根据是否指定了inference_input_file
这个flag,如果有则进入推断流程,否则进入训练流程
详细代码就不贴了。你可以到nmt/nmt.py文件查看。
训练流程
推断流程
Tensorflow nmt的整体结构相关推荐
- Tensorflow nmt源码解析
本系列博客由 罗周杨 stupidme.me.lzy@gmail.com 原创,分享或转载请注明作者和原出处. NMT即Neural Machine Translation,神经网络机器翻译.Goog ...
- Tensorflow nmt的超参数
Tensorflow nmt的超参数 超参数一般用来定义我们的神经网络的关键参数. 在tensorflow/nmt这个demo中,我们的超参数在 nmt.nmt 模块中配置.这也导致了nmt.py这个 ...
- Tensorflow nmt的数据预处理过程
tensorflow nmt的数据预处理过程 在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数 ...
- 使用PaddleFluid和TensorFlow训练RNN语言模型
专栏介绍:Paddle Fluid 是用来让用户像 PyTorch 和 Tensorflow Eager Execution 一样执行程序.在这些系统中,不再有模型这个概念,应用也不再包含一个用于描述 ...
- 神经机器翻译(Neural machine translation, NMT)学习笔记
神经机器翻译(Neural machine translation, NMT)是最近提出的机器翻译方法.与传统的统计机器翻译不同,NMT的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能.最 ...
- TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。
转载至:http://www.nanjixiong.com/thread-122211-1-1.html Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习 ...
- nmt模型源文本词项序列_TensorFlow NMT的数据处理过程
在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数据的操作.如果你还在使用老的Queue和Coo ...
- 13个Tensorflow实践案例,教你入门到进阶
向AI转型的程序员都关注了这个号??? 大数据挖掘DT数据分析 公众号: datadw 关于深度学习,每个人都有自己的看法.有人说就是炼丹,得个准确率召回率什么的,拿到实际中,问问为什么,都答不上来 ...
- 我的Tensorflow学习之路
最近两年深度学习真的是火的不要不要的,关于深度学习,每个人都有自己的看法.有人说就是炼丹,得个准确率召回率什么的,拿到实际中,问问为什么,都答不上来.各种连代码都没写过的人,也纷纷表示这东西就是小孩堆 ...
- TensorFlow 机器学习秘籍第二版:9~11
原文:TensorFlow Machine Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MTPE ...
最新文章
- 链接静态库的顺序问题
- linux 中卸载提示设备正忙怎么办?
- word2vec的通俗理解
- 20180209-shutil模块
- C# 整理DotNetBar中SuperGridControl的一些基础属性
- 记忆化搜索斐波那契c语言,记忆化搜索--优化斐波那契数列递归函数
- CSS:CSS定位和浮动
- java 测试 jar_java – 从可执行jar运行spring测试
- Ubuntu PPPOE拨号
- GTK、Qt和wxWidgets
- 机器学习之分类算法--mnist手写体识别
- nginx小技巧-动态域名(微信,小程序80端口)
- 大一新生计算机强化训练小结,大一新生军训个人小结
- 1051 复数乘法 (C++)
- 详解Android刘海屏适配
- dubbo报错Forbid consumer xxxx access service xxx from registryxxx
- CSS的世界(十四)
- 全球及中国LCP行业发展动态与投资趋势分析报告2022~2028年
- ArcGIS 9.3下载,包含ArcGIS Desktop、ArcGIS Engine、ArcGIS Server、ArcSDE、workstation
- Solidworks异型孔打孔失败原因分析
热门文章
- 周礼键君:中国福建省建瓯市之《闽郡八音字典》
- jqueryui引用出错(base is not a constructor,widget no found)
- 基于微信小程序的便捷记账本家庭个人理财小程序#毕业设计
- oracle run {,Oracle runInstaller 安装不显示 OUI 处理 说明
- Selpg—Golang
- 连接mysql失败怎么办_数据库连接失败有什么原因?怎么解决?
- 蓝桥杯 受伤的皇后(dfs)
- 中国占三分之一!CBinsights世界最新独角兽排名出炉
- 从0开始的视频特效制作之路
- 0x8000FFFF 错误的解决方式