伙计们。
这些天,我正在尝试熟悉Tensorflow中渴望执行的内容。但是,我遇到了tutorial的一个问题。
def f(x):
return tf.square(tf.sin(x))
def grad(f):
return lambda x: tfe.gradients_function(f)(x)[0]
x = tf.lin_space(-2*pi, 2*pi, 100) # 100 points between -2π and +2π
import matplotlib.pyplot as plt
plt.plot(x, f(x), label="f")
plt.plot(x, grad(f)(x), label="first derivative")
plt.plot(x, grad(grad(f))(x), label="second derivative")
plt.plot(x, grad(grad(grad(f)))(x), label="third derivative")
plt.legend()
plt.show()
此代码在Tensorflow 1.8.0中运行良好,但在Tensorflow 1.7.1中的unsupported operand type(s) for %: 'int' and 'Dimension'
部分返回了plt.plot(x, f(x), label="f")
错误。 matplotlib版本是2.2.2。
两个版本之间有什么区别吗?
谢谢。