tf.nn.dynamic_rnn()实现的一个例子。
2018-01-28 13:27
281 查看
tf.nn.dynamic_rnn()在处理变长输入时特别方便,具体解释可以看这篇博文
输出:
参考资料:
tensorflow高阶教程:tf.dynamic_rnn
#coding=utf-8 import tensorflow as tf import numpy as np # 创建输入数据 X = np.random.randn(2, 10, 8) # 第二个example长度为6 X[1,6:] = 0 X_lengths = [10, 6] cell = tf.contrib.rnn.BasicLSTMCell(num_units=5, state_is_tuple=True) outputs, last_states = tf.nn.dynamic_rnn( cell=cell, dtype=tf.float64, sequence_length=X_lengths, inputs=X) result = tf.contrib.learn.run_n( {"outputs": outputs, "last_states": last_states}, n=1, feed_dict=None) a = result[0] print(a) assert result[0]["outputs"].shape == (2, 10, 5) # 第二个example中的outputs超过6步(7-10步)的值应该为0 assert (result[0]["outputs"][1,7,:] == np.zeros(cell.output_size)).all()
输出:
[[ 0.13337141 0.10697078 0.11238842 -0.16187296 0.04447445] [ 0.06800554 0.29581101 0.14454009 -0.11857419 -0.08062822] [-0.02766501 0.20230338 0.25521379 -0.10196185 0.02908 ] [ 0.07160553 0.39891538 0.03997988 -0.43861938 -0.00340179] [-0.12841535 0.35346241 0.08577594 -0.29574161 -0.06306395] [-0.19022677 0.11256105 -0.13190501 -0.20170257 -0.02765217] [-0.04303006 -0.42253068 -0.02945417 -0.0817529 0.03569792] [-0.01433148 0.00066725 -0.08619441 -0.1063433 0.36421112] [ 0.19718385 0.06653057 0.02880462 -0.31631752 0.04064322] [ 0.07665874 0.15330013 0.11820727 -0.28386946 -0.06841132]] ------------------------------------------------------- [[ 0.09817442 0.12635493 0.14153314 -0.13827174 -0.14350587] [ 0.09484242 0.05155221 0.11429032 -0.04175748 -0.11621833] [ 0.21802519 0.17491722 0.17653461 -0.2161642 -0.17876485] [ 0.05461165 -0.01181785 0.31818148 -0.18725258 -0.06083239] [ 0.03753194 0.04578742 0.30538616 -0.09413831 -0.41238963] [-0.04687686 0.01701181 0.21276684 -0.02761401 -0.07971509] [ 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. ] [ 0. 0. 0. 0. 0. ]]
参考资料:
tensorflow高阶教程:tf.dynamic_rnn
相关文章推荐
- tf.nn.dynamic_rnn
- tf.contrib.rnn.static_rnn与tf.nn.dynamic_rnn区别
- 一个Go语言接口和多操作系统实现的简单例子
- 一个简单的VCard实现例子
- 一个在HTML使用JavaScript实现调用Windows Shell.Application的例子。
- 多个生产者-一个消费者-进程间同步的例子 - OutputDebugString的实现
- 【TensorFlow】tf.nn.conv2d实现卷积
- 【java规则引擎】一个基于drools规则引擎实现的数学计算例子
- 拦截器概述及其简单实现的一个例子
- 观察者模式的实现的一个小例子
- 一个简单的例子看明白如何利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- 一个直接用java类实现连接池的代码例子
- 利用java实现的一个发送手机短信的小例子
- 一个简单的ruby生成器例子(用连续体Continuation实现)
- 转:一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 简单实现一个JSONP协议的小例子
- 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?
- 一个用backgroundworker实现progressbar的例子(修改版)
- 【unity3d游戏开发之基础篇】unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- GGrid网页手写签批控件个人实现在页面上自定义显示的一个例子