日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow实现单隐层神经网络

發布時間:2024/7/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow实现单隐层神经网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里使用MNIST數據集,MNIST數據集的下載地址http://yann.lecun.com/exdb/mnist/

from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf mnist = input_data.read_data_sets(r"D:\PycharmProjects\tensorflow\MNIST_data", one_hot=True)# 創建默認的InteractiveSession,這樣后面執行的各項操作就無需指定Session了 sess = tf.InteractiveSession()in_units = 784 # 輸入節點數 h1_units = 300 # 隱含單元數 W1 = tf.Variable(tf.truncated_normal([in_units, h1_units], stddev=0.1)) b1 = tf.Variable(tf.zeros([h1_units])) W2 = tf.Variable(tf.zeros([h1_units, 10])) # 因為是識別數字,輸出單元數為10 b2 = tf.Variable(tf.zeros([10]))x = tf.placeholder(tf.float32, [None, in_units]) keep_prob = tf.placeholder(tf.float32)hidden1 = tf.nn.relu(tf.matmul(x, W1) + b1) # 使用relu激活函數可以解決梯度彌散 hidden1_drop = tf.nn.dropout(hidden1, keep_prob) # 使用Dropout方法,keep_prob是保留節點的概率 y = tf.nn.softmax(tf.matmul(hidden1_drop, W2) + b2) # 預測的標簽y_ = tf.placeholder(tf.float32, [None, 10]) # 正確的標簽 cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) # 損失函數 train_step = tf.train.AdagradOptimizer(0.3).minimize(cross_entropy) # 學習率是0.3# 訓練 tf.global_variables_initializer().run() # 一共采用3000個batch,每個batch100個樣本,一共300000個樣本 # 一個數據集55000個樣本,相當于對全數據集進行5輪(epoch)迭代 for i in range(3000):batch_xs, batch_ys = mnist.train.next_batch(100)train_step.run({x: batch_xs, y_: batch_ys, keep_prob: 0.75})# 測試 correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) # 預測時keep_prob應該等于1,即使用全部特征來預測樣本的類別 print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))

?

總結

以上是生活随笔為你收集整理的TensorFlow实现单隐层神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。