作家
登录

使用TENSORFLOW训练循环神经网络语言模型

作者: 来源: 2017-08-29 09:10:08 阅读 我要评论

  •  
  •         # _outputs的shape为 [batch_size, num_steps, hidden_dim] 
  •         last = _outputs[:, -1, :]  # 只须要最后一个输出 
  •  
  •         # dense 和 softmax 用于分类,以找出各词典概率 
  •         logits = tf.layers.dense(inputs=last, units=self.vocab_size)    
  •         prediction = tf.nn.softmax(logits)   
  •  
  •         self._logits = logits 
  •         self._pred = prediction 
  •  
  •     def cost(self): 
  •         """计算交叉熵价值函数""" 
  •         cross_entropy = tf.nn.softmax_cross_entropy_with_logits( 
  •             logits=self._logits, labels=self._targets) 
  •         cost = tf.reduce_mean(cross_entropy) 
  •         self.cost = cost 
  •  
  •     def optimize(self): 
  •         """应用adam优化器""" 
  •         optimizer = tf.train.AdamOptimizer(learning_rate=self.learning_rate) 
  •         self.optim = optimizer.minimize(self.cost) 
  •  
  •     def error(self): 
  •         """计算缺点率""" 
  •         mistakes = tf.not_equal( 
  •             tf.argmax(self._targets, 1), tf.argmax(self._pred, 1)) 
  •         self.errors = tf.reduce_mean(tf.cast(mistakes, tf.float32)) 
  • 练习 
    1. def run_epoch(num_epochs=10): 
    2.     config = LMConfig()   # 载入设备项 
    3.  
    4.     # 载入源数据,这里只须要练习集 
    5.     train_data, _, _, words, word_to_id = \ 
    6.         ptb_raw_data('simple-examples/data'
    7.     config.vocab_size = len(words) 
    8.  
    9.     # 数据分批 
    10.     input_train = PTBInput(config, train_data) 
    11.     batch_len = input_train.batch_len 
    12.  
    13.     # 构建模型 
    14.     model = PTBModel(config) 
    15.  
    16.     # 创建session,初始化变量 

        推荐阅读

        调试神经网络让人抓狂?这有16条锦囊妙计送给你

      应用网格搜刮或随机搜刮或设备文件来调剂超参数 不要手动检查所有的参数,如许耗时并且低效。我平日对所有参数应用全局设备,检查运行结不雅之后,我拒绝一步研究改进的偏向。如不雅这种办法没有赞助,那么你可以应>>>详细阅读


      本文标题:使用TENSORFLOW训练循环神经网络语言模型

      地址:http://www.17bianji.com/lsqh/36985.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)