Skip to content

Instantly share code, notes, and snippets.

@hamukazu
Created February 10, 2015 01:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hamukazu/d73b02dd1d67991bba93 to your computer and use it in GitHub Desktop.
Save hamukazu/d73b02dd1d67991bba93 to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import leveldb"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"MODEL_FILE=\"cifar10_quick.prototxt\"\n",
"PRETRAINED=\"cifar10_quick_iter_5000.caffemodel\"\n",
"import sys\n",
"sys.path.insert(0,\"../../python\")\n",
"import caffe"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"caffe.set_phase_test()\n",
"caffe.set_mode_cpu()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import caffe_pb2\n",
"MEAN_FILE=\"mean.binaryproto\"\n",
"with open(MEAN_FILE,\"rb\") as fp:\n",
" b=caffe_pb2.BlobProto()\n",
" b.ParseFromString(fp.read())\n",
"mean=np.array(b.data).reshape(3,32,32)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"net=caffe.Classifier(MODEL_FILE, PRETRAINED, image_dims=(32,32))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ldb=leveldb.LevelDB(\"cifar10_test_leveldb\")\n",
"iter=ldb.RangeIter()\n",
"data=[]\n",
"for k,v in iter:\n",
" a=caffe_pb2.Datum()\n",
" a.ParseFromString(v)\n",
" data.append((k,a))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from PIL import Image\n",
"import struct\n",
"test_image=[]\n",
"for k,v in data:\n",
" d=np.array(list(struct.unpack(\"3072B\",v.data)),dtype=np.uint8).reshape(3,32,32).transpose(1,2,0)\n",
" test_image.append(d)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pred=net.predict(test_image)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"labels=[]\n",
"for k,v in data:\n",
" labels.append(v.label)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pr=[]\n",
"for p in pred:\n",
" pr.append(p.argmax())"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"labels=np.array(labels)\n",
"pr=np.array(pr)\n",
"m=(labels==pr)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"m.sum(), len(m)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"(997, 10000)"
]
}
],
"prompt_number": 12
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment