莫凡Python 3

新建模板小书匠

CNN 卷积神经网络

参考资料

数据预处理

  • X_train = X_train.reshape(-1, 1, 28 , 28)

    这种处理我不是很理解

建立模型

代码

# -*- coding: utf-8 -*-
""" CNN 卷积神经网络 """
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import numpy as np
np.random.seed(1337) # for reproducibility
from keras.models 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 = X_train.reshape(-1, 1, 28 , 28)/255.
X_test = X_test.reshape(-1, 1,28, 28)/255.
Y_train = np_utils.to_categorical(Y_train, num_classes=10)
Y_test = np_utils.to_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) model.compile(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)

莫凡Python 3的更多相关文章

  1. 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新

    python 中好用的函数,random.sample等,持续更新 random.sample random.sample的函数原型为:random.sample(sequence, k),从指定序列 ...

  2. #017 python实验课第五周

    总结写在最前面: 1.语法还是不会...(每周强制留的C语言一百题都没空写PS.团委诶....)都是现查现用(莫凡Python这个网站特别好用知识点一个视频就一分钟B站的播放器没广告,用啥学啥,还配有 ...

  3. Ubuntu环境下安装CUDA9.0

    前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): ...

  4. Pytorch实现卷积神经网络CNN

    Pytorch是torch的Python版本,对TensorFlow造成很大的冲击,TensorFlow无疑是最流行的,但是Pytorch号称在诸多性能上要优于TensorFlow,比如在RNN的训练 ...

  5. pytorch构建优化器

    这是莫凡python学习笔记. 1.构造数据,可以可视化看看数据样子 import torch import torch.utils.data as Data import torch.nn.func ...

  6. pytorch批训练数据构造

    这是对莫凡python的学习笔记. 1.创建数据 import torch import torch.utils.data as Data BATCH_SIZE = 8 x = torch.linsp ...

  7. pytorch搭建网络,保存参数,恢复参数

    这是看过莫凡python的学习笔记. 搭建网络,两种方式 (1)建立Sequential对象 import torch net = torch.nn.Sequential( torch.nn.Line ...

  8. 关于深度学习框架 TensorFlow、Theano 和 Keras

    [TensorFlow] ——( https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/) 1.TensorFlow是啥 ...

  9. 【优质blog、网址】置顶

    一.大公司等技术blog:   blog1: http://blog.csdn.net/mfcing/article/details/51577173 blog2: http://blog.csdn. ...

  10. Ubuntu 16.04 上安装 CUDA 9.0 详细教程

    https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu1 ...

随机推荐

  1. drf-day7——认证组件、权限组件、频率组件、过滤排序、分页

    目录 一.认证组件 1.1 登录接口 1.2 认证组件使用步骤 1.3 整体代码 1.4认证时cookie的获取方式 二.权限组件 2.1需求分析: 2.2 权限的使用 2.3代码 三.频率组件 3. ...

  2. Ribbon服务调用+负载均衡(入门)

    1.Ribbon Ribbon中文:(用于捆绑或装饰的)带子; 丝带; 带状物; 主要功能是提供客户端的软件负载均衡算法和服务调用 Ribbon已经进入了维护模式了,但是Ribbon仍然被广泛使用中 ...

  3. opencv::parallel_for_使用说明

    直接上代码 #include <opencv2/opencv.hpp> #include <iostream> #include <functional> usin ...

  4. 注释、input()、运算符、组织结构(顺序、选择、循环)

    注释 单行注释 # 多行注释 将三对引号之间的为多行注释 ''' ''' 中文编码的声明注释 #coding:gbk input()函数 接受来自用户的输入 返回值是str 值的存储 使用=对输入的值 ...

  5. 【TS】枚举

    ts中,枚举类型就是,枚举里面的每个数据值都可以叫做元素,每个元素都有自己的编号,编号是从0开始的,依次递增加1 , 语法: enum 枚举名 {} 此处定义一个枚举类型,例如: enum Color ...

  6. 快速上手vue前端存储库、全局状态管理工具pinia

    pinia是什么,为什么我们要使用pinia? pinia是vue全局状态管理工具,类似vueX,用于全局的数据状态存储.修改变更等等 相较于vueX,pinia的使用较为简单,轻量级,上手容易,干掉 ...

  7. CyNix: 1

    CyNix: 1 目录 CyNix: 1 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 GetShell 2.1 赋予id_rsa文件600权限,否则会报错,无法连接 ...

  8. LeetCode-2049 统计最高分的结点数

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-nodes-with-the-highest-score 题目描述 给你一棵根节点为 ...

  9. odoo Web Controllers 学习总结

    环境 odoo-14.0.post20221212.tar Web Controllers Controllers 控制器需要提供可扩展性,就像Model,但不能使用相同的机制,因为先决条件(已加载模 ...

  10. 在docker中,运行Jcmd命令,报错

    起因: 想调整JVM的设置,观察一下当前jvm进程的资源情况. 输入:docker exec -it xxxxx /bin/sh 输入: jcmd 1 help ,报错 com.sun.tools.a ...