01 mnist手写识别测试
import os
import sys
import numpy as np
import matplotlib.pyplot as plt
caffe_root = 'D:/git/DeepLearning/caffe/'
sys.path.insert(0, caffe_root + 'python')
import caffe
MODEL_FILE='D:/git/DeepLearning/caffe/examples/mnist/lenet.prototxt'
PRETRAINED = 'D:/git/DeepLearning/caffe/examples/mnist/lenet_iter_10000.caffemodel'
IMAGE_FILE='D:/tmp/tensorflow/MNIST_test/train_0.bmp'
input_image = caffe.io.load_image(IMAGE_FILE, color=False)
net = caffe.Classifier(MODEL_FILE, PRETRAINED)
prediction = net.predict([input_image], oversample = False)
caffe.set_mode_cpu()
print('predicted class:', prediction[0].argmax())
'''
predicted class:7
'''
02 mnist手写字体库图片转换
import numpy as np
import struct
import matplotlib.pyplot as plt
from PIL import Image
filename = 'MNIST_data/t10k-images.idx3-ubyte'
binfile = open(filename, 'rb')
buf = binfile.read()
index = 0
magic, numImages, numRows, numColumns = struct.unpack_from('>IIII', buf, index)
index += struct.calcsize('>IIII')
for img in range(0, numImages):
im = struct.unpack_from('>784B', buf, index)
index += struct.calcsize('>784B')
im = np.array(im, dtype='uint8')
im = im.reshape(28,28)
'''
fig = plt.figure()
plotwindow = fig.add_subplot(111)
plt.imshow(im, cmap='gray')
plt.show()
'''
im = Image.fromarray(im)
im.save('mnist_test/train_%s.bmp' %img, 'bmp')