如何获取Keras变量的值

如何获取Keras变量的值,keras,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

我想打印输入的形状

但是,有一个错误

怎么做

多谢各位

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)))
来自keras.engine.topology导入层
将keras.backend作为K导入
将numpy作为np导入
类空间金字塔池(层):
定义初始值(自身、池列表,**kwargs):
self.dim_ordering=K.image_dim_ordering()
在{tf',th'}中断言self.dim_排序,dim_排序必须在{tf,th}'中
self.pool\u list=pool\u list
self.num\u每通道输出\u=总和([i*i表示池\u列表中的i])
超级(空间吡虫啉池,自我)。\uuuuu初始值(**kwargs)
def调用(self、x、mask=None):
输入_shape=K.shape(x)
print(input_shape))#您只需
print(x)
K.int_shape(x)
即可获得形状的概念,它将打印一个带有问号的张量或
None
。在构建计算图时,无法使用eval或任何其他方法打印准确的形状。您只知道在训练或预测时(即运行计算时)