以下のコードを参考に, tensorflow.kerasで動くように書き直しています.
https://github.com/ykamikawa/tf-keras-PSPNet
以下のエラーがでて, 手も足もでない状態です.
解決方法は何かございますでしょうか.
Negative dimension size caused by subtracting 30 from 16 for '{{node pool_level_6_16/AvgPool}} = AvgPoolT=DT_FLOAT, data_format="NHWC", ksize=[1, 30, 30, 1], padding="VALID", strides=[1, 30, 30, 1]' with input shapes: [?,16,16,2048].
書き直し中のmodel.pyです.
Python
1ef interp_block( 2 x, num_filters=64, level=1, input_shape=(256,256, 3), output_stride=16 3): 4 """ interpolation block """ 5 feature_map_shape = (input_shape[0] / output_stride, input_shape[1] / output_stride) 6 7 # compute dataformat 8 if K.image_data_format() == "channels_last": 9 bn_axis = 3 10 else: 11 bn_axis = 1 12 13 if output_stride == 16: 14 scale = 5 15 elif output_stride == 8: 16 scale = 10 17 18 kernel = (level * scale, level * scale) 19 strides = (level * scale, level * scale) 20 global_feat = AveragePooling2D( 21 kernel, strides=strides, name="pool_level_%s_%s" % (level, output_stride) 22)(x) 23 global_feat = _conv( 24 filters=num_filters, 25 kernel_size=(1, 1), 26 padding="same", 27 name="conv_level_%s_%s" % (level, output_stride), 28 )(global_feat) 29 global_feat = BatchNormalization( 30 axis=bn_axis, name="bn_level_%s_%s" % (level, output_stride) 31 )(global_feat) 32 global_feat = Lambda(Interp, arguments={"shape": feature_map_shape})(global_feat) 33 34 return global_feat 35 36 37 38 39 40コード
あなたの回答
tips
プレビュー