---
title: 莫凡Python 3
tags: 新建,模板,小书匠
grammar_abbr: true
grammar_table: true
grammar_defList: true
grammar_emoji: true
grammar_footnote: true
grammar_ins: true
grammar_mark: true
grammar_sub: true
grammar_sup: true
grammar_checkbox: true
grammar_mathjax: true
grammar_flow: true
grammar_sequence: true
grammar_plot: true
grammar_code: true
grammar_highlight: true
grammar_html: true
grammar_linkify: true
grammar_typographer: true
grammar_video: true
grammar_audio: true
grammar_attachment: true
grammar_mermaid: true
grammar_classy: true
grammar_cjkEmphasis: true
grammar_cjkRuby: true
grammar_center: true
grammar_align: true
---
[toc!]
# CNN 卷积神经网络
## 参考资料
- /
- /
## 数据预处理
-X_train = shape(-1, 1, 28 , 28)
这种处理我不是很理解
## 建立模型
- batch_input_shape=(None, 1, 28, 28)
shape : 形状
None 可以参考:
## 代码
``` python
# -*- coding: utf-8 -*-
""" CNN 卷积神经网络 """
import os
import numpy as np
np.random.seed(1337) # for reproducibility
dels import Sequential
from keras.layers import Dense, Activation, Convolution2D, MaxPooling2D, Flatten
import matplotlib.pyplot as plt
from keras.utils import np_utils
from keras.optimizers import Adam
from keras.datasets import mnist
from keras import backend
backend.set_image_data_format('channels_first')
# %% 数据预处理
(X_train, Y_train), (X_test, Y_test) = mnist.load_data()
X_train = shape(-1, 1, 28 , 28)/255.
X_test = shape(-1, 1,28, 28)/255.
Y_train = _categorical(Y_train, num_classes=10)
Y_test = _categorical(Y_test, num_classes=10)
# %% 建立模型
model = Sequential()
model.add(
Convolution2D(
batch_input_shape=(None, 1, 28, 28),
filters=32,
kernel_size=5,
strides=1,
padding='same'
)
)
model.add(Activation('relu'))
model.add(
MaxPooling2D(
pool_size=2,
strides=2,
padding='same',
)
)
model.add(Activation('relu'))
model.add(Convolution2D(64, 5, strides=1, padding='same'))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,2,'same'))
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('relu'))
model.add(Dense(10))
model.add(Activation('softmax'))
adam = Adam(lr=1e-4)
modelpile(optimizer=adam, loss='categorical_crossentropy', metrics=['accuracy'])
# %% 训练
print('Training ------------')
model.fit(X_train,Y_train,batch_size=64)
print('nTesting ------------')
loss, accuracy = model.evaluate(X_test, Y_test)
# %% 评估
print('ntest loss: ', loss)
print('ntest accuracy: ', accuracy)
```
一键复制
编辑
Web IDE
原始数据
按行查看
历史
本文发布于:2024-02-03 03:53:29,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690360848473.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |