tensorflow(一):tf.contrib.seq2seq.GreedyEmbeddingHelper

在使用TensorFlow进行seq2seq模型开发时,遇到被弃用的api问题,选择了tf.contrib.seq2seq.GreedyEmbeddingHelper。本文介绍了在使用该Helper时遇到的报错及其原因,主要讨论了在训练过程中decoder输入的错误理解,通过错误定位和分析,发现是将目标序列作为decoder输入导致的问题,从而纠正了模型的构建。
摘要由CSDN通过智能技术生成

简介

最近在用tensorflow搞seq2seq,遇到了不少问题。首先就是tf.contrib.seq2seqtf.contrib.legacy_seq2seq到底用哪个?查最新版api可以发现tf.contrib.legacy_seq2seq已经被抛弃,这时你会想,选tf.contrib.seq2seq不就好了。然而,悲剧的是github、csdn上的例子全是tf.contrib.legacy_seq2seq的例子,而且运行 tensorflow/modelstf.contrib.legacy_seq2seq的例子会报错can’t pickle _thread.lock objects。本着迎难而上的准则,开始探索tf.contrib.seq2seq,顺便记录我踩过的坑。为了书写简单,在接下来的介绍中,若不加前缀,则默认指tf.contrib.seq2seq,例如GreedyEmbeddingHelpertf.contrib.seq2seq.GreedyEmbeddingHelper

系统环境

>>> import sys
>>> import tensorflow as tf
>>> print(sys.version)
3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 12:22:00) \n[GCC 4.4.7 20120313 (Red Hat 4.4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值