Skip to content

Instantly share code, notes, and snippets.

@kylemcdonald
Created January 17, 2018 01:12
Show Gist options
  • Save kylemcdonald/b9c6eb400ccf688457be6d57ade78c17 to your computer and use it in GitHub Desktop.
Save kylemcdonald/b9c6eb400ccf688457be6d57ade78c17 to your computer and use it in GitHub Desktop.
Bug with float32/float64 lookup in mrpt
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import mrpt\n",
"from sklearn.datasets import fetch_mldata\n",
"\n",
"mnist = fetch_mldata('MNIST original')\n",
"x = mnist.data.astype(np.float32) / 255.\n",
"neighbors = mrpt.MRPTIndex(x, depth=7, n_trees=10)\n",
"neighbors.build()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def plot_neighbors(q, x):\n",
" print(q.min(), q.max(), q.shape, q.dtype)\n",
" side = 4\n",
" n, w, h = (side*side, 28, 28)\n",
" i = neighbors.ann(q, n)\n",
" print(i)\n",
" results = x[i].reshape(side, side, h, w).swapaxes(1,2).reshape(h*side, w*side)\n",
" plt.imshow(results)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0 1.0 (784,) float32\n",
"[ 5834 5046 61 151 3065 60730 394 3179 1336 5844 3626 0\n",
" 3267 60069 1256 5132]\n"
]
},
{
"data": {
"image/png": "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\n16/xx9QyaVNR/HZkI8lX1J8r+fl1LSTv/uQcycn+U5aIYYV5oY8ZwRPOuTQza215dSYLi/iYZmZW\n08yWFVZvAAAACpeIzsFnoY9HF3DuUMsrpZ6Sb6ZCYY/pG7gGAACUQCI6B2+Y2QozO9k51237J51z\n1czszlB8IvCY0Za31N7FoQWRtj+mnpndEIoj49ReAAAqlVKpOXDOHW9mx4di09DHHs65MaHjFduX\nN/ber3POnWt5nYQvnHNjLW/lw/6WN2XxDctbUjnMe7/IOXe1mQ03s+nOuVctsnzyrmb2gPc+qfbu\n/LOrrgXQtWqUC5PA5uO1xuDNRx+SXCcl9pzqJXfpLNBqNq10GpZgKft0kDxxj5jbhZSpJddqXe2P\n5+uys6lO37OuMwaFjxvdEphvnZu49RhKalv75pKH1X8v5vVbV1WPeT6eFt+pi7jO6J9/7Ql9T/rN\n6y+51X1agxR9UejkF6yX6dR9Ufh49rZ6cq7Gm8lTY5Cyl/6e29g99ij2a2ceqZ9Y/UNpNymuSqsg\ncV8zC26A1Cb0n5nZEjML733gvX/LOdfLzG40sxMtr8JtvpldYWbDC1pp0Xv/qHNuceh5TrO8ux4/\nm9lN3vvnSunfAQBApVcqnQPv/W1mdlsxHzPZzI4p5mPeNbN3i/MYAABQPImoOQAAAEksGRdBQilL\nbdJY8rJT2kl+9ZL7JRdWY5Dxju6L1fEzHbMuz+OhySJlHx3fnHtRuuSPjw6uPaFj6W9trCU5f52B\nT+CeD6Ut5Utdo2HwAr0Z+Wpb3Y5lwAHfho9LewTYpemv09zue0m+Y9DLkvOvvT9tq25F7Pv8prk0\nGpgkUmrVlDyu3fvh4wO/GyznGiZwG+3UPbXmqO+rWtY2tK6uqfHU2lb6+AV/SE72dQ2CuHMAAAAE\nnQMAACDoHAAAAEHNQZJonLZe8tZj95dc9f1vLZZtR0euX7G3zpk+7fSPJQ+r92Hg0bEXYeg9e6Dk\njlcFagw2boz5+PLKLVwm+cLfDpL8eIvJkjs0/Evy2pqRsdXg1yilRg3Jf53aWfKIa3Xdgv2r6ph0\nsMbg/U1aYzBy0HGSK1KdQSy5Xv/eyQ1UwNzZJLIGR68hl8i5Oi/F3hMkuI9DcI2FJX21Vmf26cNj\nPt/QpYeFj38/PFhVUDF/pszMMm8IroL/Sfjoxb3HyJlhB5yvl04ru/0w5g6tK/ntQmoM3j/xQMk5\n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\nMcYYY0r8DxTTom7/QTzBAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f735b445ba8>"
]
},
"metadata": {
"image/png": {
"height": 251,
"width": 259
}
},
"output_type": "display_data"
}
],
"source": [
"plot_neighbors(x[0], x)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0 1.0 (784,) float64\n",
"[64037 35825 20963 21280 20505 21364 63910 20413 23357 21358 53785 63948\n",
" 19707 22255 21563 12595]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f73686160b8>"
]
},
"metadata": {
"image/png": {
"height": 251,
"width": 259
}
},
"output_type": "display_data"
}
],
"source": [
"plot_neighbors(x[0].astype(np.float64), x)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment