前言
考试风波结束,抽时间写个分类。
我的理解
- 从文件夹里面读取图像,将是猫的图像标记为0,将是狗的图像标记为1,
- 设置大约4000个训练集合,1000个验证集合。
- 构建网络
- 训练模型
下面是我的代码
# -*- coding: utf-8 -*-
import numpy as np
from keras import Model
from keras.layers import Input, Conv2D, Flatten, Dropout, MaxPooling2D, Dense
from PIL import Image
from keras.preprocessing import image
import os
import keras
from keras.utils import to_categorical
img_rows = 150
img_cols = 150
def VGG16(w_path=None):
input_shape = (img_rows, img_cols, 3)
img_input = Input(shape=input_shape)
x = Conv2D(32, (3, 3), activation='relu', name='Conv2d')(img_input)
x = MaxPooling2D((2, 2))(x)
x = Conv2D(64, (3, 3), activation='relu', name='Maxpooling')(x)
x = MaxPooling2D((2, 2))(x)
x = Conv2D(128, (3, 3), activation='relu', name='Conv3d')(x)
x = MaxPooling2D((2, 2))(x)
x = Flatten()(x)
x = Dense(512, activation='relu')(x)
x = Dense(2, activation='softmax')(x)
model = Model(img_input, x)
return m