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