gpt4 book ai didi

python - Tflearn 网络始终对线性函数建模

转载 作者:行者123 更新时间:2023-12-01 08:50:10 25 4
gpt4 key购买 nike

我正在尝试使用神经网络对 f(x) = x^2 图进行建模,我正在 tflearn 中进行制作。但即使使用多个图层,当我从模型中绘制一些点时,它总是会绘制一条直线。

import numpy as np
from matplotlib import pyplot

import tflearn

x = list()
y = list()
for i in range(100):
x.append(float(i))
y.append(float(i**2))
features = np.array(x).reshape(len(x),1)
labels = np.array(y).reshape(len(y), 1)

g = tflearn.input_data(shape=[None, 1])
g = tflearn.fully_connected(g, 128)
g = tflearn.fully_connected(g, 64)
g = tflearn.fully_connected(g, 1)
g = tflearn.regression(g, optimizer='sgd', learning_rate=0.01,
loss='mean_square')

# Model training
m = tflearn.DNN(g)
m.fit(features, labels, n_epoch=100, snapshot_epoch=False)

x = list()
y = list()
for i in range(100):
x.append(i)
y.append(float(m.predict([[i]])))

pyplot.plot(x, y)

pyplot.plot(features, labels)

pyplot.show()

plot

绿线是 x^2 图,蓝线是模型。

最佳答案

默认情况下,tflearn.filled_connected 具有 activation='linear',因此无论堆叠多少层,都只能近似线性函数。

尝试不同的激活函数,例如tflearn.filled_connected(g, 128,activation='tanh')并使用activation='linear'保留输出层所以它不会剪辑你的输出。

关于python - Tflearn 网络始终对线性函数建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53159397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com