为什么在传递两个 TensorFlow 变量对象时,numpy 点积函数 returns 出错?

Why does the numpy dot product function returns an error when passed two TensorFlow Variable objects?

import tensorflow as tf
import numpy as np

a = tf.Variable([[12, 13], [12, 13]])
b = tf.Variable([[12, 13], [12, 13]])

print(np.dot(a, b))

以上代码returns错误:

TypeError: __array__() takes 1 positional argument but 2 were given.

我知道 TensorFlow 有一个用于矩阵乘法的内置方法,但我很好奇为什么 np.dot 方法不起作用,特别是对于 tensorflow 变量对象(它似乎对 tensorflow.constant对象)。

其他方法,如np.squarenp.sqrt等都可以用这个,但好像只有np.dot特别不行。

编辑:我想知道为什么 这些对象在传递给np.dot 函数时尤其不起作用。我意识到有多种方法可以找到两个 tf.Variable 对象之间的点积

这似乎是 TensorFlow 中的错误。请参阅 https://github.com/tensorflow/tensorflow/issues/46563。截至 2021 年 7 月 12 日,没有对导致问题的 github 问题进行解释。