Created
November 10, 2017 20:54
-
-
Save act65/edf2627b42ee570fe2ea36d8e33f7b88 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import tensorflow as tf\n", | |
"from tensorflow.python.framework import function\n", | |
"\n", | |
"# import tensorflow.contrib.eager as tfe\n", | |
"# tfe.enable_eager_execution()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Extracting /tmp/mnist/train-images-idx3-ubyte.gz\n", | |
"Extracting /tmp/mnist/train-labels-idx1-ubyte.gz\n", | |
"Extracting /tmp/mnist/t10k-images-idx3-ubyte.gz\n", | |
"Extracting /tmp/mnist/t10k-labels-idx1-ubyte.gz\n" | |
] | |
} | |
], | |
"source": [ | |
"from tensorflow.examples.tutorials.mnist import input_data\n", | |
"mnist = input_data.read_data_sets(\"/tmp/mnist\", one_hot=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"n_latents = 8\n", | |
"k = 64\n", | |
"batch_size = 32\n", | |
"logdir = '/tmp/ndr/4'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"depth = 3\n", | |
"width = 8\n", | |
"\n", | |
"def encoder(x):\n", | |
" for _ in range(depth):\n", | |
" x = tf.layers.conv2d(x, width, 4, 2, activation=tf.nn.elu, padding='SAME',kernel_initializer=tf.orthogonal_initializer())\n", | |
" return tf.layers.conv2d(x, width, 4, 2, padding='SAME',kernel_initializer=tf.orthogonal_initializer())\n", | |
"\n", | |
"\n", | |
"def decoder(x):\n", | |
" for _ in range(depth):\n", | |
" x = tf.layers.conv2d_transpose(x, width, 4, 2, activation=tf.nn.elu, padding='SAME',kernel_initializer=tf.orthogonal_initializer())\n", | |
" return tf.layers.conv2d_transpose(x, 1, 4, 2, padding='SAME',kernel_initializer=tf.orthogonal_initializer())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def _copy_grad(unused_op, grad):\n", | |
" x = unused_op.inputs[0]\n", | |
" e = unused_op.inputs[1]\n", | |
"# dist = cosine_dist(x, e)\n", | |
"# _, idx = tf.nn.top_k(dist, 1)\n", | |
" # TODO. scatter grads into e.shape according to idx. \n", | |
" # will need to sum over the batch!?\n", | |
" # https://www.tensorflow.org/versions/r0.12/api_docs/python/state_ops/sparse_variable_updates\n", | |
" return tf.reshape(grad, (-1, n_latents)), tf.zeros(e.shape)\n", | |
"\n", | |
"@function.Defun(tf.float32, tf.float32, python_grad_func=_copy_grad)\n", | |
"def lookup_fn(x, e):\n", | |
" dist = cosine_dist(x, e)\n", | |
" _, idx = tf.nn.top_k(dist, 1)\n", | |
" return tf.nn.embedding_lookup(e, tf.squeeze(idx))\n", | |
"\n", | |
"def lookup(x, e):\n", | |
" s = x.get_shape().as_list()\n", | |
" xflat = tf.reshape(x, (-1, n_latents))\n", | |
" \n", | |
" x_flat = lookup_fn(xflat, e)\n", | |
" dist = cosine_dist(xflat, e) # these get recalculated, not nice!?\n", | |
" _, idx = tf.nn.top_k(dist, 1)\n", | |
" \n", | |
" x_flat.set_shape((batch_size, s[1]*s[2]*s[3]))\n", | |
" x_ = tf.reshape(x_flat, (batch_size,s[1],s[2],s[3]))\n", | |
" return x_, tf.reshape(dist, (batch_size,s[1]*s[2], k, 1)), idx # tf.argmax(idx, axis=1)\n", | |
"\n", | |
"# TODO. soft look up.\n", | |
"# TODO. tok k, k not equal to 1, and average!?\n", | |
"\n", | |
"def cosine_dist(x, y):\n", | |
" x = tf.nn.l2_normalize(x, dim=1)\n", | |
" y = tf.nn.l2_normalize(y, dim=1)\n", | |
" return tf.matmul(x, y, transpose_b=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"tf.reset_default_graph()\n", | |
"x = tf.placeholder_with_default(tf.random_normal((batch_size, 32, 32, 1)), \n", | |
" shape=(batch_size, 32, 32, 1)) \n", | |
"e = tf.get_variable(shape=(k, n_latents), \n", | |
" dtype=tf.float32, \n", | |
" name='embeddings',\n", | |
" initializer=tf.orthogonal_initializer())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"z = encoder(x)\n", | |
"e_, dist, idx = lookup(z, e)\n", | |
"y = decoder(e_)\n", | |
"# y = tf.nn.sigmoid(y)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"6969\n", | |
"Tensor(\"conv2d_4/BiasAdd:0\", shape=(32, 2, 2, 8), dtype=float32) Tensor(\"TopKV2:1\", shape=(128, 1), dtype=int32) Tensor(\"Reshape_2:0\", shape=(32, 4, 64, 1), dtype=float32)\n" | |
] | |
} | |
], | |
"source": [ | |
"print(np.sum([np.prod(var.get_shape().as_list()) for var in tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)]))\n", | |
"print(z, idx, dist)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"reconstruction = tf.losses.mean_squared_error(x, y)\n", | |
"matching_enc = tf.losses.mean_squared_error(z, tf.stop_gradient(e_))\n", | |
"matching_emb = tf.losses.mean_squared_error(tf.stop_gradient(z), e_)\n", | |
"orth = tf.losses.mean_squared_error(tf.eye(batch_size), tf.matmul(tf.layers.flatten(z), \n", | |
" tf.layers.flatten(z), \n", | |
" transpose_b=True))\n", | |
"# added orthogonal regularsation onto z because I wanted\n", | |
"# to ensure the encoder didnt collapse onto a small\n", | |
"# subset of the vectors in e.\n", | |
"# this is kinda cool?! trying to match two orthogonal spaces\n", | |
"# the embeddings and the output of the encoder\n", | |
"\n", | |
"loss = reconstruction + matching_enc + 0.1*orth # # + matching_emb + " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"global_step = tf.Variable(0, trainable=False, name='global_step')\n", | |
"train_op = tf.train.AdamOptimizer(0.001).minimize(loss, global_step=global_step)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true | |
}, | |
"outputs": [], | |
"source": [ | |
"summaries = tf.summary.merge([\n", | |
" tf.summary.scalar('reconstruction', reconstruction),\n", | |
" tf.summary.scalar('encoder_matching', matching_enc),\n", | |
" tf.summary.scalar('orth', orth),\n", | |
" tf.summary.scalar('loss', loss),\n", | |
" tf.summary.histogram('idx', idx),\n", | |
" tf.summary.histogram('embeddings', e),\n", | |
" tf.summary.image('inputs', x),\n", | |
" tf.summary.image('outputs', y),\n", | |
" tf.summary.image('dist', dist),\n", | |
"])\n", | |
"\n", | |
"# train_summaries = tf.summary.merge([train_summaries] +\n", | |
"# [tf.summary.image('class_{}'.format(i),\n", | |
"# fetch_labels(x, idx, i))\n", | |
"# for i in range(k)])\n", | |
"\n", | |
"summarysaverhook = tf.train.SummarySaverHook(save_steps=50,\n", | |
" output_dir=logdir,\n", | |
" summary_op=summaries)\n", | |
"\n", | |
"hooks= [\n", | |
"# tf.train.StopAtStepHook(last_step=5000),\n", | |
" summarysaverhook\n", | |
" ]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def preprocess(images):\n", | |
" images = images.reshape((-1, 28, 28, 1))\n", | |
" # pad the images so the are a power of two.\n", | |
" # works nicer with the encoder/decoder i wrote.\n", | |
" return np.pad(images, [(0,0), (2,2), (2,2), (0,0)], 'constant')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false, | |
"deletable": true, | |
"editable": true, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Create CheckpointSaverHook.\n", | |
"INFO:tensorflow:Saving checkpoints for 1 into /tmp/ndr/4/model.ckpt.\n", | |
" step: 100 loss: 0.0559INFO:tensorflow:global_step/sec: 30.8078\n", | |
" step: 200 loss: 0.0558INFO:tensorflow:global_step/sec: 47.9623\n", | |
" step: 300 loss: 0.0529INFO:tensorflow:global_step/sec: 48.0571\n", | |
" step: 400 loss: 0.0470INFO:tensorflow:global_step/sec: 47.3686\n", | |
" step: 500 loss: 0.0445INFO:tensorflow:global_step/sec: 45.7849\n", | |
" step: 600 loss: 0.0452INFO:tensorflow:global_step/sec: 50.4072\n", | |
" step: 700 loss: 0.0472INFO:tensorflow:global_step/sec: 48.3217\n", | |
" step: 800 loss: 0.0430INFO:tensorflow:global_step/sec: 38.5889\n", | |
" step: 900 loss: 0.0444INFO:tensorflow:global_step/sec: 37.6305\n", | |
" step: 1000 loss: 0.0439INFO:tensorflow:global_step/sec: 34.7972\n", | |
" step: 1100 loss: 0.0424INFO:tensorflow:global_step/sec: 46.1463\n", | |
" step: 1200 loss: 0.0410INFO:tensorflow:global_step/sec: 45.8046\n", | |
" step: 1300 loss: 0.0446INFO:tensorflow:global_step/sec: 46.9756\n", | |
" step: 1400 loss: 0.0415INFO:tensorflow:global_step/sec: 48.4163\n", | |
" step: 1500 loss: 0.0438INFO:tensorflow:global_step/sec: 44.6544\n", | |
" step: 1600 loss: 0.0459INFO:tensorflow:global_step/sec: 51.8633\n", | |
" step: 1700 loss: 0.0415INFO:tensorflow:global_step/sec: 46.6172\n", | |
" step: 1800 loss: 0.0447INFO:tensorflow:global_step/sec: 45.7377\n", | |
" step: 1900 loss: 0.0433INFO:tensorflow:global_step/sec: 47.6338\n", | |
" step: 2000 loss: 0.0407INFO:tensorflow:global_step/sec: 46.2486\n", | |
" step: 2100 loss: 0.0431INFO:tensorflow:global_step/sec: 50.0772\n", | |
" step: 2200 loss: 0.0439INFO:tensorflow:global_step/sec: 46.0853\n", | |
" step: 2300 loss: 0.0382INFO:tensorflow:global_step/sec: 41.2645\n", | |
" step: 2400 loss: 0.0399INFO:tensorflow:global_step/sec: 40.4344\n", | |
" step: 2500 loss: 0.0435INFO:tensorflow:global_step/sec: 46.7066\n", | |
" step: 2600 loss: 0.0440INFO:tensorflow:global_step/sec: 44.4135\n", | |
" step: 2700 loss: 0.0386INFO:tensorflow:global_step/sec: 40.1583\n", | |
" step: 2800 loss: 0.0383INFO:tensorflow:global_step/sec: 38.1711\n", | |
" step: 2900 loss: 0.0427INFO:tensorflow:global_step/sec: 42.3625\n", | |
" step: 3000 loss: 0.0435INFO:tensorflow:global_step/sec: 44.6656\n", | |
" step: 3100 loss: 0.0397INFO:tensorflow:global_step/sec: 43.555\n", | |
" step: 3200 loss: 0.0435INFO:tensorflow:global_step/sec: 39.8638\n", | |
" step: 3300 loss: 0.0396INFO:tensorflow:global_step/sec: 44.9152\n", | |
" step: 3400 loss: 0.0395INFO:tensorflow:global_step/sec: 42.2248\n", | |
" step: 3500 loss: 0.0410INFO:tensorflow:global_step/sec: 44.6674\n", | |
" step: 3600 loss: 0.0450INFO:tensorflow:global_step/sec: 44.0795\n", | |
" step: 3700 loss: 0.0426INFO:tensorflow:global_step/sec: 46.5901\n", | |
" step: 3800 loss: 0.0443INFO:tensorflow:global_step/sec: 47.7807\n", | |
" step: 3900 loss: 0.0411INFO:tensorflow:global_step/sec: 48.9744\n", | |
" step: 4000 loss: 0.0382INFO:tensorflow:global_step/sec: 47.6262\n", | |
" step: 4100 loss: 0.0366INFO:tensorflow:global_step/sec: 47.2312\n", | |
" step: 4200 loss: 0.0420INFO:tensorflow:global_step/sec: 51.0079\n", | |
" step: 4300 loss: 0.0427INFO:tensorflow:global_step/sec: 46.9004\n", | |
" step: 4400 loss: 0.0391INFO:tensorflow:global_step/sec: 45.4641\n", | |
" step: 4500 loss: 0.0419INFO:tensorflow:global_step/sec: 46.0442\n", | |
" step: 4600 loss: 0.0434INFO:tensorflow:global_step/sec: 42.9318\n", | |
" step: 4700 loss: 0.0420INFO:tensorflow:global_step/sec: 46.5501\n", | |
" step: 4800 loss: 0.0397INFO:tensorflow:global_step/sec: 47.173\n", | |
" step: 4900 loss: 0.0414INFO:tensorflow:global_step/sec: 44.1998\n", | |
" step: 5000 loss: 0.0399INFO:tensorflow:global_step/sec: 47.3711\n", | |
" step: 5100 loss: 0.0397INFO:tensorflow:global_step/sec: 47.8339\n", | |
" step: 5200 loss: 0.0404INFO:tensorflow:global_step/sec: 40.0977\n", | |
" step: 5300 loss: 0.0400INFO:tensorflow:global_step/sec: 42.8611\n", | |
" step: 5400 loss: 0.0405INFO:tensorflow:global_step/sec: 42.4887\n", | |
" step: 5500 loss: 0.0390INFO:tensorflow:global_step/sec: 44.6578\n", | |
" step: 5600 loss: 0.0426INFO:tensorflow:global_step/sec: 45.5722\n", | |
" step: 5700 loss: 0.0390INFO:tensorflow:global_step/sec: 44.6223\n", | |
" step: 5800 loss: 0.0406INFO:tensorflow:global_step/sec: 44.7449\n", | |
" step: 5900 loss: 0.0373INFO:tensorflow:global_step/sec: 43.6718\n", | |
" step: 6000 loss: 0.0363INFO:tensorflow:global_step/sec: 44.2214\n", | |
" step: 6100 loss: 0.0421INFO:tensorflow:global_step/sec: 45.5862\n", | |
" step: 6200 loss: 0.0388INFO:tensorflow:global_step/sec: 43.0262\n", | |
" step: 6300 loss: 0.0368INFO:tensorflow:global_step/sec: 42.562\n", | |
" step: 6400 loss: 0.0412INFO:tensorflow:global_step/sec: 39.5892\n", | |
" step: 6500 loss: 0.0368INFO:tensorflow:global_step/sec: 45.2398\n", | |
" step: 6600 loss: 0.0398INFO:tensorflow:global_step/sec: 43.7667\n", | |
" step: 6700 loss: 0.0377INFO:tensorflow:global_step/sec: 47.0642\n", | |
" step: 6800 loss: 0.0403INFO:tensorflow:global_step/sec: 42.5834\n", | |
" step: 6900 loss: 0.0407INFO:tensorflow:global_step/sec: 38.0501\n", | |
" step: 7000 loss: 0.0367INFO:tensorflow:global_step/sec: 41.0992\n", | |
" step: 7100 loss: 0.0394INFO:tensorflow:global_step/sec: 42.7573\n", | |
" step: 7200 loss: 0.0381INFO:tensorflow:global_step/sec: 48.7841\n", | |
" step: 7300 loss: 0.0420INFO:tensorflow:global_step/sec: 47.5289\n", | |
" step: 7400 loss: 0.0390INFO:tensorflow:global_step/sec: 51.1691\n", | |
" step: 7500 loss: 0.0369INFO:tensorflow:global_step/sec: 48.466\n", | |
" step: 7600 loss: 0.0352INFO:tensorflow:global_step/sec: 45.3326\n", | |
" step: 7700 loss: 0.0380INFO:tensorflow:global_step/sec: 47.186\n", | |
" step: 7800 loss: 0.0368INFO:tensorflow:global_step/sec: 54.879\n", | |
" step: 7900 loss: 0.0408INFO:tensorflow:global_step/sec: 48.4341\n", | |
" step: 8000 loss: 0.0413INFO:tensorflow:global_step/sec: 44.1574\n", | |
" step: 8100 loss: 0.0421INFO:tensorflow:global_step/sec: 41.184\n", | |
" step: 8200 loss: 0.0392INFO:tensorflow:global_step/sec: 43.7059\n", | |
" step: 8300 loss: 0.0375INFO:tensorflow:global_step/sec: 43.5561\n", | |
" step: 8400 loss: 0.0420INFO:tensorflow:global_step/sec: 45.0752\n", | |
" step: 8500 loss: 0.0391INFO:tensorflow:global_step/sec: 48.4233\n", | |
" step: 8594 loss: 0.0381INFO:tensorflow:Saving checkpoints for 8594 into /tmp/ndr/4/model.ckpt.\n" | |
] | |
} | |
], | |
"source": [ | |
"\n", | |
"\n", | |
"with tf.train.MonitoredTrainingSession(checkpoint_dir=logdir,\n", | |
" hooks=hooks) as mon_sess:\n", | |
" while mnist.train.epochs_completed <5:\n", | |
" batch_x, batch_t = mnist.train.next_batch(batch_size)\n", | |
" batch_x = preprocess(batch_x)\n", | |
" step, l, _ = mon_sess.run([global_step, loss, train_op], feed_dict={x: batch_x})\n", | |
" print('\\r step: {} loss: {:.4f}'.format(step, l), end='', flush=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.metrics import mutual_info_score as mi\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"INFO:tensorflow:Create CheckpointSaverHook.\n", | |
"INFO:tensorflow:Restoring parameters from /tmp/ndr/4/model.ckpt-8594\n", | |
"INFO:tensorflow:Saving checkpoints for 8594 into /tmp/ndr/4/model.ckpt.\n" | |
] | |
} | |
], | |
"source": [ | |
"t = []; t_ = []\n", | |
"with tf.train.MonitoredTrainingSession(checkpoint_dir=logdir,\n", | |
" hooks=hooks) as mon_sess:\n", | |
" while mnist.test.epochs_completed <1:\n", | |
" batch_x, batch_t = mnist.test.next_batch(batch_size)\n", | |
" t.append(batch_t)\n", | |
" batch_x = preprocess(batch_x)\n", | |
" t_.append(mon_sess.run(idx, feed_dict={x: batch_x}))\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"((10016,), (10016, 4))" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"targets = np.hstack([np.argmax(v, axis=1) for v in t])\n", | |
"preds = np.vstack([v.reshape((batch_size, -1)) for v in t_])\n", | |
"targets.shape, preds.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2.3008667643560656" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# ok, so the baseline performance is\n", | |
"mi(targets, targets)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.89740174897\n", | |
"0.731570026919\n", | |
"0.867416808441\n", | |
"1.05419863176\n" | |
] | |
} | |
], | |
"source": [ | |
"# how well do our predictions align with the labels?\n", | |
"for i in range(preds.shape[1]):\n", | |
" print(mi(targets, preds[:,i]))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.692182281675\n", | |
"0.788856891283\n", | |
"0.749627321016\n", | |
"0.891907993292\n", | |
"0.754533496026\n", | |
"0.890050476551\n" | |
] | |
} | |
], | |
"source": [ | |
"# how well do the fmaps predict each other?\n", | |
"# no, this is misleading. not doing the right thing!?\n", | |
"for i in range(preds.shape[1]):\n", | |
" for j in range(preds.shape[1]):\n", | |
" if i > j:\n", | |
" print(mi(preds[:,i], preds[:,j]))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.preprocessing import OneHotEncoder\n", | |
"enc = OneHotEncoder(10, sparse=False)\n", | |
"targets_one = enc.fit_transform(targets.reshape((-1, 1))) " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<Container object of 64 artists>" | |
] | |
}, | |
"execution_count": 50, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f719deda908>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f719dd19128>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f719dfbdc88>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f71a88a4630>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f719dd19470>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f71a3169c18>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f71a314a0b8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"Z = np.zeros((10, k))\n", | |
"# how do the clusters correlate with the labels?\n", | |
"for i in range(preds.shape[1]):\n", | |
" enc = OneHotEncoder(k, sparse=False)\n", | |
" preds_one = enc.fit_transform(preds[:,i].reshape((-1, 1))) \n", | |
" plt.figure(figsize=(10, 3))\n", | |
" plt.ylabel('Labels')\n", | |
" plt.xlabel('Cluster heads')\n", | |
" plt.title('Fmap position {}'.format(i))\n", | |
" M = np.dot(targets_one.T, preds_one[:, :64])\n", | |
" plt.imshow(M, interpolation='nearest', cmap='gray')\n", | |
" Z +=M\n", | |
"plt.figure(figsize=(10, 3))\n", | |
"plt.title('Total')\n", | |
"plt.xlabel('Labels')\n", | |
"plt.ylabel('Cluster heads')\n", | |
"plt.imshow(Z, interpolation='nearest', cmap='gray')\n", | |
"plt.figure(figsize=(10, 3))\n", | |
"plt.xlabel('Labels')\n", | |
"plt.ylabel('Correlation')\n", | |
"plt.bar(range(10), (Z.sum(axis=1)-Z.sum(axis=1).mean())/Z.sum(axis=1).max())\n", | |
"plt.figure(figsize=(10, 3))\n", | |
"plt.xlabel('Cluster heads')\n", | |
"plt.ylabel('Correlation')\n", | |
"plt.bar(range(k), Z.sum(axis=0))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# it seems weird that one cluster head can correlate with many labels quite strongly\n", | |
"# also that 5s are pretty much left out" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7f71a85431d0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# what does the dstribution of look ups look like?\n", | |
"# hopefully not too asymetric\n", | |
"plt.figure(figsize=(10, 6))\n", | |
"_ = plt.hist(preds[:,0], bins=k, alpha=0.5)\n", | |
"_ = plt.hist(preds[:,1], bins=k, alpha=0.5)\n", | |
"_ = plt.hist(preds[:,2], bins=k, alpha=0.5)\n", | |
"_ = plt.hist(preds[:,3], bins=k, alpha=0.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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