通過tensorflow 建立神經(jīng)網(wǎng)絡

import tensorflow as tf

import numpy as np

#添加神經(jīng)層

def add_layer(inputs,in_size,out_size,activation_function=None):

? ? Weights = tf.Variable(tf.random_normal([in_size,out_size]))

? ? biases = tf.Variable(tf.zeros([1,out_size]) + 0.1)

? ? Wx_plus_b = tf.matmul(inputs,Weights) + biases

? ? if activation_function is None:

? ? ? ? outputs = Wx_plus_b

? ? else:

? ? ? ? outputs = activation_function(Wx_plus_b)

? ? return outputs

#設置輸入數(shù)據(jù)

x_data = np.linspace(-1,1,300)[:,np.newaxis]

#設置噪音數(shù)據(jù)

noise = np.random.normal(0,0.05,x_data.shape)

#設置預期輸出

y_data = np.square(x_data)-0.5 + noise

#設置傳入變量

xs = tf.placeholder(tf.float32,[None,1])

ys = tf.placeholder(tf.float32,[None,1])

#第一層,隱藏層,1個輸入,10個輸出(10個神經(jīng)元)

l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)

#輸出層,一個輸出

prediction = add_layer(l1,10,1,activation_function=None)

#誤差/代價

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))

#最優(yōu)化過程

train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.initialize_all_variables()

sess = tf.Session()

sess.run(init)

訓練和輸出

for i in range(1000):

? ? sess.run(train_step,feed_dict={xs:x_data,ys:y_data})

? ? if i % 50 == 0:

? ? ? ? print sess.run(loss,feed_dict={xs:x_data,ys:y_data})

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 簡單線性回歸 import tensorflow as tf import numpy # 創(chuàng)造數(shù)據(jù) x_dat...
    CAICAI0閱讀 3,665評論 0 49
  • python版本 3.6.3 TensorFlow版本 1.2.1 用寫TensorFlow的時候出現(xiàn)...
    沐一川閱讀 2,739評論 0 0
  • 今天來不及寫文章了,就決定給大家分享一個關于bootstrap的文章! 來之掘金,真心給大家推薦這個app。文章真...
    吳高亮閱讀 483評論 0 2
  • 女孩應該明白的是:氣質(zhì)比年齡重要,微笑比顏值重要,開心比什么都重要。 ????
    Candy果閱讀 304評論 1 2
  • 01 有一對情侶,從高中在一起到大學畢業(yè)的七年馬拉松愛情長跑。高中時一起看書一起學習,有共同目標一...
    Arielth閱讀 274評論 0 0

友情鏈接更多精彩內(nèi)容