AttributeError: module 'tensorflow' has no attribute 'trainable_variables'
时间: 2023-06-22 19:21:04 浏览: 252
问题解决:module 'tensorflow.compat.v1' has no attribute '
5星 · 资源好评率100%
这个错误通常是因为在 TensorFlow 2.0 中,`trainable_variables` 已经被移动到了 `tf.Module` 类的实例方法中,因此您需要将代码中的 `tensorflow.trainable_variables()` 替换为 `module.trainable_variables`,其中 `module` 是您要获取可训练变量的模块实例。
例如,如果您的代码中有以下语句:
```
import tensorflow as tf
...
var_list = tf.trainable_variables()
```
那么您需要将其修改为:
```
import tensorflow as tf
...
class MyModel(tf.Module):
def __init__(self):
self.W = tf.Variable(tf.ones(shape=(10, 1)), name='W')
self.b = tf.Variable(tf.zeros(shape=(1)), name='b')
@tf.function(input_signature=[tf.TensorSpec(shape=(None, 10), dtype=tf.float32)])
def __call__(self, x):
return tf.matmul(x, self.W) + self.b
model = MyModel()
var_list = model.trainable_variables
```
这里定义了一个简单的模型类 `MyModel`,并通过 `model.trainable_variables` 获取了模型中的可训练变量。如果您的代码中有多处使用了 `tensorflow.trainable_variables()` 的语句,需要将这些语句都进行修改。
阅读全文