如何获得Keras变量的值

时间:2018-05-24 03:22:16

标签: keras

我想打印输入的形状。

但是,有一个错误。

怎么做?

非常感谢。

from keras.engine.topology import Layer
import keras.backend as K
import numpy as np

class SpatialPyramidPooling(Layer):

def __init__(self, pool_list, **kwargs):
    self.dim_ordering = K.image_dim_ordering()
    assert self.dim_ordering in {'tf', 'th'}, 'dim_ordering must be in {tf, th}'
    self.pool_list = pool_list
    self.num_outputs_per_channel = sum([i * i for i in pool_list])
    super(SpatialPyramidPooling, self).__init__(**kwargs)

def call(self, x, mask=None):
    input_shape = K.shape(x)
    print(input_shape))#<--------------------cannot print
    print(K.eval(input_shape))
    return K.variable(value=np.random.random((3,4)))

1 个答案:

答案 0 :(得分:0)

您只需print(x)K.int_shape(x)即可获得形状的想法,其中会打印带有一些问号或None的张量。在构建计算图时,不能使用eval或任何其他方法打印确切的形状。您只知道在训练或预测时(即计算运行时)。