import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
通過隨機生成的x求出對應的y值,可以自己指定求出y值的方法,主要是使x和y有對應的關係
# 使用mumpy生成200個隨機點
x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis] # 使得維度為[200,1]
noise = np.random.normal(0, 0.02, x_data.shape) # 維度為[200, 1]高斯分布的資料
y_data = np.square(x_data) + noise
# 定義權重和偏置第一層
w1 = tf.variable(tf.random.normal([1, 10],dtype=x_data.dtype))
b1 = tf.variable(tf.zeros([1, 10], dtype=x_data.dtype))
# 定義輸出
w2 = tf.variable(tf.random.normal([10, 1], dtype=x_data.dtype))
b2 = tf.variable(tf.zeros([1, 1], dtype=x_data.dtype))
可以試著改變一下超引數,對比不同的引數訓練的結果是什麼樣的
# 定義超引數
epochs = 1000 # 訓練次數
lr = 0.1
train_loss_results = # 訓練損失結果列表,用來畫圖展示
for epoch in range(epochs):
with tf.gradienttape() as tape: # 記錄梯度資訊
y1 = tf.matmul(x_data, w1) + b1
l1 = tf.nn.tanh(y1) # 使用tanh啟用函式,使得結果都為正數
y2 = tf.matmul(l1, w2) + b2
l2 = tf.nn.tanh(y2) # 使用tanh啟用函式
# 使用均方誤差求損失值
loss = tf.reduce_mean(tf.square(y_data - l2))
# 計算梯度下降的方向
TensorFlow 實現Softmax 回歸模型
importtensorflowastf importnumpyasnp importtensorflow.examples.tutorials.mnist.input dataasinput data mnist input data.read data sets mnist data one h...
tensorflow實現softmax回歸函式
softmax函式可以把多個值歸一化到 0,1 區間中,以實現分類等問題 輸出 5 dtype float32,numpy array 0.1738882 0.7230672,0.8248408,0.8263163 1.5385914 1.3104331 0.91867334 1.5094105,0...
TensorFlow 線性回歸實現
usr bin env python3 coding utf 8 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt if name main 給引數賦值 learning rate 0.01 trai...