码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-07-24 17:38:13      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

标题介绍运行环境了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兆,我看这个大牛有这个数据,而且还附带了安装及原理等,自己看吧。。。。。。。

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

标签:

原文地址:http://www.cnblogs.com/8335IT/p/5701061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!