Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 在自定义模型中封装预构建模型_Tensorflow_Keras_Tensorflow2.0 - Fatal编程技术网

Tensorflow 在自定义模型中封装预构建模型

Tensorflow 在自定义模型中封装预构建模型,tensorflow,keras,tensorflow2.0,Tensorflow,Keras,Tensorflow2.0,我试图创建一个mobilenetV2forCifar10模型类,方法是将一个预构建的MobilenetV2模型封装在自定义类中,并将该模型的输出张量命名为pooling和logits层: class MobileNetV2ForCifar100(keras.Model): def __init__(self): super(MobileNetV2ForCifar100, self).__init__() # cifar100 is 32 by 32 by

我试图创建一个mobilenetV2forCifar10模型类,方法是将一个预构建的MobilenetV2模型封装在自定义类中,并将该模型的输出张量命名为pooling和logits层:

class MobileNetV2ForCifar100(keras.Model):
    def __init__(self):
        super(MobileNetV2ForCifar100, self).__init__()
        # cifar100 is 32 by 32 by 3
        self.base_model = keras.applications.MobileNetV2(input_shape=(32, 32, 3), include_top=False)
        self.pooling_layer = keras.layers.GlobalAveragePooling2D()
        self.logits_layer = keras.layers.Dense(100)

    def call(self, inputs, training=None, mask=None):
        self.base_model.input(inputs)
        x = self.base_model.output
        x = self.pooling_layer(x)
        x = self.logits_layer(x)
        return x
但是得到

AttributeError:该层从未被调用,因此没有定义的输入形状

尝试创建模型并获取输入形状时。这里出了什么问题? 同样,以这种方式将函数API与OOP混合似乎是错误的,有没有更好的方法来扩展现有模型