您的位置:首页 > 编程语言 > Python开发

caffe19 《深度学习--Caffe之经典模型详解与实战》笔记01 分类测试python调用

2017-04-19 16:27 1046 查看

01 mnist手写识别测试

# 《深度学习--Caffe之经典模型详解与实战》05 LeNet模型解读
# win10 Tensorflow1.0.1 python3.5.3
# CUDA v8.0 cudnn-8.0-windows10-x64-v5.1
# filename:caffe05.01.py # 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' # 7
input_image = caffe.io.load_image(IMAGE_FILE, color=False)
net = caffe.Classifier(MODEL_FILE, PRETRAINED)

# 预测图片分类,没有crop时,oversample过采样为false
prediction = net.predict([input_image], oversample = False)
caffe.set_mode_cpu()
# 打印分类结果
print('predicted class:', prediction[0].argmax())
'''
predicted class:7
'''


02 mnist手写字体库图片转换

# 《深度学习--Caffe之经典模型详解与实战》05 LeNet模型解读
# win10 Tensorflow1.0.1 python3.5.3
# CUDA v8.0 cudnn-8.0-windows10-x64-v5.1
# filename:caffe05.02.py # mnist手写字体库图片转换

import numpy as np
import struct
import matplotlib.pyplot as plt
from PIL import Image

# 确认已经下载并解压得到MNIST_data/t10k-images.idx3-ubyte文件
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') # 需要在当前目录下存在mnist_test目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐