Kann ich keras.layers verwenden, um benutzerdefinierte Ebene zu maskieren, um den gesamten Datensatz zu maskieren und den maskierten Datensatz zurückzugeben. Das ist < /p>
Code: Select all
class AttnMask(Layer):
def __init__(self, img_size, attention_map):
super().__init__()
self.imgSize = img_size
self.attentionMap = attention_map
def call(self, x, *args, **kwargs):
return tf.math.multiply(x, self.attentionMap)
< /code>
und die Funktion < /p>
aufrufenattenMaskLayer = attention_mask.AttnMask(img_size, attention_map)
maskedDataset = attenMaskLayer(dataset)
Der Datensatz wird aus der Verzeichnishierarchie über tf.keras.preprozessing.image.imagedatagener () und train_datagen.flow_from_directory () Methode abgerufen. Der folgende Argumentwert sollte als Keyword -Argument
übergeben werden: (vom Typ ) )