1.7.1版和1.8版中的Tensorflow Eager Execution有什么区别?

时间:2018-07-17 05:04:23

标签: tensorflow

伙计们。

这些天,我正在尝试熟悉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。

两个版本之间有什么区别吗?

谢谢。

0 个答案:

没有答案