这里,主要是想构建3个输出,然后计算3个输出的损失函数,并按权重将损失函数加起来作为总的损失
模型构建部分
class MyModel_add3loss(tf.keras.Model):
def __init__(self):
super(MyModel_add3loss,self).__init__()
self.inputa = tf.keras.layers.InputLayer(input_shape=(60, 8, 1))
self.conv2a = tf.keras.layers.Conv2D(64, (3, 3), padding="same", kernel_initializer="he_normal")#,kernel_regularizer=tf.keras.regularizers.l2(0.0001),bias_regularizer=tf.keras.regularizers.l2(0.0001))
self.bn_a = tf.keras.layers.BatchNormalization()
self.relu_a = tf.keras.layers.ReLU()
self.dropouta = tf.keras.layers.Dropout(0.5)
self.conv2b = tf.keras.layers.Conv2D(128, (3, 3), padding="same", kernel_initializer="he_normal")#,kernel_regularizer=tf.keras.regularizers.l2(0.0001),bias_regularizer=tf.keras.regularizers.l2(0.0001))
self.bn_b = tf.keras.layers.BatchNormalization()
self.relu_b = tf.keras.layers.ReLU()
self.pool_b = tf.keras.layers.MaxPool2D(strides=(2, 2), padding="same")
self.dropoutb = tf.keras.layers.Dropout(0.5)
self.conv2c = tf.keras.layers.Conv2D(256, (3, 3), padding="same", kernel_initializer="he_normal")#,kernel_regularizer=tf.keras.regularizers.l2(0.0001),bias_regularizer=tf.keras.regularizers.l2(0.0001))
self.bn_c = tf.keras.layers.BatchNormalization()
self.relu_c = tf.keras.layers.ReLU()
self.conv2d = tf.keras.layers.Conv2D(256, (3, 3), padding="same", kernel_initializer="he_normal")#,kernel_regularizer=tf.keras.regularizers.l2(0.0001),bias_regularizer=tf.keras.regularizers.l2(0.0001))
self.bn_d = tf.keras.layers.BatchNormalization(