Tensorflow2.0實現最簡單的神經網絡

import tensorflow as tf
import numpy as np

#實例化
model=tf.keras.Sequential()

#添加一層全連接神經網絡。
#輸入張量的維度是1
#輸入一個元素
model.add(tf.keras.layers.Dense(input_dim=1,units=1))

#loss函數使用MSE,optimizer使用隨機梯度下降
model.compile(loss='mse',optimizer='sgd')

#隨機生成訓練數據,在-10到10的範圍內生成700個元素的等差數列作爲訓練輸入
X=np.linspace(-10,10,700)
#生成Y數據,模擬訓練數據的標籤
Y=2*X+100+np.random.normal(0,0.1,(700,))

#開始訓練,verbose=1表示以進度挑的形式顯示訓練信息
#epochs是整個數據集在訓練中訓練多少遍
#validation_split=0.2表示驗證集所佔比例,用於初步評估模型
model.fit(X,Y,verbose=1,epochs=200,validation_split=0.2)

#保存模型
filename='line_model.h5'
print('已保存')
model.save(filename)

#加載模型,測試模型
x=tf.constant([0.5])
model=tf.keras.models.load_model(filename)
y=model.predict(x)
print('測試結果:')
print(y)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章