Python keras子类模型的多输出

Python keras子类模型的多输出,python,tensorflow,keras,deep-learning,Python,Tensorflow,Keras,Deep Learning,下面是一个重现问题的小示例: 问题1:尽管我调用了build()函数,summary()没有显示输出形状。 问题2:尽管我通过调用build()修复了模型的输入维度,但模型仍然接受任何其他形状 import os from tensorflow.keras.models import Model from tensorflow.keras.layers import Conv2D, MaxPool2D, BatchNormalization, ReLU import numpy as np

下面是一个重现问题的小示例:

问题1:尽管我调用了
build()
函数,
summary()
没有显示输出形状。
问题2:尽管我通过调用
build()
修复了模型的输入维度,但模型仍然接受任何其他形状

import os

from tensorflow.keras.models import Model
from tensorflow.keras.layers import Conv2D, MaxPool2D, BatchNormalization, ReLU
import numpy as np


class SubModel(Model):
    def __init__(self, image_shape=(512, 512, 3), name='SubModel'):
        # - front_end -
        super().__init__(name=name)
        self.image_shape = image_shape
        # block1
        self.block1_conv1 = Conv2D(filters=64, kernel_size=3,
                                   activation=None, padding='same',
                                   name='block1_conv1')

        self.build(input_shape=(None, *(self.image_shape)))

    def call(self, x):
        x = self.block1_conv1(x)
        return x


model = SubModel()

model.summary()

x= np.random.normal(size=(1, 256, 256, 3))

y= model(x)

print(y.shape)