2017-01-20 2 views
5

zu erhöhen Ich muss Mehrkanalbilder erweitern und möchte ImageDataGenerator verwenden Leider unterstützt es nur 1,3 und 4-Kanal-Bilder und ich brauche viel mehr. Wäre es in Ordnung, site-packages/Keras/preprocessing/image.py direkt zu bearbeiten und die notwendige Anzahl von Kanälen hinzuzufügen?Hacky Weg, um Multichannel Bilder in Keras

if x.shape[self.channel_axis] not in {1, 3, 4, XXX}: 
     raise ValueError(
      'Expected input to be images (as Numpy array) ' 
      'following the dimension ordering convention "' + self.dim_ordering + '" ' 
      '(channels on axis ' + str(self.channel_axis) + '), i.e. expected ' 
      'either 1, 3 or 4 channels on axis ' + str(self.channel_axis) + '. ' 
      'However, it was passed an array with shape ' + str(x.shape) + 
      ' (' + str(x.shape[self.channel_axis]) + ' channels).') 

wo XXX - ist eine Anzahl von Kanälen, die ich brauche. Würde das irgendwas brechen? Danke!

Antwort

1

Ich habe es trotzdem versucht und es scheint ohne zu viele Nebenwirkungen zu funktionieren. Ich habe jedoch nicht jedes mögliche Problem untersucht. Wenn Sie also Mehrkanal-Daten (wie Satellitenbilder usw.) haben, können Sie diesen Hack ausprobieren. Es gibt einige Orte, an denen Sie den Erweiterungscode ergänzen müssen:

+0

Wie haben Sie die Daten erweitert? Haben Sie ImageDataGenerator verwendet oder haben Sie hierfür eine eigene benutzerdefinierte Funktion geschrieben? Ich habe das gleiche Problem wie Sie, ich muss volumetrische Daten (MRI-Bilder) zu erhöhen. Ich meine, hast du abgesehen von dem Hack, den du getan hast, irgendeine andere benutzerdefinierte Funktion geschrieben? – Raghuram

+0

Hallo, Raghuram! Nein, ich habe ImageDataGenerator alleine verwendet. –

+0

Danke !! :) – Raghuram

Verwandte Themen