Skip to content

Instantly share code, notes, and snippets.

@gravitino

gravitino/Cell5.ipynb

Last active Apr 20, 2021
Embed
What would you like to do?
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"elapsed time: 1144 ms (align sdist fft)\n",
"elapsed time: 316 ms (align sdist naive)\n",
"elapsed time: 52 ms (align sdist fft)\n",
"elapsed time: 87 ms (align sdist naive)\n",
"elapsed time: 52 ms (align sdist fft)\n",
"elapsed time: 87 ms (align sdist naive)\n",
"elapsed time: 52 ms (align sdist fft)\n",
"elapsed time: 87 ms (align sdist naive)\n",
"elapsed time: 52 ms (align sdist fft)\n",
"elapsed time: 87 ms (align sdist naive)\n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f2fb0a07f40>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"num_repeats = 5 # just to eliminate initial jit compiler overhead on first call\n",
"for _ in range(num_repeats):\n",
" with ra.util.Timer(\"align sdist fft\"):\n",
" ying = ra.ED.sdist(query, subject, mode=\"fft\")\n",
" with ra.util.Timer(\"align sdist naive\"):\n",
" yang = ra.ED.sdist(query, subject, mode=\"naive\")\n",
" \n",
"assert(cp.allclose(ying, yang))\n",
"\n",
"k = int(cp.argmin(yang))\n",
"pl.plot(query)\n",
"pl.plot(subject[k:k+len(query)])"
]
}
],
"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.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment