报错的代码:
import tensorflow as tf
import numpy as np
def sigmoid(x):
return 1/(1+np.exp(-x))
def derivative(x):
return sigmoid(x)(1-sigmoid(x))
x=tf.constant([2.,1.,0.1])
out=derivative(x)
print(out)
修改后的代码:
import tensorflow as tf
import numpy as np
def sigmoid(x):
return 1/(1+np.exp(-x))
def derivative(x):
return sigmoid(x)*(1-sigmoid(x))
x=tf.constant([2.,1.,0.1])
out=derivative(x)
print(out)
其实发现是sigmoid(x)和(1-sigmoid(x))之间少了一个“*”,网上也给出了很多关于这个错误的原因,但是这个还是得看自己的代码的具体原因,像我这个只是因为自己忘记加了 “ * ”报这样的错误,所以写代码的时候一定要注意一点。