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的整体结构相关推荐

  1. Tensorflow nmt源码解析

    本系列博客由 罗周杨 stupidme.me.lzy@gmail.com 原创,分享或转载请注明作者和原出处. NMT即Neural Machine Translation,神经网络机器翻译.Goog ...

  2. Tensorflow nmt的超参数

    Tensorflow nmt的超参数 超参数一般用来定义我们的神经网络的关键参数. 在tensorflow/nmt这个demo中,我们的超参数在 nmt.nmt 模块中配置.这也导致了nmt.py这个 ...

  3. Tensorflow nmt的数据预处理过程

    tensorflow nmt的数据预处理过程 在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数 ...

  4. 使用PaddleFluid和TensorFlow训练RNN语言模型

    专栏介绍:Paddle Fluid 是用来让用户像 PyTorch 和 Tensorflow Eager Execution 一样执行程序.在这些系统中,不再有模型这个概念,应用也不再包含一个用于描述 ...

  5. 神经机器翻译(Neural machine translation, NMT)学习笔记

    神经机器翻译(Neural machine translation, NMT)是最近提出的机器翻译方法.与传统的统计机器翻译不同,NMT的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能.最 ...

  6. TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。

    转载至:http://www.nanjixiong.com/thread-122211-1-1.html Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习 ...

  7. nmt模型源文本词项序列_TensorFlow NMT的数据处理过程

    在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数据的操作.如果你还在使用老的Queue和Coo ...

  8. 13个Tensorflow实践案例,教你入门到进阶

    向AI转型的程序员都关注了这个号??? 大数据挖掘DT数据分析  公众号: datadw 关于深度学习,每个人都有自己的看法.有人说就是炼丹,得个准确率召回率什么的,拿到实际中,问问为什么,都答不上来 ...

  9. 我的Tensorflow学习之路

    最近两年深度学习真的是火的不要不要的,关于深度学习,每个人都有自己的看法.有人说就是炼丹,得个准确率召回率什么的,拿到实际中,问问为什么,都答不上来.各种连代码都没写过的人,也纷纷表示这东西就是小孩堆 ...

  10. TensorFlow 机器学习秘籍第二版:9~11

    原文:TensorFlow Machine Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MTPE ...

最新文章

  1. 链接静态库的顺序问题
  2. linux 中卸载提示设备正忙怎么办?
  3. word2vec的通俗理解
  4. 20180209-shutil模块
  5. C# 整理DotNetBar中SuperGridControl的一些基础属性
  6. 记忆化搜索斐波那契c语言,记忆化搜索--优化斐波那契数列递归函数
  7. CSS:CSS定位和浮动
  8. java 测试 jar_java – 从可执行jar运行spring测试
  9. Ubuntu PPPOE拨号
  10. GTK、Qt和wxWidgets
  11. 机器学习之分类算法--mnist手写体识别
  12. nginx小技巧-动态域名(微信,小程序80端口)
  13. 大一新生计算机强化训练小结,大一新生军训个人小结
  14. 1051 复数乘法 (C++)
  15. 详解Android刘海屏适配
  16. dubbo报错Forbid consumer xxxx access service xxx from registryxxx
  17. CSS的世界(十四)
  18. 全球及中国LCP行业发展动态与投资趋势分析报告2022~2028年
  19. ArcGIS 9.3下载,包含ArcGIS Desktop、ArcGIS Engine、ArcGIS Server、ArcSDE、workstation
  20. Solidworks异型孔打孔失败原因分析

热门文章

  1. 周礼键君:中国福建省建瓯市之《闽郡八音字典》
  2. jqueryui引用出错(base is not a constructor,widget no found)
  3. 基于微信小程序的便捷记账本家庭个人理财小程序#毕业设计
  4. oracle run {,Oracle runInstaller 安装不显示 OUI 处理 说明
  5. Selpg—Golang
  6. 连接mysql失败怎么办_数据库连接失败有什么原因?怎么解决?
  7. 蓝桥杯 受伤的皇后(dfs)
  8. 中国占三分之一!CBinsights世界最新独角兽排名出炉
  9. 从0开始的视频特效制作之路
  10. 0x8000FFFF 错误的解决方式