tensorflow學習3 搭建自己的神經網路

2021-09-12 11:47:29 字數 1973 閱讀 8537

這一節講的主要是構造乙個自己的神經網路。

import tensorflow as tf

import numpy as np

#構造資料

x_data = np.linspace(-1,1,300, dtype=np.float32)[:, np.newaxis] #在-1 到 1之間生成300個資料,

noise = np.random.normal(0, 0.05, x_data.shape).astype(np.float32) #增加 noise專案,給資料增加一些波動

y_data = np.square(x_data) - 0.5 + noise #資料的

#採用佔位符為變數預定義位置 none 代表後面無論輸入多少特徵都可以

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

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

def add_layer(inputs, in_size, out_size, activation_function=none): # inputs代表輸入的資料, in_size 輸入的神經元數目,出入的神經元數目,a_f代表啟用函式

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

#build network

#構建乙個輸入層乙個神經元,隱含層都是10個神經元,輸出層1個神經元的神經網路

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

prediction=add_layer(l1,10,1)

#定義損失函式

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),

reduction_indices=[1]))

#定義優化器

optimizer=tf.train.adamoptimizer(0.1).minimize(loss)

#初始化變數

init=tf.global_variables_initializer()

資料的傳入的位置採用之前定義的placeholder ,使用feed_dict 餵入之前的資料。

#定義好各種運算操作後,放到session中進行

with tf.session() as sess:

sess.run(init) # 變數一定要進行初始化

for i in range(1000):

sess.run(optimizer,feed_dict=) #訓練對應的優化器

if i%100==0:

print(sess.run(loss, feed_dict=)) #每一百步列印一下對應的損失

下面就是輸出的結果。

0.74889445

0.004999578

0.004529789

0.0040417328

0.0037148169

0.0035899663

0.0035279982

0.003419474

0.003336066

0.0032364198

tensorflow學習筆記(3)

一.基礎知識 mnist資料集 1.由googl和紐約大學克朗研究所共同建立的手寫數字的資料庫。2.共有70000張訓練影象 60000訓練影象 10000測試影象 3.所有影象均是0 9的手寫數字。flask框架 1.是乙個輕量級的web應用框架 2.使用python語言進行編寫 訓練mnist資...

Tensorflow學習記錄3

variable的使用 import tensorflow as tf state tf.variable 0,name counter 一定要定義成是個變數才是個變數,初始值0,名字counter print state.name 輸出 名字 第幾個變數 name index one tf.con...

輕鬆搭建深度學習框架tensorflow環境

在使用者目錄c users regentwan下,建立.condarc檔案,輸入一下內容 channels show channel urls true 輸入命令 conda create n python3.6 python 3.6python3.6為環境名,python指定版本 安裝目錄 d w...