Issue
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))
The above code returns the error:
TypeError: __array__() takes 1 positional argument but 2 were given.
I understand that TensorFlow has a builtin method for matrix multiplication, but I was curious why the np.dot
method does not work, specifically with tensorflow Variable objects (it seems to do fine with tensorflow.constant
objects).
Other methods, such as np.square
, np.sqrt
, etc. all work with this, but it seems that only np.dot
in particular does not.
Edit: I was wondering why these objects in particular do not work when passed to the np.dot
function. I realize that there are a variety of ways to find the dot product between two tf.Variable
objects
Solution
This appears to be a bug in TensorFlow. Please see https://github.com/tensorflow/tensorflow/issues/46563. As of July 12, 2021, there is no explanation on that github issue of what causes the problem.
Answered By - jakub
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.