anaconda+theano+keras手写字符识别新版

标题介绍运行环境了win7            2016-07-24

看网上好多keras识别minist 但是一般由于版本问题,无法直接用,,,这里还要特别感谢三当家SCP。教程整的非常好。还有就是最好你在安装anaconda 之前把原来安装过的PY卸载掉,要不然安装mingw的时候会出问题,,,安装不就不详细介绍了网上有很多种----大致流程——anaconda-mingw-theano(注意环境变量,系统变量啥的)-keras。。。。。。。。

OK 哒哒

下边附上一个可用程序哈,亲测的偶。。。并附上数据,数据也是从网上一个哒哒那里下来的,你就不用运行的时候在下载数据,这样很容易出错的。。。。win7——64bit,,have not gpu.......

好的:其实重点是新的语法的问题。。。。。。。。。。。。。。。。。。。更新地方已标红。。。。。。。

 1 from __future__ import absolute_import
 2 from __future__ import print_function
 3 import numpy as np
 4 np.random.seed(1337)  # for reproducibility
 5 import cPickle as pickle
 6
 7 from keras.models import Sequential
 8 from keras.layers.core import Dense, Dropout, Activation
 9 from keras.optimizers import SGD, Adam, RMSprop
10 from keras.utils import np_utils
11
12 ‘‘‘
13     Train a simple deep NN on the MNIST dataset.
14     Get to 98.30% test accuracy after 20 epochs (there is *a lot* of margin for parameter tuning).
15     2 seconds per epoch on a GRID K520 GPU.
16 ‘‘‘
17
18 batch_size = 128
19 nb_classes = 10
20 nb_epoch = 10
21
22
23 def read_data(data_file):
24     import gzip
25     f = gzip.open(data_file, "rb")
26     train, val, test = pickle.load(f)
27     f.close()
28     train_x = train[0]
29     train_y = train[1]
30     test_x = test[0]
31     test_y = test[1]
32     return train_x, train_y, test_x, test_y
33
34
35 # the data, shuffled and split between tran and test sets
36 #(X_train, y_train), (X_test, y_test) = mnist.load_data()
37 train_x, train_y, test_x, test_y = read_data("C:\Users\PC\.spyder2\mnist.pkl.gz")
38 X_train = train_x
39 X_test = test_x
40 X_train = X_train.astype("float32")
41 X_test = X_test.astype("float32")
42 X_train /= 255
43 X_test /= 255
44 print(X_train.shape[0], ‘train samples‘)
45 print(X_test.shape[0], ‘test samples‘)
46
47 # convert class vectors to binary class matrices
48 Y_train = np_utils.to_categorical(train_y, nb_classes)
49 Y_test = np_utils.to_categorical(test_y, nb_classes)
50
51 model = Sequential()
52 model.add(Dense(input_dim=784, output_dim=128))
53 model.add(Activation(‘relu‘))
54 model.add(Dropout(0.2))
55 model.add(Dense(output_dim=128))
56 model.add(Activation(‘relu‘))
57 model.add(Dropout(0.2))
58 model.add(Dense(output_dim=10))
59 model.add(Activation(‘softmax‘))
60
61 rms = RMSprop()
62 model.compile(loss=‘categorical_crossentropy‘, optimizer=rms,metrics=[‘accuracy‘])
63
64 model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch)
65 score = model.evaluate(X_test, Y_test, batch_size=batch_size)
66 print(‘Test score:‘, score[0])
67 print(‘Test accuracy:‘, score[1])

数据在这里:http://www.cnblogs.com/xueliangliu/archive/2013/04/03/2997437.html。。。由于没法上传有15兆,我看这个大牛有这个数据,而且还附带了安装及原理等,自己看吧。。。。。。。

时间: 2024-10-03 11:44:17

anaconda+theano+keras手写字符识别新版的相关文章

利用Tensorflow实现手写字符识别

模式识别领域应用机器学习的场景非常多,手写识别就是其中一种,最简单的数字识别是一个多类分类问题,我们借这个多类分类问题来介绍一下google最新开源的tensorflow框架,后面深度学习的内容都会基于tensorflow来介绍和演示 请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 什么是tensorflow tensor意思是张量,flow是流. 张量原本是力学里的术语,表示弹性介质中各点应力状态.在数学中,张量表示的是一种广义的"数量",0阶张量

Tensorflow卷积神经网络实现手写字符识别

# -*- coding:utf-8 -*- import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import os import argparse import sys DATA_DIR = os.path.join('.', 'mnist_link') # ======================================= # COMMON OPERATIONS #

神经网络用于手写数字识别

一:人工神经网络 人类之所以能够思考,学习,判断,大部分都要归功于人脑中复杂的神经网络.虽然现在人脑的机理还没有完全破译,但是人脑中神经元之间的连接,信息的传递都已为人所知晓.于是人们就想能否模拟人脑的功能用于解决其他问题,这就发展出人工神经网络. 人工神经网络(artificial neural network,缩写ANN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统

Chars74K数据集简介及手写字符子数据集相关读取方法

Chars74K数据集是一个经典的字符识别数据集,主要包括了英文字符与坎那达语(Kannada)字符.数据集一共有74K幅图像,所以叫Chars74K. 英文数据集依据图像采集方式分为三个类别: 1. 自然环境下采集的字符图像数据集: 2. 手写字符图像数据集: 3. 计算机不同字体合成的字符图像数据集. 这里只介绍英文手写字符数据集.该数据集包含了52个字符类别(A-Z,a-z)和10个数字类别(0-9)一共62个类别,3410副图像,由55个志愿者手写完成. 该数据集在EnglishHnd.

手写数字识别的k-近邻算法实现

(本文为原创,请勿在未经允许的情况下转载) 前言 手写字符识别是机器学习的入门问题,k-近邻算法(kNN算法)是机器学习的入门算法.本文将介绍k-近邻算法的原理.手写字符识别问题分析.手写字符识别的kNN实现.测试. kNN算法原理 kNN算法是一种分类算法,即如何判定一组输入数据属于哪一类别的算法.kNN属于监督学习算法,必须给定训练样本,样本包括输入样本和输出样本.而无监督学习则不需要训练样本. 那么最简单的分类方法就是将输入数据与样本一一比对,并将相似性最强的前k个样本选出,这k个样本中的

keras实现mnist数据集手写数字识别

一. Tensorflow环境的安装 这里我们只讲CPU版本,使用 Anaconda 进行安装 a.首先我们要安装 Anaconda 链接:https://pan.baidu.com/s/1AxdGi93oN9kXCLdyxOMnRA 密码:79ig 过程如下: 第一步:点击next 第二步:I Agree 第三步:Just ME 第四步:自己选择一个恰当位置放它就好 第五步:建议只选择第二个 第六步:就直接install啦啦啦啦,然后你就可以上手万能库了 b.找到Anaconda prompt

win10下通过Anaconda安装TensorFlow-GPU1.3版本,并配置pycharm运行Mnist手写识别程序

折腾了一天半终于装好了win10下的TensorFlow-GPU版,在这里做个记录. 准备安装包: visual studio 2015: Anaconda3-4.2.0-Windows-x86_64: pycharm-community: CUDA:cuda_8.0.61_win10:下载时选择 exe(local) CUDA补丁:cuda_8.0.61.2_windows: cuDNN:cudnn-8.0-windows10-x64-v6.0;如果你安装的TensorFlow版本和我一样1.

keras入门实战:手写数字识别

近些年由于理论知识的硬件的快速发展,使得深度学习达到了空前的火热.深度学习已经在很多方面都成功得到了应用,尤其是在图像识别和分类领域,机器识别图像的能力甚至超过了人类. 本文用深度学习Python库Keras实现深度学习入门教程mnist手写数字识别.mnist手写数字识别是机器学习和深度学习领域的"hello world",MNIST数据集是手写数字的数据集合,训练集规模为60000,测试集为10000. 本文的内容包括: 如何用Keras加载MNIST数据集 对于MNIST问题如何

手写数字识别——利用keras高层API快速搭建并优化网络模型

在<手写数字识别——手动搭建全连接层>一文中,我们通过机器学习的基本公式构建出了一个网络模型,其实现过程毫无疑问是过于复杂了——不得不考虑诸如数据类型匹配.梯度计算.准确度的统计等问题,但是这样的实践对机器学习的理解是大有裨益的.在大多数情况下,我们还是希望能多简单就多简单地去搭建网络模型,这同时也算对得起TensorFlow这个强大的工具了.本节,还是以手写数据集MNIST为例,利用TensorFlow2.0的keras高层API重现之前的网络. 一.数据的导入与预处理 关于这个过程,与上节