blob: 11457fc97f8f8e98c8a0cee88b10898a3804db32 [file] [log] [blame]
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"# Make sure that caffe is on the python path:\n",
"caffe_root = './' # this file is expected to be in {caffe_root}/examples\n",
"import sys\n",
"sys.path.insert(0, caffe_root + 'python')\n",
"\n",
"import caffe\n",
"\n",
"# configure plotting\n",
"plt.rcParams['figure.figsize'] = (10, 10)\n",
"plt.rcParams['image.interpolation'] = 'nearest'\n",
"plt.rcParams['image.cmap'] = 'gray'"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Load the net, list its data and params, and filter an example image.\n",
"caffe.set_mode_gpu()\n",
"net = caffe.Net('test_templates/conv.prototxt', caffe.TEST)\n",
"print(\"blobs {}\\nparams {}\".format(net.blobs.keys(), net.params.keys()))\n",
"\n",
"# load image and prepare as a single input batch for Caffe\n",
"im = np.array(caffe.io.load_image('test_templates/cat_gray.jpg', color=False)).squeeze()\n",
"plt.title(\"original image\")\n",
"plt.imshow(im)\n",
"plt.axis('off')\n",
"\n",
"im_input = im[np.newaxis, np.newaxis, :, :]\n",
"net.blobs['data'].reshape(*im_input.shape)\n",
"net.blobs['data'].data[...] = im_input"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# helper show filter outputs\n",
"def show_filters(net):\n",
" net.forward()\n",
" plt.figure()\n",
" filt_min, filt_max = net.blobs['conv'].data.min(), net.blobs['conv'].data.max()\n",
" for i in range(3):\n",
" plt.subplot(1,4,i+2)\n",
" plt.title(\"filter #{} output\".format(i))\n",
" plt.imshow(net.blobs['conv'].data[0, i], vmin=filt_min, vmax=filt_max)\n",
" plt.tight_layout()\n",
" plt.axis('off')\n",
"\n",
"# filter the image with initial \n",
"show_filters(net)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "KERNEL_NAME"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 1
}