代码创建一个异常,称为“在exp中遇到溢出”

时间:2017-09-26 19:32:39

标签: python numpy neural-network sigmoid

我创建了一个神经网络来预测将需要3个输入值的值,并为一个输出提供2个中间层。但是当它运行时,它会在函数中给出异常。我期待1到15之间的值作为最终输出 这是我的函数代码

        def nonlinear(facts, derive = False):
        if(derive == True):
            return facts*(1-facts)
        else:
            return 1/(1+pckg.exp(-facts))        

我创造的权重

        weight1 = 2*pckg.random.random((3,4))-1
        weight2 = 2*pckg.random.random((4,1))-1        

以下是我使用非线性函数的其余代码

        layer0 = facts;
        layer1 = nonlinear(pckg.dot(layer0,weight1))
        layer2 = nonlinear(pckg.dot(layer1,weight2))         
        layer2Value = layer2Error*nonlinear(layer2,derive = True)       
        layer1Value = layer1Error*nonlinear(layer1, derive = True)           
  

请注意,我没有提供完整的代码。

这是我得到的例外

RuntimeWarning: overflow encountered in exp return 1/(1+pckg.exp(-facts))

0 个答案:

没有答案