Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kastnerkyle/02082a465fc82ac8d19eff79b5111f6e to your computer and use it in GitHub Desktop.
Save kastnerkyle/02082a465fc82ac8d19eff79b5111f6e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from keras.models import Model\n",
"from keras.layers import Convolution2D, Activation, Input, BatchNormalization, UpSampling2D, MaxPooling2D\n",
"from keras.datasets import cifar10\n",
"%matplotlib inline\n",
"plt.rcParams['image.interpolation'] = 'nearest'"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def shuffle_image(im):\n",
" '''Shuffle a 10x10 block of an image.'''\n",
" k = 10\n",
" mask = np.zeros((1, 32, 32))\n",
" y, x = np.random.randint(0, 32-k, 2)\n",
" ix = np.arange(k*k)\n",
" np.random.shuffle(ix)\n",
" im[:, y:y+k, x:x+k] = im[:, y:y+k, x:x+k].reshape((3,k*k))[:, ix].reshape((3,k,k))\n",
" mask[:, y:y+k, x:x+k] = 1.\n",
" return im, mask\n",
"\n",
"def gen_dataset(images):\n",
" '''Generate a dataset of n examples.'''\n",
" masks = np.ndarray((images.shape[0], 1, images.shape[2], images.shape[3]))\n",
" for i in range(images.shape[0]):\n",
" images[i], masks[i] = shuffle_image(images[i])\n",
" return images, masks"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Generate training and validation datasets.\n",
"(im_train, _), (im_val, _) = cifar10.load_data()\n",
"im_train = im_train[:5000]\n",
"im_val = im_val[:100]\n",
"im_train, mask_train = gen_dataset(im_train)\n",
"im_val, mask_val = gen_dataset(im_val)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nwUWbEEIC4v8BYy0q5T8qPHMAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2914e18080>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nYRNJEHht6E8AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2914dc4780>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Show a couple examples from the training dataset.\n",
"for ix in [100, 101]:\n",
" plt.figure()\n",
" plt.subplot(1, 2, 1)\n",
" plt.imshow(im_train[ix].transpose(1,2,0))\n",
" plt.subplot(1, 2, 2)\n",
" plt.imshow(mask_train[ix,0])\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Build network\n",
"inp = Input((3, 32, 32))\n",
"\n",
"out = Convolution2D(64, 3, 3, border_mode='same')(inp)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = Convolution2D(64, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = MaxPooling2D((2, 2))(out)\n",
"\n",
"out = Convolution2D(128, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = Convolution2D(128, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = MaxPooling2D((2, 2))(out)\n",
"\n",
"out = Convolution2D(256, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"\n",
"out = UpSampling2D((2, 2))(out)\n",
"out = Convolution2D(128, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = Convolution2D(128, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"\n",
"out = UpSampling2D((2, 2))(out)\n",
"out = Convolution2D(64, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"out = Convolution2D(64, 3, 3, border_mode='same')(out)\n",
"out = BatchNormalization()(out)\n",
"out = Activation('relu')(out)\n",
"\n",
"out = Convolution2D(1, 3, 3, border_mode='same')(out)\n",
"out = Activation('sigmoid')(out)\n",
"\n",
"model = Model(inp, out)\n",
"model.compile(loss='binary_crossentropy', optimizer='adam')"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 5000 samples, validate on 100 samples\n",
"Epoch 1/10\n",
"5000/5000 [==============================] - 30s - loss: 0.1942 - val_loss: 0.0713\n",
"Epoch 2/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0650 - val_loss: 0.0635\n",
"Epoch 3/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0384 - val_loss: 0.0315\n",
"Epoch 4/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0298 - val_loss: 0.0300\n",
"Epoch 5/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0238 - val_loss: 0.0204\n",
"Epoch 6/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0180 - val_loss: 0.0154\n",
"Epoch 7/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0177 - val_loss: 0.0203\n",
"Epoch 8/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0142 - val_loss: 0.0148\n",
"Epoch 9/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0130 - val_loss: 0.0151\n",
"Epoch 10/10\n",
"5000/5000 [==============================] - 29s - loss: 0.0115 - val_loss: 0.0129\n"
]
},
{
"data": {
"text/plain": [
"<keras.callbacks.History at 0x7f290f2a5048>"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Fit the training dataset, printing out validation score to make\n",
"# sure we don't overfit.\n",
"model.fit(im_train, mask_train, nb_epoch=10, validation_data=(im_val, mask_val))"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Predict masks for validation dataset.\n",
"pred_val = model.predict(im_val)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\na0c+4FtCUgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f291e3e0be0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f290f081588>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f291e233550>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f291e102518>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f291e061780>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Show a couple example predictions.\n",
"for ix in [10, 20, 30, 40, 50]:\n",
" plt.figure()\n",
" plt.subplot(1, 3, 1)\n",
" plt.imshow(im_val[ix].transpose(1,2,0))\n",
" plt.subplot(1, 3, 2)\n",
" plt.imshow(mask_val[ix,0])\n",
" plt.subplot(1, 3, 3)\n",
" plt.imshow(pred_val[ix,0])\n",
"plt.show()"
]
},
{
"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": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment