tensorflow BasicRNNCell调试

本文通过单步调试的方式,深入介绍了如何使用TensorFlow实现循环神经网络(RNN)。具体包括了如何创建BasicRNNCell,设置初始状态,以及使用dynamic_rnn进行前向传播的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行以下代码,进入~/anaconda3/lib/python3.5/site-packages/tensorflow/python/ops/rnn.py和~/anaconda3/lib/python3.5/site-packages/tensorflow/python/ops/rnn_cell.py单步追踪调试

调试中import tensorflow as tf,利用tf.Session().run(variable)打印变量

查看BasicRNNCell和dynamic_rnn的实现方式

 

 1 #-*-coding:utf8-*-
 2 
 3 __author = "buyizhiyou"
 4 __date = "2017-11-20"
 5 
 6 '''
 7 单步调试,学习rnn的tf实现
 8 '''
 9 import tensorflow as tf 
10 import numpy as np
11 import pdb  
12   
13 X = tf.random_normal(shape=[2,3,4], dtype=tf.float32)#(2,3,4)==>(Batch_size,Time_steps(序列长度),Data_Vector)
14 pdb.set_trace()  
15 cell = tf.nn.rnn_cell.BasicRNNCell(10)#output_size:10,也可以换成GRUCell,LSTMAACell,BasicRNNCell  
16 state = cell.zero_state(2, tf.float32)#batch_size:2  
17 output, state = tf.nn.dynamic_rnn(cell, X, initial_state=state, time_major=False)  
18 with tf.Session() as sess:  
19     sess.run(tf.global_variables_initializer())  
20     print (output.get_shape())
21     print (sess.run(state))

 

转载于:https://www.cnblogs.com/buyizhiyou/p/7868211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值