AttributeError: module 'tensorflow' has no attribute 'trainable_variables'
时间: 2023-10-13 19:07:12 浏览: 156
这个错误通常是因为你使用的 TensorFlow 版本不支持 `trainable_variables` 属性。如果你使用的是 TensorFlow 2.0 及以上版本,可以尝试使用 `trainable_variables` 的替代方法 `trainable_weights`。如果你使用的是 TensorFlow 1.x 版本,可以尝试升级到 TensorFlow 2.x 版本或者使用 `tf.trainable_variables()` 方法获取可训练变量列表。
相关问题
AttributeError: module 'tensorflow.compat.v1' has no attribute 'trainable_weights'
这个错误可能是因为你正在使用 TensorFlow 2.x 版本的代码,但是代码中使用了 TensorFlow 1.x 版本的 API。
在 TensorFlow 2.x 中,`trainable_weights` 属性已被替换为 `trainable_variables` 属性。因此,你需要将代码中的所有 `trainable_weights` 替换为 `trainable_variables`。
例如,在 TensorFlow 1.x 中,你可能会有这样的代码:
```
trainable_params = tf.trainable_weights()
```
在 TensorFlow 2.x 中,你需要将其替换为:
```
trainable_params = tf.compat.v1.trainable_variables()
```
这应该可以解决你遇到的问题。
AttributeError: 'Saver' object has no attribute 'trainable_variables'
这个错误通常发生在使用旧版本的 TensorFlow 中。在旧版本的 TensorFlow 中,命名为 `Saver` 的对象没有 `trainable_variables` 属性。相反,您可以使用 `tf.trainable_variables()` 函数来获取可训练变量的列表。
如果您正在使用较新版本的 TensorFlow(例如 TensorFlow 2.x),则可以尝试使用 `tf.compat.v1.trainable_variables()` 函数来获取可训练变量的列表。这个函数在兼容模式下提供与旧版本 TensorFlow 的兼容性。
请确保您的 TensorFlow 版本与您的代码和文档指南匹配,并根据所使用的版本选择正确的方法来获取可训练变量的列表。