Neupy带examp的LMS算法的溢出错误

2024-05-13 20:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试了LMS算法的例子:

import numpy as np
from neupy import algorithms

input_data = np.array([[1, 0], [2, 2], [3, 3], [0, 0]])
target_data = np.array([[1], [0], [0], [1]])

lmsnet = algorithms.LMS((2, 1), step=0.5)

lmsnet.train(input_data, target_data, epochs=200)
lmsnet.predict(np.array([[4, 4], [0, 0]])) 

但我在这一行得到“overflowerrror:cannot convert float infinity to integer”错误(文件:summary\u info.py)地址:

scale = math.ceil(self.delay_limit / average_delay)

我无法将示例中的输入参数与错误联系起来,我知道被0除会出现错误,但我不知道如何解决这个问题。我不想修改库文件来解决问题。你知道吗


Tags: 文件importnumpy算法targetinputdata错误
1条回答
网友
1楼 · 发布于 2024-05-13 20:25:05

你的例子对我很好

你可以克服这个问题,如果你训练你的网络在一个循环,像这样

import numpy as np
from neupy import algorithms

input_data = np.array([[1, 0], [2, 2], [3, 3], [0, 0]])
target_data = np.array([[1], [0], [0], [1]])

# Used smaller step since 0.5 is too big
lmsnet = algorithms.LMS((2, 1), step=0.1)

for _ in range(200):
    lmsnet.train(input_data, target_data, epochs=1)

lmsnet.predict(np.array([[4, 4], [0, 0]])) 

相关问题 更多 >