无法将序列乘以'numpy.float64'类型的非整数

时间:2019-09-22 10:52:01

标签: python list numpy

我正在编程一个错误反向传播NN,其中我有这个隐藏层局部梯度hl_loc_grads,学习速率参数为eta,input_data [i]作为来自csv文件的输入。 这是类别为hl_local_grads = [0.00195312 0.00195312 0.00195312 0.00195312] <class 'numpy.ndarray'> eta是1和

Train data is 

[[1, 16, 10.5, 2, 1, 100, 25], [1, 20, 8.0, 6, 1, 45, 8], [1, 35, 9.75, 2, 2, 8, 6], [2, 28, 7.5, 4, 1, 9, 2], [2, 19, 6.0, 2, 1, 225, 8], [2, 33, 6.25, 2, 1, 30, 3], [2, 15, 1.75, 1, 2, 49, 7], [2, 15, 5.5, 12, 1, 48, 7], [2, 16, 10.0, 7, 1, 143, 6], [2, 26, 7.75, 6, 2, 6, 5], [2, 15, 6.5, 19, 1, 56, 7], [2, 26, 6.75, 2, 1, 6, 6], [1, 22, 1.25, 3, 3, 47, 3], [2, 26, 10.5, 6, 1, 50, 9], [1, 25, 5.75, 2, 1, 300, 7], [2, 17, 11.25, 4, 3, 70, 7], [1, 27, 5.0, 2, 1, 20, 5], [2, 24, 4.75, 10, 3, 30, 45], [2, 34, 11.5, 12, 1, 25, 50], [2, 38, 2.5, 1, 3, 43, 50], [1, 23, 3.0, 2, 3, 87, 70], [2, 48, 10.25, 7, 1, 50, 25], [2, 24, 4.25, 1, 1, 174, 30], [2, 33, 8.0, 3, 1, 502, 8], [2, 41, 11.0, 11, 2, 21, 6], [1, 29, 8.75, 3, 1, 504, 2], [2, 22, 8.5, 5, 1, 99, 8], [2, 22, 8.25, 9, 1, 352, 3], [2, 34, 8.5, 1, 2, 163, 7], [1, 49, 4.5, 2, 1, 33, 7], [2, 19, 11.0, 5, 2, 51, 6, 1], [1, 26, 7.75, 13, 2, 13, 5, 1], [1, 51, 8.75, 2, 2, 57, 3, 1], [1, 19, 7.75, 6, 1, 32, 7, 1], [1, 38, 12.0, 14, 1, 87, 6, 0], [2, 36, 1.75, 10, 3, 45, 3, 1], [2, 49, 9.0, 4, 2, 14, 9, 1], [1, 23, 5.75, 2, 1, 43, 7, 1], [1, 45, 10.0, 8, 1, 58, 7, 1], [1, 54, 7.5, 13, 3, 43, 5, 1], [2, 47, 5.25, 3, 3, 23, 45, 1], [2, 56, 11.75, 7, 1, 31, 50, 0], [2, 47, 3.75, 14, 2, 67, 50, 1], [2, 19, 2.25, 8, 2, 42, 70, 1], [2, 33, 8.0, 5, 1, 63, 25, 1], [2, 15, 4.0, 12, 1, 72, 30, 1], [1, 17, 8.5, 2, 1, 44, 8, 1], [1, 27, 11.75, 8, 1, 208, 6, 0], [2, 51, 6.0, 6, 1, 80, 2, 1], [1, 35, 6.75, 4, 3, 41, 8, 1], [1, 43, 8.0, 1, 1, 59, 3, 1], [1, 33, 1.75, 7, 2, 379, 7, 0], [2, 51, 4.0, 1, 1, 65, 7, 1], [1, 45, 6.5, 9, 2, 49, 6, 1], [2, 47, 9.25, 13, 2, 367, 8, 1], [1, 18, 11.75, 5, 2, 13, 5, 1], [1, 43, 11.0, 7, 1, 507, 7, 1], [2, 28, 11.0, 3, 3, 91, 6, 0], [1, 30, 1.0, 2, 1, 88, 3, 1], [2, 42, 8.75, 8, 2, 73, 9, 0]]

即使int可以乘以浮点数,我也会收到此错误。

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-24-42e3253fef1a> in <module>()
     42         # Updating weight vectors for hidden layer neurons
     43         for j in range(4):
---> 44             Wt_change = eta*hl_local_grads[j]*train_data[i]
     45             Wt0[j] = Wt0[j] + Wt_change
     46 

TypeError: can't multiply sequence by non-int of type 'numpy.float64'

0 个答案:

没有答案