下面的代码训练了一个简单的三个数相加,虽然没必要用到这么多层以及这么多节点,但是就是为了做个demo出来,一把杀鸡的牛刀~
import keras
from keras import layers
import numpy as np
from random import random
# 初始化三层神经网络
model = keras.Sequential()
model.add(layers.Dense(7, input_dim=3))
model.add(layers.Dense(5))
model.add(layers.Dense(1))
# 编译model,指明优化器和优化目标
model.compile(
optimizer='adam',
loss='mse'
)
# 随机生成训练数据
x = []
y = []
for i in range(10000):
row = []
for j in range(3):
row.append(random())
x.append(row)
y.append(np.sum(row))
x = np.array(x)
y = np.array(y)
# 训练模型
model.fit(x, y, epochs=100, verbose=0)
# 计算预测值
test = [[4,4,4],[5,5,5],[1,1,1],[0.1,0.2,0.3]]
test = np.array(test)
predictions = model.predict(test)
print(predictions)
model.summary()