【VGG】简单应用
来源: 时间:2024-08-26 00:37
好的,以下是基于VGG的CIFAR-10图像分类代码,resize=32: ```python import keras from keras.datasets import cifar10 from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers import Conv2D, MaxPooling2D from keras.optimizers import SGD from keras.preprocessing.image import ImageDataGenerator from keras.utils import np_utils import numpy as np # 超参数定义 batch_size = 128 num_classes = 10 epochs = 100 data_augmentation = True num_predictions = 20 # 数据加载和预处理 (x_train, y_train), (x_test, y_test) = cifar10.load_data() x_train = x_train.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_test /= 255 y_train = np_utils.to_categorical(y_train, num_classes) y_test = np_utils.to_categorical(y_test, num_classes) # VGG网络定义 model = Sequential() model.add(Conv2D(32, (3, 3), padding='same', input_shape=x_train.shape[1:], activation='relu')) model.add(Conv2D(32, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), padding='same', activation='relu')) model.add(Conv2D(64, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(512, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes, activation='softmax')) # 模型编译和训练 sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy']) if not data_augmentation: print('Not using data augmentation.') model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_data=(x_test, y_test), shuffle=True) else: print('Using real-time data augmentation.') datagen = ImageDataGenerator( featurewise_center=False, samplewise_center=False, featurewise_std_normalization=False, samplewise_std_normalization=False, zca_whitening=False, rotation_range=0, width_shift_range=0.1, height_shift_range=0.1, horizontal_flip=True, vertical_flip=False) datagen.fit(x_train) model.fit_generator(datagen.flow(x_train, y_train, batch_size=batch_size), steps_per_epoch=x_train.shape[0] // batch_size, epochs=epochs, validation_data=(x_test, y_test), workers=4) # 模型评估 scores = model.evaluate(x_test, y_test, verbose=1) print('Test loss:', scores[0]) print('Test accuracy:', scores[1]) ``` 希望可以帮到你!
相关知识
深度学习简单网络VGG鲜花分类
基于深度学习和迁移学习的识花实践
基于深度学习的花卉识别研究
【深度学习图像识别课程】tensorflow迁移学习系列:VGG16花朵分类
flower花朵识别数据集
深度学习花朵识别系统的设计与实现
小型花架的应用
科技应用
论文:园林花境设计应用浅析
园林景观设计中生态技术应用
原文链接: 【VGG】简单应用 https://www.huajiangbk.com/newsview61599.html
| 上一篇: 花木分类榜 | 下一篇: 温室观花类盆花,依照花卉生活型分... |
推荐分享

- 1明日花キララ:明日花绮罗年度... 22781
- 2明日花キララ(明日花绮罗)经... 13361
- 3家庭养花知识大全 家庭养花有... 8746
- 4兰花叶子扭的是什么兰 8655
- 5家庭养花风水知识 家庭养花“... 8462
- 6君子兰什么品种最名贵 十大名... 7873
- 7十大致癌花卉排行榜,哪些花卉... 7570
- 8五月天婷婷开心六月丁香:音乐... 7316
- 9秋天养花,掌握这5点养花知识... 7054
- 10李晓明工笔牡丹(魏紫)《牡丹... 6748
分享热点排名




