Skip to content

Instantly share code, notes, and snippets.

@hmaarrfk
Created July 1, 2018 01:19
Show Gist options
  • Save hmaarrfk/19a14901e717673c077d77863d4547a1 to your computer and use it in GitHub Desktop.
Save hmaarrfk/19a14901e717673c077d77863d4547a1 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.18.1+14.g75eba00d.dirty\n"
]
}
],
"source": [
"from dask import visualize\n",
"from dask import delayed\n",
"from dask import compute\n",
"\n",
"\n",
"from dask import delayed, visualize, compute\n",
"import dask\n",
"import numpy as np\n",
"\n",
"print(dask.__version__)\n",
"a = delayed(5)\n",
"b = delayed(2)\n",
"c = a + b\n",
"d = b * a\n",
"\n",
"import numpy as np\n",
"my_list = [[a, b], [c, d]]\n",
"my_dict = {0:{'a':a, 'b':b}, 1:{'c':c, 'd':d}}\n",
"my_arr = np.asarray(my_list)\n",
"\n",
"\n",
"def rename(newname):\n",
" def decorator(f):\n",
" f.__name__ = newname\n",
" return f\n",
" return decorator\n",
"\n",
"class delayed_array(np.ndarray):\n",
" \n",
" @property\n",
" def __dask_unpack__(self):\n",
" return self.tolist\n",
" \n",
" @property\n",
" def __dask_pack__(self):\n",
" return np.asarray\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# This array passes through untouched\n",
"visualize(delayed(my_arr))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Adding the two methods makes it possible to create a graph from the array\n",
"visualize(delayed(my_arr.view(delayed_array)))"
]
}
],
"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.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment