0
我努力训练使用Keras小CNN与ImageDataGenerator
像这样:Keras错误编译节点
model = Sequential()
model.add(Convolution2D(32, 3, 3, input_shape=(IM_HEIGHT, IM_WIDTH, 3), activation='relu'))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
rotation_range=40,
fill_mode='nearest')
train_generator = train_datagen.flow_from_directory(
SPLIT_TRAIN_DIR,
target_size=(IM_HEIGHT, IM_WIDTH),
batch_size=32,
class_mode='binary')
validation_datagen = ImageDataGenerator(rescale=1./255)
validation_generator = validation_datagen.flow_from_directory(
SPLIT_VALIDATION_DIR,
target_size=(IM_HEIGHT, IM_WIDTH),
batch_size=32,
class_mode='binary')
model.fit_generator(
train_generator, samples_per_epoch=32, nb_epoch=3, verbose=1,
validation_data=validation_generator, nb_val_samples=800)
我试图解决二元分类问题,但我发现了以下错误
例外:(, GpuElemwise {RoundHalfToEven,no_inplace}(GpuSoftmaxWithBias.0) '而编译节点发生以下错误'
后面跟着大量的cuda选项。这是在失败的行
model.fit_generator(
train_generator, samples_per_epoch=32, nb_epoch=3, verbose=1,
validation_data=validation_generator, nb_val_samples=800)
我完全失去了作为对CNN说这个问题是,我已经尝试了几种不同的架构,我也验证了thte ImageDataGenerator工作正常。我一直无法弄清楚问题可能出在哪里。
我使用Python 3.6.0,Theano 0.8.2和1.2.2 Keras