{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "from keras.models import Model\n", "from keras.layers import Input\n", "from keras.layers.convolutional import UpSampling1D\n", "from keras import backend as K" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def format_decimal(arr, places=6):\n", " return [round(x * 10**places) / 10**places for x in arr]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### UpSampling1D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**[convolutional.UpSampling1D.0] length 2 upsampling on 3x5 input**" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "in shape: (3, 5)\n", "in: [0.262, 0.764609, -0.482897, -0.371755, 0.871769, 0.490033, -0.986894, -0.960468, 0.373039, 0.911356, 0.00298, 0.270652, 0.749006, 0.692235, 0.471778]\n", "out shape: (6, 5)\n", "out: [0.262, 0.764609, -0.482897, -0.371755, 0.871769, 0.262, 0.764609, -0.482897, -0.371755, 0.871769, 0.490033, -0.986894, -0.960468, 0.373039, 0.911356, 0.490033, -0.986894, -0.960468, 0.373039, 0.911356, 0.00298, 0.270652, 0.749006, 0.692235, 0.471778, 0.00298, 0.270652, 0.749006, 0.692235, 0.471778]\n" ] } ], "source": [ "data_in_shape = (3, 5)\n", "L = UpSampling1D(length=2)\n", "\n", "layer_0 = Input(shape=data_in_shape)\n", "layer_1 = L(layer_0)\n", "model = Model(input=layer_0, output=layer_1)\n", "\n", "# set weights to random (use seed for reproducibility)\n", "np.random.seed(230)\n", "data_in = 2 * np.random.random(data_in_shape) - 1\n", "print('')\n", "print('in shape:', data_in_shape)\n", "print('in:', format_decimal(data_in.ravel().tolist()))\n", "result = model.predict(np.array([data_in]))\n", "print('out shape:', result[0].shape)\n", "print('out:', format_decimal(result[0].ravel().tolist()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**[convolutional.UpSampling1D.0] length 3 upsampling on 4x4 input**" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "in shape: (4, 4)\n", "in: [0.562988, 0.168418, -0.14658, -0.369311, 0.653777, 0.806859, -0.922124, 0.830445, -0.878989, -0.638546, -0.855401, -0.082476, 0.416718, -0.03353, -0.949107, -0.866195]\n", "out shape: (12, 4)\n", "out: [0.562988, 0.168418, -0.14658, -0.369311, 0.562988, 0.168418, -0.14658, -0.369311, 0.562988, 0.168418, -0.14658, -0.369311, 0.653777, 0.806859, -0.922124, 0.830445, 0.653777, 0.806859, -0.922124, 0.830445, 0.653777, 0.806859, -0.922124, 0.830445, -0.878989, -0.638546, -0.855401, -0.082476, -0.878989, -0.638546, -0.855401, -0.082476, -0.878989, -0.638546, -0.855401, -0.082476, 0.416718, -0.03353, -0.949107, -0.866195, 0.416718, -0.03353, -0.949107, -0.866195, 0.416718, -0.03353, -0.949107, -0.866195]\n" ] } ], "source": [ "data_in_shape = (4, 4)\n", "L = UpSampling1D(length=3)\n", "\n", "layer_0 = Input(shape=data_in_shape)\n", "layer_1 = L(layer_0)\n", "model = Model(input=layer_0, output=layer_1)\n", "\n", "# set weights to random (use seed for reproducibility)\n", "np.random.seed(231)\n", "data_in = 2 * np.random.random(data_in_shape) - 1\n", "print('')\n", "print('in shape:', data_in_shape)\n", "print('in:', format_decimal(data_in.ravel().tolist()))\n", "result = model.predict(np.array([data_in]))\n", "print('out shape:', result[0].shape)\n", "print('out:', format_decimal(result[0].ravel().tolist()))" ] }, { "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 }