博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Keras实现CNN
阅读量:37336 次
发布时间:2020-10-03

本文共 1664 字,大约阅读时间需要 5 分钟。

1.前言

自己定义的CNN结构,基于Keras实现,处理MNIST数据集。

2.Python代码

加载相应库:

import numpy as np np.random.seed(1337)from keras.datasets import mnistfrom keras.utils import np_utilsfrom keras.models import Sequentialfrom keras.layers import Dense,Activation,Convolution2D,MaxPooling2D,Flattenfrom keras.optimizers import Adam

定义训练、测试集:

(X_train,y_train),(X_test,y_test)=mnist.load_data()X_train = X_train.reshape(-1,1,28,28)X_test = X_test.reshape(-1,1,28,28)y_train = np_utils.to_categorical(y_train,num_classes=10)y_test = np_utils.to_categorical(y_test,num_classes=10)

定义网络结构:

model=Sequential()# Conv layer 1 output shape (32,28,28)model.add(Convolution2D(nb_filter=32,nb_row=5,nb_col=5,border_mode='same',    # padding methodinput_shape=(1,28,28),))model.add(Activation('relu'))# Pooling layer 1 (max pooling) output shape (32,14,14)model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2),border_mode='same',))# Conv layer 2 output shape (64,14,14)model.add(Convolution2D(64,5,5,border_mode='same'))model.add(Activation('relu'))# Pooling layer 2 (max pooling) output shape (64,7,7)model.add(MaxPooling2D(pool_size=(2,2),border_mode='same'))# Fully connected layer 1 input shape (64*7*7)=(3136)model.add(Flatten())model.add(Dense(1024))model.add(Activation('relu'))# Fully connected layer 2 to shape (10) for 10 classesmodel.add(Dense(10))model.add(Activation('softmax'))adam = Adam(lr=1e-4)model.compile(optimizer=adam,loss='categorical_crossentropy',metrics=['accuracy'])

输出结果:

print('Training----------')model.fit(X_train,y_train,nb_epoch=1,batch_size=32,)print('Testing----------')loss,accuracy = model.evaluate(X_test,y_test)print('\ntest loss:',loss)print('\naccyracy:',accuracy)

转载地址:http://gihnwy.baihongyu.com/

你可能感兴趣的文章
普元软件获一亿战略投资 董事长刘亚东谈三大核心竞争优势
查看>>
Silverlight导航概述
查看>>
演练:使用Visual Basic或Visual C#访问Web服务
查看>>
演练:使用Visual C#创作组件
查看>>
.NET环境下Email的技术介绍
查看>>
网站建设之邮件发送形式
查看>>
CMOS和BIOS
查看>>
芯片组
查看>>
显示芯片
查看>>
什么是音频芯片
查看>>
支持内存最大容量
查看>>
BackgroundWorker类
查看>>
BackgroundWorker组件概述
查看>>
BackgroundWorker 组件
查看>>
如何为Office解决方案设置配置信息
查看>>
如何显示Office外接程序用户界面错误
查看>>
为Office文档添加Windows窗体控件:在运行时向应用程序级外接程序中添加控件
查看>>
如何向Word文档添加操作窗格
查看>>
ListView控件演示07:获取列表中所有选定项的索引集合
查看>>
ListView控件演示08:获取列表中的所有选定项
查看>>