承接上次文章,這次是在**python教程後,使用matplotlib視覺化工具,對神經網路訓練過程進行視覺化,更直觀了解機器學習學到了什麼東西。
**如下:
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
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
# make up some 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
##plt.scatter(x_data, y_data)
##plt.show()
# define placeholder for inputs to network
xs = tf.placeholder(tf.float32, [none, 1])
ys = tf.placeholder(tf.float32, [none, 1])
# add hidden 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 prediciton and real data
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction), reduction_indices=[1]))
train_step = tf.train.gradientdescentoptimizer(0.1).minimize(loss)
# important step
init = tf.global_variables_initializer()
sess= tf.session()
sess.run(init)
# plot the real data 視覺化資料集
fig = plt.figure()
ax = fig.add_subplot(1,1,1) ###ax表示連續作圖 曲線
ax.scatter(x_data, y_data)
plt.ion()
plt.show()
for i in range(1000):
# training
sess.run(train_step, feed_dict=)
if i % 50 == 0:
# to visualize the result and improvement
try:
ax.lines.remove(lines[0]) ###抹除前一條曲線
except exception:
pass
prediction_value = sess.run(prediction, feed_dict=) ###value儲存prediction數值
第乙個圖是訓練剛開始的時候,第二張圖是最後的擬合效果圖,還不錯。
Tensorflow學習筆記 二 MNIST入門
寫在前面 使用softmax模型之前,對softmax進行簡單的介紹 我們希望能夠針對每個測試都能得到這張屬於某個數字的概率,而softmax 回歸就是 計算這張屬於0 9這十個數字的概率,然後將其中最大概率設為1,其他設為0的處理。所以,softmax回歸處理第一步 對中的每乙個畫素加權求和,計算...
Tensorflow速成學習筆記 二
根據tensorflow實戰google深度學習框架的樣例,詳細註解簡單神經網路 的各部分作用如下 import tensorflow as tf from numpy.random import randomstate 定義訓練資料batch的大小 batch size 8 定義神經網路的引數,每...
tensorflow學習筆記
tensorflow安裝可以直接通過命令列或者原始碼安裝,在此介紹tensorflow8命令列安裝如下 安裝tensorflow sudo pip install upgrade 另外,解除安裝tensorflow命令為 sudo pip uninstall tensorflow tensorflo...