小编stu*_*t17的帖子

ImageDataGenerator是否向我的数据集中添加更多图像?

我正在尝试使用Inception V3模型进行图像分类。ImageDataGeneratorKeras 是否会创建新图像并添加到我的数据集中?如果我有1000张图像,是否可以使用此功能将其翻倍到用于训练的2000张图像?有没有一种方法可以知道创建了多少图像并将这些图像输入到模型中?

python machine-learning computer-vision keras tensorflow

9
推荐指数
3
解决办法
4501
查看次数

在机器学习中混洗如何与 ImageDataGenerator 一起工作?

我正在使用 Inception V3 创建一个图像分类模型,并且有两个类。我已将我的数据集和标签拆分为两个 numpy 数组。将数据拆分为 trainX 和 testY 作为图像,trainY 和 testY 作为相应的标签。

data = np.array(data, dtype="float")/255.0
labels = np.array(labels,dtype ="uint8")

(trainX, testX, trainY, testY) = train_test_split(
                                data,labels, 
                                test_size=0.2, 
                                random_state=42) 

train_datagen = keras.preprocessing.image.ImageDataGenerator(
          zoom_range = 0.1,
          width_shift_range = 0.2, 
          height_shift_range = 0.2,
          horizontal_flip = True,
          fill_mode ='nearest') 

val_datagen = keras.preprocessing.image.ImageDataGenerator()


train_generator = train_datagen.flow(
        trainX, 
        trainY,
        batch_size=batch_size,
        shuffle=True)

validation_generator = val_datagen.flow(
                testX,
                testY,
                batch_size=batch_size) 
Run Code Online (Sandbox Code Playgroud)

当我使用 ImageDataGenerator shuffle train_generator 时,图像是否仍然匹配相应的标签?验证数据集也应该打乱吗?

python machine-learning computer-vision keras tensorflow

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

机器学习中损失较高的恒定验证准确性

我目前正在尝试使用 Inception V3 和 2 个类创建图像分类模型。我有 1428 张图像,比例约为 70/30。当我运行模型时,我得到了相当高的损失以及恒定的验证准确性。是什么导致了这个恒定值?

data = np.array(data, dtype="float")/255.0
labels = np.array(labels,dtype ="uint8")

(trainX, testX, trainY, testY) = train_test_split(
                            data,labels, 
                            test_size=0.2, 
                            random_state=42) 

img_width, img_height = 320, 320 #InceptionV3 size

train_samples =  1145 
validation_samples = 287
epochs = 20

batch_size = 32

base_model = keras.applications.InceptionV3(
        weights ='imagenet',
        include_top=False, 
        input_shape = (img_width,img_height,3))

model_top = keras.models.Sequential()
model_top.add(keras.layers.GlobalAveragePooling2D(input_shape=base_model.output_shape[1:], data_format=None)),
model_top.add(keras.layers.Dense(350,activation='relu'))
model_top.add(keras.layers.Dropout(0.2))
model_top.add(keras.layers.Dense(1,activation = 'sigmoid'))
model = keras.models.Model(inputs = base_model.input, outputs = model_top(base_model.output))


for layer in model.layers[:30]:
  layer.trainable = False

model.compile(optimizer …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras tensorflow

4
推荐指数
1
解决办法
1851
查看次数

机器学习中是否可以使用不可训练的参数?

在构建机器学习模型时,是否可以使用不可训练的参数?或者这会在模型中产生错误吗?我对实际上不可训练的参数是什么以及如何基于此修复模型感到困惑.

python machine-learning hyperparameters keras

2
推荐指数
1
解决办法
747
查看次数

如何知道是否发生欠装或过度装配?

我正在尝试用两个类进行图像分类.我有1000张平衡类的图像.当我训练模型时,我得到的恒定验证精度低,但验证损失减少.这是过度拟合还是过度拟合的迹象?我还应该注意到,我正在尝试使用新类和不同的数据集重新训练Inception V3模型.

Epoch 1/10
2/2 [==============================]2/2 [==============================] - 126s 63s/step - loss: 0.7212 - acc: 0.5312 - val_loss: 0.7981 - val_acc: 0.3889

Epoch 2/10
2/2 [==============================]2/2 [==============================] - 70s 35s/step - loss: 0.6681 - acc: 0.5959 - val_loss: 0.7751 - val_acc: 0.3889

Epoch 3/10
2/2 [==============================]2/2 [==============================] - 71s 35s/step - loss: 0.7313 - acc: 0.4165 - val_loss: 0.7535 - val_acc: 0.3889

Epoch 4/10
2/2 [==============================]2/2 [==============================] - 67s 34s/step - loss: 0.6254 - acc: 0.6603 - val_loss: 0.7459 - …
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

-1
推荐指数
1
解决办法
801
查看次数