tensorflow學習——01一個神經元的網路
阿新 • • 發佈:2021-10-13
題目:
已有一組資料
X= -1, 0, 1, 2, 3, 4
Y= -3, -1, 1, 3, 5, 7
如何根據X得到Y
完成程式碼
import tensorflow as tf import numpy as np from tensorflow import keras model=keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])]) #layters表示一層神經元 #units=1表示這一層中只有一個神經元 #input_shape=[1] 表示輸入值只有一個就是X model.compile(optimizer='sgd',loss='mean_squared_error') #optimizer表示根據什麼來優化 #loss損失函式 mse=(1/n)*(所有資料的(真實值-預測值)的平方和) xs=np.array([-1.0,0.0,1.0,2.0,3.0,4.0],dtype=float) ys=np.array([-3.0,-1.0,1.0,3.0,5.0,7.0],dtype=float) model.fit(xs,ys,epochs=5000) #輸入值 輸出值 訓練次數 print(model.predict([10.0]))
上面程式碼我是使用jupyter notebook來進行實現的,如果想要有程式碼自動提示需要先執行這行程式碼
%config IPCompleter.greedy=True
在訓練的過程中,發現loss的值越來越小,說明還可以
實際x和y的對應關係是y=2x-1,當我們預測x=10的時候給出的結果是[[18.977278]]說明效果還是不錯的
生命不息,程式碼不止