完整神經網路樣例程式
#完整的神經網路樣例程式
#下面給出了一個完整的程式來訓練神經網路解決二分類問題
import tensorflow as tf
from numpy.random import RandomState
batch_size = 8
w1 = tf.Variable(tf.random_normal([2,3],stddev = 1,seed = 1))
w2 = tf.Variable(tf.random_normal([3,1],stddev = 1,seed = 1))
x = tf.placeholder(tf.float32,shape=(None,2),name = 'x-input')
y_ = tf.placeholder(tf.float32,shape=(None,1),name = 'y-input')
#定義神經網路前向傳播過程
a = tf.matmul(x,w1)
y = tf.matmul(a,w2)
#定義損失函式和反向傳播演算法
cross_entropy = -tf.reduce_mean(
y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
#通過隨機數生成一個模擬資料集
rdm = RandomState(1)
dataset_size = 128
X = rdm.rand(dataset_size,2)
Y = [[int(x1+x2<1)] for (x1,x2) in X]
#建立一個會話來執行tensorflow程式
with tf.Session() as sess:
init_op = tf.initialize_all_variables()
sess.run(init_op)
print(sess.run(w1))
print(sess.run(w2))
STEPS = 5000
for i in range(STEPS):
start = (i*batch_size) % dataset_size
end = min(start+batch_size,dataset_size)
#通過選取的樣本訓練神經網路並更新引數
sess.run(train_step,feed_dict = {x:X[start:end],y_:Y[start:end]})
if i%1000 == 0:
#每隔一段時間計算在所有資料上的交叉熵並輸出,交叉熵越小說明預測的結果和真實的結果差距越小
total_cross_entropy = sess.run(
cross_entropy,feed_dict={x:X,y_:Y})
print("After %d training step,cross entropy on all data is %g" % (1,total_cross_entropy))
print(sess.run(w1))
#下面給出了一個完整的程式來訓練神經網路解決二分類問題
import tensorflow as tf
from numpy.random import RandomState
batch_size = 8
w1 = tf.Variable(tf.random_normal([2,3],stddev = 1,seed = 1))
w2 = tf.Variable(tf.random_normal([3,1],stddev = 1,seed = 1))
x = tf.placeholder(tf.float32,shape=(None,2),name = 'x-input')
y_ = tf.placeholder(tf.float32,shape=(None,1),name = 'y-input')
#定義神經網路前向傳播過程
a = tf.matmul(x,w1)
y = tf.matmul(a,w2)
#定義損失函式和反向傳播演算法
cross_entropy = -tf.reduce_mean(
y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
#通過隨機數生成一個模擬資料集
rdm = RandomState(1)
dataset_size = 128
X = rdm.rand(dataset_size,2)
Y = [[int(x1+x2<1)] for (x1,x2) in X]
#建立一個會話來執行tensorflow程式
with tf.Session() as sess:
init_op = tf.initialize_all_variables()
sess.run(init_op)
print(sess.run(w1))
print(sess.run(w2))
STEPS = 5000
for i in range(STEPS):
start = (i*batch_size) % dataset_size
end = min(start+batch_size,dataset_size)
#通過選取的樣本訓練神經網路並更新引數
sess.run(train_step,feed_dict = {x:X[start:end],y_:Y[start:end]})
if i%1000 == 0:
#每隔一段時間計算在所有資料上的交叉熵並輸出,交叉熵越小說明預測的結果和真實的結果差距越小
total_cross_entropy = sess.run(
cross_entropy,feed_dict={x:X,y_:Y})
print("After %d training step,cross entropy on all data is %g" % (1,total_cross_entropy))
print(sess.run(w1))
print(sess.run(w2))
‘’‘上面的程式實現了訓練神經網路的全部過程,從這段程式中可以總結出訓練神經網路的過程可以分為一下3個步驟:
1.定義神經網路的結構和向前傳播的輸出結果
2.定義損失函式以及選擇反向傳播優化演算法
3.生成會話並且在訓練資料上反覆執行反向傳播優化演算法
’‘’
以上內容均摘自《tensorflow-實戰google深度學習框架》 一書
相關文章
- TensorFlow搭建神經網路最佳實踐樣例神經網路
- 神經網路篇——從程式碼出發理解BP神經網路神經網路
- 神經網路:numpy實現神經網路框架神經網路框架
- 神經網路神經網路
- MATLAB人工神經網路ANN程式碼Matlab神經網路
- LSTM神經網路神經網路
- 8、神經網路神經網路
- 聊聊從腦神經到神經網路神經網路
- 圖神經網路GNN 庫,液體神經網路LNN/LFM神經網路GNN
- 【神經網路篇】--RNN遞迴神經網路初始與詳解神經網路RNN遞迴
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- 人工神經網路(ANN)神經網路
- 卷積神經網路卷積神經網路
- 迴圈神經網路神經網路
- 神經網路(neural networks)神經網路
- 生成型神經網路神經網路
- 72 頁 PPT,帶你梳理神經網路完整架構(含 PyTorch 實現程式碼片段)神經網路架構PyTorch
- Java中神經網路Triton GPU程式設計Java神經網路GPU程式設計
- 【Tensorflow_DL_Note10】TensorFlow神經網路程式設計框架樣例MNIST訓練模組神經網路程式設計框架
- Tensorflow系列專題(四):神經網路篇之前饋神經網路綜述神經網路
- 卷積神經網路學習筆記——Siamese networks(孿生神經網路)卷積神經網路筆記
- 從分歧走向融合:圖神經網路歷經了怎樣的演化之路?神經網路
- 神經網路初始化神經網路
- 卷積神經網路概述卷積神經網路
- 解密卷積神經網路!解密卷積神經網路
- BP神經網路流程圖神經網路流程圖
- MXNET:多層神經網路神經網路
- 淺析模糊神經網路神經網路
- 白話深度神經網路神經網路
- 5.2.1 卷積神經網路卷積神經網路
- 迴圈神經網路(RNN)神經網路RNN
- 卷積神經網路CNN卷積神經網路CNN
- 圖神經網路入門神經網路
- keras構建神經網路Keras神經網路
- 三、淺層神經網路神經網路
- 殘差神經網路-ResNet神經網路
- 卷積神經網路-AlexNet卷積神經網路
- 卷積神經網路-1卷積神經網路
- 卷積神經網路-2卷積神經網路