首页 > 解决方案 > AttributeError:模块“tensorflow.compat.v2”没有属性“depth_to_space”

问题描述

我正在尝试运行一个使用 tensorflow 版本 1.4.0 编写的代码我在 google colab 上运行我的代码,它提供了 tensorflow 版本 2.x。

为了运行我的代码,我使用了向后兼容性,例如:替换import tensorflow as tf

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

这适用于某些事情,但在某种程度上它归结为这个错误

AttributeError:模块“tensorflow.compat.v2”没有属性“depth_to_space”

正如你在这张图片中看到的

我无法理解的是这种方法 'depth_to_space' 在 tensorflow 1.x 和 2.x 的两个版本中都有,那么为什么我的 tensorflow 版本没有得到它?这是版本 1.x 中方法的链接:https ://www.tensorflow.org/versions/r1.15/api_docs/python/tf/nn/depth_to_space

请帮助我了解导致此错误的原因。

谢谢, 普拉内

标签: pythontensorflowtensorflow1.15

解决方案


我尝试使用Tensorflow 1.15。它工作正常。看起来你的 Tensorflow 版本有点旧,

下面的示例代码使用 Tf 1.15 测试,没有任何错误。

import tensorflow as tf
print(tf.__version__)
x = [[[[1, 2, 3, 4]]]]

tf.nn.depth_to_space(x, 2, data_format='NHWC', name=None)

推荐阅读