TypeError:类型为'float'的对象没有len()-神经网络

时间:2020-05-21 19:31:44

标签: python neural-network

我正在尝试创建此神经网络,以便它可以预测长期价值,首先,我想预测一段时间内的未来美元价值。我只有一个输入(时间)和一个输出(美元),我正在使用适合于我的情况的算法,但始终会出现此错误,而且我不知道神经网络有什么问题,所有数据均已归一化< / p>

from pybrain3.tools.shortcuts import buildNetwork

from pybrain3.datasets import SupervisedDataSet

from pybrain3.supervised.trainers import BackpropTrainer

ds = SupervisedDataSet(1, 1)

ds.addSample((0.01),(0.017743))

ds.addSample((0.02),(0.017277))

ds.addSample((0.03),(0.017076))

ds.addSample((0.04),(0.016889))

ds.addSample((0.05),(0.016605))

ds.addSample((0.06),(0.016189))

ds.addSample((0.07),(0.015914))

ds.addSample((0.08),(0.016123))

ds.addSample((0.09),(0.017996))

ds.addSample((0.1),(0.021729))

ds.addSample((0.11),(0.022663))

ds.addSample((0.12),(0.023944))


nn = buildNetwork(1, 4, 1, bias=True)

trainer = BackpropTrainer(nn, ds)

for i in range(50):
    print(trainer.train())

while True:
    dolar = float(input('enter the month of the equivalent year '))

    z = nn.activate((dolar))[0] * 100.0

       print(f'dolar accuracy: {str(z)}')
Error:

Traceback (most recent call last):

  File "D:/user/ex1/teste keras.py", line 31, in <module>
    z = nn.activate((dolar),)[0] * 100

  File "D:\user\python\venv\lib\site-packages\pybrain3\structure\networks\feedforward.py", line 20, in activate
    return super(FeedForwardNetworkComponent, self).activate(inpt)

  File "D:\user\python\venv\lib\site packages\pybrain3\structure\modules\module.py", line 104, in activate
    assert len(self.inputbuffer[self.offset]) == len(inpt), str((len(self.inputbuffer[self.offset]), len(inpt))) 

TypeError: object of type 'float' has no len()

1 个答案:

答案 0 :(得分:0)

我不知道该库,但似乎activate()将列表或元组作为输入,因此请尝试activate((dolar,))