建造神經網路

2021-08-18 13:51:29 字數 1374 閱讀 9841

import tensorflow as tf

import numpy as np

def add_layer(inputs, input_size, output_size, activation_function = none):

weights = tf.variable(tf.random_normal([input_size, output_size]))

biases = tf.variable(tf.zeros([1, output_size]) + 0.1) #biases初始化為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

#create_real data

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

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

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

#define placeholder for inputs to network

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

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

#add hiden layer 輸入層輸出層乙個神經元(因為只有乙個屬性),隱層十個神經元

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

#add output layer

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

#the error between predic and real data

loss = tf.reduce_mean(tf.reduce_sum(tf.square(prediction - ys), reduction_indices=[1])) #相當於轉化為橫向量

train_step = tf.train.gradientdescentoptimizer(0.2).minimize(loss)

recuction_indices = [1] 可以理解為axis = 1,都是設定對某一維度進行操作,具體以下鏈結

建造神經網路

import tensorflow as tf import numpy as np 保證sess.run 能夠正常執行 tf.compat.v1.disable eager execution 定義新增層 in size,out size輸入單位輸出單位大小 def add layer input...

TensorFlow教程 3 建造神經網路

定義新增神經層的函式def add layer 它有四個引數 輸入值 輸入的大小 輸出的大小和激勵函式,我們設定預設的激勵函式是none。def add layer inputs,in size,out size,activation function none 我們設定預設的激勵函式是none。w...

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...