Skip to content

Instantly share code, notes, and snippets.

@8enmann
Created May 21, 2017 20:27
Show Gist options
  • Save 8enmann/56ac666f5dccc7e9a48a7b1446760c78 to your computer and use it in GitHub Desktop.
Save 8enmann/56ac666f5dccc7e9a48a7b1446760c78 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# In case I ever revisit to learn tips and tricks!\n",
"\n",
"# First of all, the inline pylab is set up using\n",
"# c = get_config()\n",
"# c.InteractiveShellApp.matplotlib = \"inline\"\n",
"# in ~/.ipython/profile_default/startup/ipython_kernel_config.py\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-3.13277902 0.58423566 -0.41126174 -0.11024437 -0.75800303]]\n",
"[[-3.13277902 0.58423566 -0.41126174 -0.11024437 -0.75800303]]\n",
"[-3.13277902 0.58423566 -0.41126174 -0.11024437 -0.75800303]\n"
]
}
],
"source": [
"# If you want to end up with an ndarray after slicing,\n",
"# not a vector, you have to use a range, even a one-item range\n",
"x = np.random.randn(1, 5)\n",
"print(x[0:1, :])\n",
"print(x[:1, :])\n",
"print(x[0, :])"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(2, 2)\n",
"(1, 2)\n"
]
}
],
"source": [
"# Watch out!\n",
"bad = np.zeros(2) - np.random.randn(2, 1)\n",
"print(bad.shape)\n",
"\n",
"okay = np.zeros(2) - np.random.randn(1,2)\n",
"print(okay.shape)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(4,)\n",
"(4, 1)\n"
]
}
],
"source": [
"# adding singleton dimension\n",
"a = np.array([1, 2, 3, 4])\n",
"print(a.shape)\n",
"print(a[:,None].shape)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# label your dimensions\n",
"a_td = np.random.random((100, 3)) # time by dimensions"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(3,)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# What's summing doing? It removes that dimension\n",
"a_td.sum(axis=0).shape"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 2, 4, 5)\n",
"(1, 2, 1, 4, 5)\n"
]
}
],
"source": [
"# Max, min, mean median all sum out the dimensions to obliterate\n",
"oblit = np.random.randn(1, 2, 3, 4, 5).sum(axis=2)\n",
"reduce = np.random.randn(1, 2, 3, 4, 5).sum(axis=2, keepdims=True)\n",
"\n",
"print(oblit.shape)\n",
"print(reduce.shape)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Workflow tips\n",
"\n",
"# hoj generally works in an ipy session,\n",
"# makes something a function once it gets repeated,\n",
"# makes a file once there are a few functions\n",
"\n",
"# !! you can start an embedded \n",
"# import IPython; Ipython.embed()\n",
"\n",
"# move things out of ipy notebooks as fast as possible to avoid\n",
"# variables still in scope from doing wacky things\n",
"\n",
"# if you're developing an algorithm, the thing to think about\n",
"# is what to print at each iteration:\n",
"# - policy gradient: the distance between last and new policy\n",
"# - for evolution, look at populations. eg. rank of the mean\n",
"# - L2 norm of parameters in neural net\n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nbAh3TAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10885fa58>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plotting\n",
"plt.plot(np.arange(15), np.arange(15)-2, 'o')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10848e9e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# ylabel is rows and xlabel is columns\n",
"a = np.zeros([10, 10])\n",
"a[0][2] = 1\n",
"plt.imshow(a, interpolation='nearest', origin='upper')\n",
"plt.ylabel('Rows'), plt.xlabel('Columns')\n",
"plt.show()"
]
}
],
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment