基于tensorflow keras使用卷积神经网络CNN完成图片分类

本人原来的笔记本配置不行,跑不起来,换了台式电脑运行正常,具体台式配置会另外写一篇安装tensorflow2.4.0教程

直接上代码,一共重复训练7次

from tensorflow.python.keras.datasets import cifar100
from tensorflow import keras
import tensorflow

class CifarCNN(object):
    #编写模型 两层卷积层+两层池化层+全连接神经网络层
    model = keras.models.Sequential([
                #原输入图片[None,32,32,3]
                #卷积层1: 32个 5*5*3的filter, 步长设置1,填充设same
                #输出[None,32,32,3]
                keras.layers.Conv2D(32, kernel_size=5, strides=1,padding='same',data_format='channels_last',activation='relu'),
                #池化:1: 2*2窗口, 步长2,
                #池化层输出[None,16,16,32]
                keras.layers.MaxPool2D(pool_size=2, strides=2, padding='same'),
                #卷积层2
                #输入[None,16,16,32] 输出[None 16,16,64]
                keras.layers.Conv2D(64, kernel_size=5,strides=1, padding='same',data_format='channels_last',activation='relu'),
                #池化层,输入[None,16,16,64],因为观察窗口是2*2
                # 输出[None, 8,8,64]
                keras.layers.MaxPool2D(pool_size=2, strides=2, padding='same'),
                #把形状拉平[None, 8,8,64] ->[None,8*8*64],展平
                keras.layers.Flatten(),
                #全连接层神经网络,1024个神经元,激活函数relu
                keras.layers.Dense(1024,activation='relu'),
                #100种种类,100个神经元神经网络,激活函数softmax
                keras.layers.Dense(100,activation='softmax')
            ])

    #获取训练集
    def __init__(self):
        (self.x_train, self.y_train),(self.x_test, self.y_test) = cifar100.load_data()
        print(self.x_train.shape)
        print(self.x_test.shape)
        #对数据归一化
        self.x_train = self.x_train/255.0
        self.x_test = self.x_test/255.0
    #编译模型,梯度下降使用adam
    def Cifa_compile(self):
        CifarCNN.model.compile(optimizer='Adam',loss='sparse_categorical_crossentropy',metrics='accuracy')

        return None

    def Cifa_fit(self):
        his = CifarCNN.model.fit(self.x_train,self.y_train,batch_size=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值