-
大小: 4KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-05-12
- 語言: Python
- 標簽: 神經網絡??python??tensorflow??
資源簡介
NeuralNetworkModel
開發環境
python36
tensorflow1.x
模塊介紹
產生數據
create_data.py
計算前向傳播
forward.py
訓練過程
backward.py <-----------------程序入口
學習到的函數
test.py

代碼片段和文件信息
#?coding:utf-8
import?tensorflow?as?tf
import?numpy?as?np
import?matplotlib.pyplot?as?plt
import?create_data?as?cd
import?forward?as?fd
#?訓練輪數
STEP?=?40000
#?訓練神經網絡時,數據的批大小
BATCH_SIZE?=?30
#?學習采用用指數衰減的方法,初始速率為LEARNING_RATE_base,衰減率為LEARNING_RATE_DECAY
LEARNING_RATE_base?=?0.1
LEARNING_RATE_DECAY?=?0.9
#?L2正則化的懲罰系數
REGULARIZER?=?0.01
def?backward():
????x?=?tf.placeholder(tf.float32?shape=(None?2))
????y_?=?tf.placeholder(tf.float32?shape=(None?1))
????#?讀樣本
????X?Y_?Y_c?=?cd.generateds()
????#?計算前向傳播的結果
????y?=?fd.forward(x?REGULARIZER)
????#?定義損失函數
????loss_mes?=?tf.reduce_mean(tf.square(y?-?y_))
????loss_total?=?loss_mes?+?tf.add_n(tf.get_collection(‘losses‘))
????#?定義指數衰減學習率
????global_step?=?tf.Variable(0?trainable=False)
????learning_rate?=?tf.train.exponential_decay(
????????LEARNING_RATE_base?global_step
????????300?/?BATCH_SIZE
????????LEARNING_RATE_DECAY
????????staircase=True)
????#?定義訓練步驟
????train_step?=?tf.train.AdadeltaOptimizer(learning_rate).minimize(loss_total)
????with?tf.Session()?as?sess:
????????init_op?=?tf.global_variables_initializer()
????????sess.run(init_op)
????????for?i?in?range(STEP):
????????????start?=?(i?*?BATCH_SIZE)?%?300
????????????end?=?start?+?BATCH_SIZE
????????????sess.run(train_step?feed_dict={x:?X[start:end]?y_:?Y_[start:end]})
????????????if?i?%?2000?==?0:
????????????????loss?=?sess.run(loss_mes?feed_dict={x:?X?y_:?Y_})
????????????????print(“after?%d?steps?loss?is?:?%f“?%?(i?loss))
????????#?產生網格坐標
????????xx?yy?=?np.mgrid[-3:3:.01?-3:3:.01]
????????grid?=?np.c_[xx.ravel()?yy.ravel()]
????????predict?=?sess.run(y?feed_dict={x:?grid})
????????predict?=?predict.reshape(xx.shape)
????#?繪制圖像
????plt.scatter(X[:?0]?X[:?1]?c=np.squeeze(Y_c))
????plt.contour(xx?yy?predict?levels=[0.5])
????plt.show()
if?__name__?==?‘__main__‘:
????backward()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-19?10:37??NeuralNetworkModel-master\
?????文件??????????42??2018-08-19?10:37??NeuralNetworkModel-master\.gitignore
?????文件?????????248??2018-08-19?10:37??NeuralNetworkModel-master\README.md
?????文件????????2038??2018-08-19?10:37??NeuralNetworkModel-master\backward.py
?????文件?????????614??2018-08-19?10:37??NeuralNetworkModel-master\create_data.py
?????文件?????????789??2018-08-19?10:37??NeuralNetworkModel-master\forward.py
?????文件?????????572??2018-08-19?10:37??NeuralNetworkModel-master\test.py
- 上一篇:autoencoder自編碼器tensorflow代碼
- 下一篇:IDW插值批處理
評論
共有 條評論