ImageDataGenerators によって調達された画像を 2 つの異なるリストに追加したいと思います。ラムダレイヤーでそれができると信じていましたが、エラーメッセージが表示されます。おもちゃの例については、以下のコードを参照してください。任意のイメージ セットを使用してコードを実行できます。ここにある猫と犬のデータセットを使用しました: " https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_3367a.zip "
imgs1 = []
imgs2 = []
train_datagen = ImageDataGenerator(rescale = 1./255.,
rotation_range = 40,
width_shift_range = 0.2,
height_shift_range = 0.2,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
train_generator1 = train_datagen.flow_from_directory(train_dir1,
batch_size = 1,
class_mode = 'binary',
target_size = (150, 150), shuffle = False)
train_generator2 = train_datagen.flow_from_directory(train_dir2,
batch_size = 1,
class_mode = 'binary',
target_size = (150, 150), shuffle = False)
inputs1 = Input(shape=(150, 150, 3))
inputs2 = Input(shape=(150, 150, 3))
l1 = Lambda(lambda x: imgs1.append(x), name = 'lambda1')(inputs1)
l2 = Lambda(lambda x: imgs2.append(x), name = 'lambda2')(inputs2)
x1 = Flatten()(inputs1)
x1 = Dense(1024, activation='relu')(x1)
x1 = Dropout(0.2)(x1)
outputs1 = Dense(1, activation='sigmoid')(x1)
x2 = Flatten()(inputs1)
x2 = Dense(1024, activation='relu')(x2)
x2 = Dropout(0.2)(x2)
outputs2 = Dense(1, activation='sigmoid')(x2)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-31-88211ebc88dd> in <module>
3 inputs2 = Input(shape=(150, 150, 3))
4
----> 5 l1 = Lambda(lambda x: imgs1.append(x), name = 'lambda1')(inputs1)
6 l2 = Lambda(lambda x: imgs2.append(x), name = 'lambda2')(inputs2)
7
~\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\base_layer.py in __call__(self, inputs, *args, **kwargs)
865 raise ValueError('A layer\'s `call` method should return a '
866 'Tensor or a list of Tensors, not None '
--> 867 '(layer: ' + self.name + ').')
868 if base_layer_utils.have_all_keras_metadata(inputs):
869 if training_arg_passed_by_framework:
ValueError: A layer's `call` method should return a Tensor or a list of Tensors, not None (layer: lambda1).