我寫的這個是用python語言,tensorflow深度學習框架建立的神經網路模型,當然第一步就是匯入tensorflow了
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
定義好層之後,我們好像還沒有資料,那我們就自己編一點資料,在其中加一點雜訊因素,也就是,資料不是完美的符合一定的關係,而是在某一關係附近,我們到時候就看這個神經網路能不能學習到這一我們事先規定好的規律。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
然後就是定義資料型別,這裡類似於c++中的int之類的東西xs = tf.placeholder(tf.float32, [none, 1])
ys = tf.placeholder(tf.float32, [none, 1])
下面是新增隱藏層,和**輸出層
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]))
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):
# training
sess.run(train_step, feed_dict=)
if i % 50 == 0:
# to see the step improvement
print(sess.run(loss, feed_dict=))
每50次輸出一次**模型訓練進度,大家感興趣可以自己去執行下試試。 tensorflow 如何使用矩陣
refence tensorflow machine learning cookbook working with matrices packt.tensorflow.machine.learning.cookbook.2017 筆記 coding utf 8 import tensorflow a...
tensorflow如何使用 訓練模型
首先檢測 存在 tpu tf.distribute.cluster resolver.tpuclusterresolver 如果先前設定好了 環境變數,不需要再給引數 tpu的返回值為 則檢測到了 tf.config.experimental connect to cluster tpu tf.tp...
tensorflow 如何控制使用cpu數量
tensorflow讀取資料有時候非常占用資源,針對這一情況,我們可以通過控制程式使用cpu的數量來限制 步驟如下 1 bashrc 中修改指定個數 export cpu num 22 python 中在需要執行的程式前加入如下配置 cpu num int os.environ.get cpu nu...