# -*- coding: utf-8 -*-
import tensorflow as tf
from tensorflow.examples
.tutorials
.mnist import input_data
mnist = input_data.read_data_sets("mnist_data/", one_hot=true)
#放置佔位符,用於在計算時接收輸入值
x = tf.placeholder("float", [none, 784])
#建立兩個變數,分別用來存放權重值w和偏置值b
w = tf.variable(tf.zeros([784, 10]))
b = tf.variable(tf.zeros([10]))
#使用tensorflow提供的回歸模型softmax,y代表輸出
y = tf.nn
.softmax(tf.matmul(x, w) + b)
#為了進行訓練,需要把正確值一併傳入網路
y_ = tf.placeholder("float", [none,10])
#計算交叉墒
cross_entropy = -tf.reduce_sum(y_ * tf.log(y))
#使用梯度下降演算法以0.01的學習率最小化交叉墒
train_step = tf.train
.gradientdescentoptimizer(0.01).minimize(cross_entropy)
#初始化之前建立的變數的操作
init = tf.initialize_all_variables()
#啟動初始化
sess = tf.session()
sess.run(init)
#開始訓練模型,迴圈1000次,每次都會隨機抓取訓練資料中的100條資料,然後作為引數替換之前的佔位符來執行train_step
for i in range(1000):
batch_xs, batch_ys = mnist.train
.next_batch(100)
sess.run(train_step, feed_dict=)
#評估模型,tf.argmax能給出某個tensor物件在某一維上資料最大值的索引。因為標籤是由0,1組成了one-hot vector,返回的索引就是數值為1的位置
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
#計算正確**項的比例,因為tf.equal返回的是布林值,使用tf.cast可以把布林值轉換成浮點數,tf.reduce_mean是求平均值
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
#在session中啟動accuracy,輸入是mnist中的測試集
print sess.run(accuracy, feed_dict=)
清華集訓2016 資料互動
題目描述 乙個簡單的網路系統可以被描述成一棵無根樹。每個節點為乙個伺服器。連線伺服器與伺服器的資料 線則看做一 條樹邊。兩個伺服器進行資料互動時,資料會經過連線這兩個伺服器的路徑上的所有服務 器 包括這兩個伺服器 自身 每個資料互動請求都有乙個非負的重要度,越重要的請求顯然需要得 到越高的優先處理權...
用Mnist資料集訓練神經網路
這篇部落格是我在學習用tensorflow搭建神經網路時,所作的一些筆記。搭建的神經網路有兩層隱藏層,和輸入輸出層。採用全連線的方式進行傳輸,優化演算法採用自適用矩估計演算法。1.首先,匯入tensorflow官方提供的庫 import tensorflow as tf from tensorflo...
6 28集訓 集訓模擬賽2
第一題 n只有4,直接暴力 第二題 tarjan縮點之後跑乙個最長路 第三題 dp 第四題 思維量較大 n 的範圍很小,所以我們考慮狀壓dp 我們設 f i j k m 為第一行的狀態為 i 第二行的狀態為 j 第三行的狀態為 k 第四題的狀態為 m 所需要的最小步數 所以我們暴力列舉6重迴圈,時間...