Поэтому я пытаюсь использовать дробный максимальный пул в Keras с лямбда-обертками на CIFAR-10, но всякий раз, когда я пытаюсь обучить модель, среда выполнения умирает. Есть какие-нибудь подсказки о том, что происходит? Я использую Keras v2.0 с бэкэндом тензорного потока.
def frac_max_pool(x):
return tf.nn.fractional_max_pool(x,[1.0,1/sqrt(2),1/sqrt(2),1.0])[0]
model = Sequential()
model.add(Conv2D(32,(3,3),padding='same',input_shape=x_train.shape[1:]))
model.add(Activation('relu'))
model.add(Conv2D(32,(3,3)))
model.add(Activation('relu'))
model.add(Lambda(frac_max_pool))
model.add(Dropout(0.25))
model.add(Conv2D(64,(3,3),padding='same',input_shape=x_train.shape[1:]))
model.add(Activation('relu'))
model.add(Conv2D(64,(3,3)))
model.add(Activation('relu'))
model.add(Lambda(frac_max_pool))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(10))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=
['accuracy'])
model.fit(x_train,y_train,batch_size=32,epochs=100,validation_data=
(x_test,y_test))