Керас: Использовать размер тензора при использовании динамического ввода c как (Нет, Нет, 3) - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть фиктивная модель, подобная этой -

from tensorflow.keras.layers import Input, Conv2D, Conv2DTranspose, Cropping2D, Activation
from tensorflow.keras.models import Model
from tensorflow.keras import backend as K

inp = Input(shape=(None, None , 3))
x = Conv2D(filters=64, kernel_size=3, strides=1, name='conv1')(inp)
x = Conv2DTranspose(filters=1, kernel_size=3, strides=2, name='small_upscore_sal', use_bias=False)(x)
x = Cropping2D(((0,K.int_shape(inp)[1]), (0,K.int_shape(inp)[2])), name='small_score')(x) # Need to use Tensor's shape here
x = Activation('sigmoid')(x)
model = Model(inputs=inp, outputs=x)
model.summary()

Мне нужен вход как None, None для поддержки динамических изображений размером 1011 *, но мне нужно снова использовать форму тензора вниз. В настоящее время этот код выдает ошибку:

ValueError: The `1st entry of cropping` argument must be a tuple of 2 integers. Received: (0, None) including element None of type <class 'NoneType'>

Как мне решить эту проблему?

...