Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Keras 使用SVM分类器作为预训练模型(VGG16)的最后一层_Keras - Fatal编程技术网

Keras 使用SVM分类器作为预训练模型(VGG16)的最后一层

Keras 使用SVM分类器作为预训练模型(VGG16)的最后一层,keras,Keras,我已经使用Keras训练了我的CNN模型(二进制分类),现在我想使用SVM分类器,而不是使用完全连接的层进行分类 我使用VGG16预训练网络进行特征提取,还使用了数据扩充 添加SVM作为分类的最后一层的可能方式是什么 #Parametres import keras from keras.applications import VGG16 import sys from PIL import Image #Using VGG16 Pre-trained Model conv_base =

我已经使用Keras训练了我的CNN模型(二进制分类),现在我想使用SVM分类器,而不是使用完全连接的层进行分类

我使用VGG16预训练网络进行特征提取,还使用了数据扩充

添加SVM作为分类的最后一层的可能方式是什么

#Parametres  
import keras
from keras.applications import VGG16
import sys
from PIL import Image

#Using VGG16 Pre-trained Model
conv_base = VGG16(weights = 'imagenet',
              include_top = False,
              input_shape=(224, 224, 3))

conv_base.summary()

import numpy as np
import os
from keras.preprocessing.image import ImageDataGenerator

base_dir = 'C:Covid Detection/Code/Dataset-created')
train_dir = os.path.join(base_dir, 'train')
validation_dir = os.path.join(base_dir, 'validation')
test_dir = os.path.join(base_dir, 'test')

from keras import models
from keras import layers

model = models.Sequential()
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))

conv_base.trainable = False

from keras import optimizers

train_datagen = ImageDataGenerator(
    rescale=1./255,
    rotation_range=40,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,
    fill_mode='nearest')

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
    train_dir,
    target_size=(224, 224),
    batch_size=20,
    class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
    validation_dir,
    target_size=(224, 224),
    batch_size=20,
    class_mode='binary')

# Compile the model
model.compile(loss='binary_crossentropy',
optimizer=optimizers.RMSprop(lr=2e-5),
metrics=['acc'])

# Train the model
history = model.fit_generator(
    train_generator,
    steps_per_epoch=50,
    epochs=30,
    validation_data=validation_generator,
    validation_steps=50)

# Save the model
model.save('vgg16_aug.h5')