【发布时间】:2018-05-05 05:11:11
【问题描述】:
我在这里按照本教程进行图像分类。 链接:Keras image classification
我引用的代码是Bottleneck feature 我面临的问题: 1.原教程只有两个类,但我正在尝试做多类分类。 我的文件结构如下:
data
train
class1
class2
class3
class4
test
class1
class2
class3
class4
原代码中以下代码用于二分类。
train_labels = np.array(
[0] * (nb_train_samples / 2) + [1] * (nb_train_samples / 2))
validation_data = np.load(open('bottleneck_features_validation.npy'))
validation_labels = np.array(
[0] * (nb_validation_samples / 2) + [1] * (nb_validation_samples / 2))
我明白,为了进行多类分类,我必须将其更改为:
train_labels = np.array(
[0] * (class0_train_size) + [1] * (class1_train_size)+ [2] * (class2_train_size) + [3] * (class3_train_size))
validation_data = np.load(open('bottleneck_features_validation.npy'))
validation_labels = np.array(
[0] * (class0_test_size) + [1] * (class1_test_size)+ [2] * (class2_test_size) + [3] * (class3_test_size))
我的问题是我的火车测试规模因不同的班级而异,所以我很难对它们进行硬编码。有没有办法可以根据文件夹内的实际图像数量动态分配它们,而不是硬编码大小?感谢您的慷慨帮助!
【问题讨论】: