TensorFlow专题

  1. tf.placeholder函数说明
  2. TensorFlow中RNN实现的正确打开方式
  3. 简单的Seq2Seq实现作对联

seq2seq中,需注意以下代码:
(1)生成source_int和target_int用到了字典的get()方法,source_letter_to_int[‘UNK’]表示找不到的键返回的默认值。

source_int = [[source_letter_to_int.get(letter, source_letter_to_int['<UNK>'])
               for letter in line] for line in source_data.split('\n')]
target_int = [[target_letter_to_int.get(letter, target_letter_to_int['<UNK>'])
               for letter in line] + [target_letter_to_int['<EOS>']] for line in target_data.split('\n')]

(2)next(get_batches())

(valid_targets_batch, valid_sources_batch, valid_targets_lengths, valid_sources_lengths) = next(
    get_batches(valid_target, valid_source, batch_size, source_letter_to_int['<PAD>'], target_letter_to_int['<PAD>']))
  • 当训练数据不够一个batch_size的时候,next(get_batches())会报错StopIteration。改为如下代码虽能暂时解决,但当数据超过一个batch_size的时候,这里会陷入死循环:
 try:
     while True:
         (valid_targets_batch, valid_sources_batch, valid_targets_lengths, valid_sources_lengths) = next(
             get_batches(valid_target, valid_source, batch_size, source_letter_to_int['<PAD>'], target_letter_to_int['<PAD>']))
 except StopIteration:
     pass
  • 所以要解决的是数据量不够的问题,使之达到好几个batch_size,不能为了数据委屈代码。
  1. compute_gradients和apply_gradients原理浅析
  2. tf.nn.dynamic_rnn的输出outputs和state含义
    另外一个简单明了的图: 学会区分RNN的output和state
  3. tensorflow中 tf.reduce_mean函数
  4. 图示BasicLSTMCell 单隐层和多隐层
  5. 关于tf.nn.conv1d()
  6. 一份快速完整的Tensorflow模型保存和恢复教程(译)
  7. tf.gather_nd(params, indices, name=None)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值