【发布时间】:2021-07-08 15:20:14
【问题描述】:
为了我将来的使用,我想测试多变量多层感知器。
为了测试,我做了一个简单的python程序。
这是代码。
import tensorflow as tf
import pandas as pd
import numpy as np
import random
input = []
result = []
for i in range(0,10000):
x = random.random()*100
y = random.random()*100
input.append([x,y])
result.append(x*y)
input = np.array(input,dtype=float)
result = np.array(result,dtype = float)
activation_func = "relu"
unit_count = 256
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(1,input_dim=2),
tf.keras.layers.Dense(unit_count,activation=activation_func),
tf.keras.layers.Dense(unit_count,activation=activation_func),
tf.keras.layers.Dense(unit_count,activation=activation_func),
tf.keras.layers.Dense(unit_count,activation=activation_func),
tf.keras.layers.Dense(1)])
model.compile(optimizer="adam",loss="mse")
model.fit(input,result,epochs=10)
predict_input = np.array([[7,3],[5,4],[8,8]]);
print(model.predict(predict_input))
我用这段代码试过了,结果不好。损失值似乎并没有在某个时候降低。
我还尝试了较小的 x 和 y。数字越大,模型就越不准确。
我改变了激活函数,增加了更密集的层并增加了单元的数量,但并没有变得更好。
【问题讨论】:
标签: python keras deep-learning linear-regression tensorflow2.0