当前位置:   article > 正文

机器翻译 Transformer代码笔记_深度学习transformer机器翻译 完整代码

深度学习transformer机器翻译 完整代码

(未完)
Transformer论文及框架分析:机器翻译Transformer框架分析笔记 | Attention is all you need
本文代码来源Github:kyubyong/transformer/tf1.2_legacy
作者已更新较新版本tensorflow对应的transformer代码,本笔记基于老代码
做笔记使用

代码 介绍
hyperhparams.py 超参数设定
prepro.py 生成字典
data_load.py 格式化数据,生成batch
modules.py 网络模型
train.py 训练
eval.py 评估

代码1:hyperparams.py 定义超参数文件

# -*- coding: utf-8 -*-
#/usr/bin/python2
'''
June 2017 by kyubyong park. 
kbpark.linguist@gmail.com.
https://www.github.com/kyubyong/transformer
'''
class Hyperparams: #超参数
    '''Hyperparameters'''
    # data 训练集与测试集
    source_train = 'corpora/train.tags.de-en.de'
    target_train = 'corpora/train.tags.de-en.en'
    source_test = 'corpora/IWSLT16.TED.tst2014.de-en.de.xml'
    target_test = 'corpora/IWSLT16.TED.tst2014.de-en.en.xml'
    
    # training
    #batch_size调参重点
    #mini-batch gradient decent,小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。
    batch_size = 32 # alias = N 在实际机翻训练过程中batch_size一般设置从4000—8000不等,要具体情况具体分析
    lr = 0.0001 # learning rate. In paper, learning rate is adjusted to the global step.
    # 在实际训练中,一般动态设置学习率,从大到小以达到细分精度找到“最优解”
    logdir = 'logdir' # log directory
    
    # model
    maxlen = 10 # alias = T. 单词最大长度,实习训练中忽略此项的限制
                # Feel free to increase this if you are ambitious.
    #min_cnt调参
    min_cnt = 20 # words whose occurred less than min_cn
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/978174
推荐阅读
相关标签
  

闽ICP备14008679号