双向循环神经网络tensorflow实现
来源:互联网 发布:西游记解读知乎 编辑:程序博客网 时间:2024/06/06 04:15
双向循环神经网络不仅能捕获当前状态与之前状态的联系,也能捕获与之后的状态的联系。
#coding:utf-8import tensorflow as tfimport numpy as np from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('/tmp/data',one_hot = True)learning_rate = 0.01max_samples = 400000batch_size = 128display_step = 10n_input = 28 #图像的宽度n_steps = 28 #LSTM的展开步数,图像的高n_hidden = 256n_classes = 10x = tf.placeholder('float',[None,n_steps,n_input])#none 高度 宽度y = tf.placeholder('float',[None,n_classes])weights = tf.Variable(tf.random_normal([2*n_hidden,n_classes]))biases = tf.Variable(tf.random_normal([n_classes]))def BiRNN(x,weights,biases): x = tf.transpose(x,[1,0,2]) x = tf.reshape(x,[-1,n_input]) x = tf.split(x,n_steps) lstm_fw_cell = tf.contrib.rnn.BasicLSTMCell(n_hidden,forget_bias = 1.0) lstm_bw_cell = tf.contrib.rnn.BasicLSTMCell(n_hidden,forget_bias = 1.0) outputs,_,_ = tf.contrib.rnn.static_bidirectional_rnn(lstm_fw_cell,lstm_bw_cell,x,dtype = tf.float32) return tf.matmul(outputs[-1],weights)+biasespred = BiRNN(x,weights,biases)cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits = pred,labels = y))optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)correct_pred = tf.equal(tf.argmax(pred,1),tf.argmax(y,1))accuracy = tf.reduce_mean(tf.cast(correct_pred,tf.float32))init = tf.global_variables_initializer()with tf.Session() as sess: sess.run(init) step = 1 while step*batch_size<max_samples: batch_x,batch_y = mnist.train.next_batch(batch_size) batch_x = batch_x.reshape((batch_size,n_steps,n_input)) sess.run(optimizer,feed_dict={x:batch_x,y:batch_y}) if step % display_step ==0: acc = sess.run(accuracy,feed_dict={x:batch_x,y:batch_y}) loss = sess.run(cost,feed_dict={x:batch_x,y:batch_y}) print "step",step," acc = ",acc," lost = ",loss step += 1 print "finished!"
阅读全文
2 0
- 双向循环神经网络tensorflow实现
- tensorflow之双向循环神经网络
- tensorflow实现循环神经网络
- TensorFlow实现经典深度学习网络(7):TensorFlow实现双向长短时记忆循环神经网络
- RNN-循环神经网络-02Tensorflow中的实现
- tensorflow 循环神经网络RNN
- Tensorflow创建循环神经网络
- TensorFlow构建循环神经网络
- tensorflow 循环神经网络RNN
- TensorFlow构建循环神经网络
- RNN-LSTM循环神经网络-03Tensorflow进阶实现
- RNN-LSTM循环神经网络-03Tensorflow进阶实现
- TensorFlow实现卷积神经网络
- Tensorflow实现卷积神经网络
- Tensorflow实现神经网络
- Tensorflow入门-实现神经网络
- Tensorflow实现卷积神经网络
- Tensorflow实现卷积神经网络
- 从0开始做安卓/IOS拍照摄像上传APP【app+后台】【工具 eclipse+Hbuilder】
- dp——洛谷 P1435 回文字串
- jquery alert提示框自动消失
- 开源项目 无限循环ViewPager InfiniteViewPager 分析(二)
- <textarea></textarea>标签的默认值设置方法
- 双向循环神经网络tensorflow实现
- 实现多客户端和服务器之间的通讯(TCP协议下,多进程)
- 信息检索专题复习
- 三大框架-struts2
- 微服务
- 在IDEA下跑gradle构建的SpringBoot项目启动报“CreateProcess error=206, 文件名或扩展名太长”
- 32种掩码和反掩码
- OkHttp Retrofit RxJava 统一错误处理
- pthread_mutex_unlock实现