Mir*_*nib 0 python keras tensorflow
I tried CNN model on two classes and got 80% but when i tried the same model with 4 classes i got very bad result. What is the reason pls help. The model of CNN i used is:
model= Sequential()
model.add(Conv2D(64,(3,3),input_shape=input_shape))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))
#opt = SGD( lr=0.01)
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])
history = model.fit_generator(
train_generator,
steps_per_epoch=nb_train_samples//batch_size,
epochs=epochs,
validation_data = validation_generator,
validation_steps = validation_generator.samples // batch_size,
)
Run Code Online (Sandbox Code Playgroud)
The result of 2 classes something like this i lost the actual result of it:
Epoch 29/35
46/46 [==============================] - 188s 4s/step - loss: 0.6511 - accuracy: 0.5880 - val_loss: 0.7534 - val_accuracy: 0.5175
Run Code Online (Sandbox Code Playgroud)
The result with 4 classes is:
46/46 [==============================] - 367s 8s/step - loss: -10550614391401.7266 - accuracy: 0.2541 - val_loss: -15023441182720.0000 - val_accuracy: 0.2354
Run Code Online (Sandbox Code Playgroud)
输出层使用sigmoid
激活函数,只能用于二分类问题。
对于两个以上的类,softmax
在它应该有num_of_classes
节点之前使用激活函数和密集层。
model.add(Dense(numclasses)) # numclasses = 4 in your case
model.add(Activation('softmax'))
Run Code Online (Sandbox Code Playgroud)
此外,损失应该从 更改binary_crossentropy
为categorical_crossentropy
(这是在您的情况下显示奇怪损失的主要原因)。
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)
注意: categorical_crossentropy
需要one-hot
向量。如果您拥有的标签只是一维数组而不是单热向量,请使用sparse_categorical_crossentropy
归档时间: |
|
查看次数: |
70 次 |
最近记录: |