Reputation: 352
I am trying to run this line of code :
var_init_1 = tf.get_variable("var_init_1", [1, 2], dtype=tf.int32, initializer=tf.zeros_initializer)
print(var_init_1.shape)
It should give an output the shape of tensor of zeros.
AttributeError Traceback (most recent call last)
<ipython-input-37-3cc73aa1818e> in <module>
----> 1 var_init_1 = tf.get_variable("var_init_1", [1, 2], dtype=tf.int32, initializer=tf.zeros_initializer)
2 print(var_init_1.shape)
AttributeError: module 'tensorflow' has no attribute 'get_variable'
Upvotes: 12
Views: 24084
Reputation: 4917
I ran into this problem and other issue with tf v1 vs. tf v2. I found the best solution is proposed at this overstock link: Module 'tensorflow' has no attribute 'contrib'
$tf_upgrade_v2 \
--intree my_project/ \
--outtree my_project_v2/ \
--reportfile report.txt
Basically you just convert tf v1 project to tf v2. Most of the time it will work. You do need to inspect get_variable conversion and make sure it's what you want. Examine report.txt on how it's converted.
Upvotes: 0
Reputation: 103
tf.Variable does not work for initilizer. Use this instead of tf.compat.v1.get_variable
instead of tf.Variable
. This works tensorflow 2.0 and above.
Upvotes: 4
Reputation:
Mentioning the Solution for the benefit of the community.
Downgrading to Tensorflow 1.X Version (1.14 or 1.15)
has resolved the issue, as Tensorflow
version 2.0
doesn't support get_variable()
.
Upvotes: 3