import numpy as np
from math import e
def sigmoid(X, T):
return 1.0 / (1.0 + np.exp(-1.0 * np.dot(X, T)))
X = np.array([[1, 2, 3], [5, 0, 0]])
T = np.array([[1, 2], [1, 1], [4, 4]])
print(X.dot(T))
# Just to see if values are ok
print([1. / (1. + e ** el) for el in [-5, -10, -15, -16]])
print()
print(sigmoid(X, T))
可能X和/或T的输入值有问题。问题中的函数工作正常:
结果:
可能是输入数组的数据类型。将X更改为:
给出:
将类型
np.dot(X, T)
转换为float32,如下所示:z=np.array(np.dot(X, T),dtype=np.float32)
希望最后能成功!
相关问题 更多 >
编程相关推荐