1. 程式人生 > 其它 >tensorflow學習——01一個神經元的網路

tensorflow學習——01一個神經元的網路

題目:

已有一組資料

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]]說明效果還是不錯的

生命不息,程式碼不止