小编use*_*985的帖子

如何使用keras对Inception v3进行微调以进行多类分类?

我想使用Keras对来自Kaggle.com的Cat vs. Dog数据集进行两类图像分类。但是我对参数“ class_mode”有一些问题,如下代码。如果使用“二进制”模式,则精度约为95%,但是如果使用“分类”模式,则精度会异常低,只有50%以上。

二进制模式表示最后一层只有一个输出,并使用S型激活进行分类。样本的标签只有一个整数。

类别表示最后一层的两个输出,并使用softmax激活进行分类。样本的标签是一种热门格式,例如(1,0),(0,1)。

我认为这两种方式应具有相似的结果。有人知道差异的原因吗?非常感谢!

import os
import sys
import glob
import argparse
import matplotlib.pyplot as plt

from keras import __version__
from keras.applications.inception_v3 import InceptionV3, preprocess_input
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D
from keras.preprocessing.image import ImageDataGenerator
from keras.optimizers import SGD
Run Code Online (Sandbox Code Playgroud)

在这里设置一些参数

IM_WIDTH, IM_HEIGHT = 299, 299 #fixed size for InceptionV3
NB_EPOCHS = 1
BAT_SIZE = 32
FC_SIZE = 1024
NB_IV3_LAYERS_TO_FREEZE = 172
loss_mode = "binary_crossentropy"

def get_nb_files(directory):
  """Get number of files by searching directory recursively""" …
Run Code Online (Sandbox Code Playgroud)

classification deep-learning keras

5
推荐指数
1
解决办法
1317
查看次数

标签 统计

classification ×1

deep-learning ×1

keras ×1