我想打印输入的形状。
但是,有一个错误。
怎么做?
非常感谢。
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)))
答案 0 :(得分:0)
您只需print(x)
或K.int_shape(x)
即可获得形状的想法,其中会打印带有一些问号或None
的张量。在构建计算图时,不能使用eval或任何其他方法打印确切的形状。您只知道在训练或预测时(即计算运行时)。