CNTK + Keras:AttributeError:'Variable'对象没有属性'get_shape'

时间:2017-07-19 10:50:41

标签: keras cntk

我正在用CNTK后端运行Keras。 我在Windows 10上使用Python 3.5 GPU-1bit-SGD。

按照此处给出的说明安装并测试设置。一切正常!

但是,当我运行自己的代码时,我收到此错误:

numBins = y_pred.get_shape().as_list()[1]
  File "C:\Users\abisw\AppData\Local\Continuum\Anaconda3\envs\cntkkeraspy35\lib\site-packages\cntk\ops\functions.py", line 480, in __getattr__
    return getattr(outputs[0], name)
  File "C:\Users\abisw\AppData\Local\Continuum\Anaconda3\envs\cntkkeraspy35\lib\site-packages\cntk\cntk_py.py", line 1125, in <lambda>
    __getattr__ = lambda self, name: _swig_getattr(self, Variable, name)
  File "C:\Users\abisw\AppData\Local\Continuum\Anaconda3\envs\cntkkeraspy35\lib\site-packages\cntk\cntk_py.py", line 83, in _swig_getattr
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
AttributeError: 'Variable' object has no attribute 'get_shape'

知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

您将keras代码与tensorflow代码混合, get_shape 是张量流语法,而不是keras语法。如果你想要变量形状,你应该写:

from keras import K
K.int_shape(y_pred)