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)

 

你可能感兴趣的:(python,tensorflow,神经网络)