mirror of
https://github.com/wassname/keras-js.git
synced 2026-09-09 11:25:25 +08:00
257 lines
12 KiB
Plaintext
257 lines
12 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Using TensorFlow backend.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"from keras.models import Model\n",
|
|
"from keras.layers import Input\n",
|
|
"from keras.layers.convolutional import ZeroPadding2D\n",
|
|
"from keras import backend as K"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"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": [
|
|
"### ZeroPadding2D"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**[convolutional.ZeroPadding2D.0] padding (1,1) on 3x5x2 input, dim_ordering=tf**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"in shape: (3, 5, 2)\n",
|
|
"in: [-0.570441, -0.454673, -0.285321, 0.237249, 0.282682, 0.428035, 0.160547, -0.332203, 0.546391, 0.272735, 0.010827, -0.763164, -0.442696, 0.381948, -0.676994, 0.753553, -0.031788, 0.915329, -0.738844, 0.269075, 0.434091, 0.991585, -0.944288, 0.258834, 0.162138, 0.565201, -0.492094, 0.170854, -0.139788, -0.710674]\n",
|
|
"out shape: (5, 7, 2)\n",
|
|
"out: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.570441, -0.454673, -0.285321, 0.237249, 0.282682, 0.428035, 0.160547, -0.332203, 0.546391, 0.272735, 0.0, 0.0, 0.0, 0.0, 0.010827, -0.763164, -0.442696, 0.381948, -0.676994, 0.753553, -0.031788, 0.915329, -0.738844, 0.269075, 0.0, 0.0, 0.0, 0.0, 0.434091, 0.991585, -0.944288, 0.258834, 0.162138, 0.565201, -0.492094, 0.170854, -0.139788, -0.710674, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"data_in_shape = (3, 5, 2)\n",
|
|
"L = ZeroPadding2D(padding=(1, 1), dim_ordering='tf')\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(250)\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.ZeroPadding2D.1] padding (1,1) on 3x5x2 input, dim_ordering=th**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"in shape: (3, 5, 2)\n",
|
|
"in: [-0.570441, -0.454673, -0.285321, 0.237249, 0.282682, 0.428035, 0.160547, -0.332203, 0.546391, 0.272735, 0.010827, -0.763164, -0.442696, 0.381948, -0.676994, 0.753553, -0.031788, 0.915329, -0.738844, 0.269075, 0.434091, 0.991585, -0.944288, 0.258834, 0.162138, 0.565201, -0.492094, 0.170854, -0.139788, -0.710674]\n",
|
|
"out shape: (3, 7, 4)\n",
|
|
"out: [0.0, 0.0, 0.0, 0.0, 0.0, -0.570441, -0.454673, 0.0, 0.0, -0.285321, 0.237249, 0.0, 0.0, 0.282682, 0.428035, 0.0, 0.0, 0.160547, -0.332203, 0.0, 0.0, 0.546391, 0.272735, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010827, -0.763164, 0.0, 0.0, -0.442696, 0.381948, 0.0, 0.0, -0.676994, 0.753553, 0.0, 0.0, -0.031788, 0.915329, 0.0, 0.0, -0.738844, 0.269075, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.434091, 0.991585, 0.0, 0.0, -0.944288, 0.258834, 0.0, 0.0, 0.162138, 0.565201, 0.0, 0.0, -0.492094, 0.170854, 0.0, 0.0, -0.139788, -0.710674, 0.0, 0.0, 0.0, 0.0, 0.0]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"data_in_shape = (3, 5, 2)\n",
|
|
"L = ZeroPadding2D(padding=(1, 1), dim_ordering='th')\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(250)\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.ZeroPadding2D.2] padding (3,2) on 2x6x4 input, dim_ordering=tf**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"in shape: (2, 6, 4)\n",
|
|
"in: [-0.989173, -0.133618, -0.505338, 0.023259, 0.503982, -0.303769, -0.436321, 0.793911, 0.416102, 0.806405, -0.098342, -0.738022, -0.982676, 0.805073, 0.741244, -0.941634, -0.253526, -0.136544, -0.295772, 0.207565, -0.517246, -0.686963, -0.176235, -0.354111, -0.862411, -0.969822, 0.200074, 0.290718, -0.038623, 0.294839, 0.247968, 0.557946, -0.455596, 0.6624, 0.879529, -0.466772, 0.40423, 0.213794, 0.645662, -0.044634, -0.552595, 0.771242, -0.131944, -0.172725, 0.700856, -0.001994, 0.606737, -0.593306]\n",
|
|
"out shape: (8, 10, 4)\n",
|
|
"out: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.989173, -0.133618, -0.505338, 0.023259, 0.503982, -0.303769, -0.436321, 0.793911, 0.416102, 0.806405, -0.098342, -0.738022, -0.982676, 0.805073, 0.741244, -0.941634, -0.253526, -0.136544, -0.295772, 0.207565, -0.517246, -0.686963, -0.176235, -0.354111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.862411, -0.969822, 0.200074, 0.290718, -0.038623, 0.294839, 0.247968, 0.557946, -0.455596, 0.6624, 0.879529, -0.466772, 0.40423, 0.213794, 0.645662, -0.044634, -0.552595, 0.771242, -0.131944, -0.172725, 0.700856, -0.001994, 0.606737, -0.593306, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"data_in_shape = (2, 6, 4)\n",
|
|
"L = ZeroPadding2D(padding=(3, 2), dim_ordering='tf')\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(252)\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.ZeroPadding2D.3] padding (3,2) on 2x6x4 input, dim_ordering=th**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"in shape: (2, 6, 4)\n",
|
|
"in: [-0.989173, -0.133618, -0.505338, 0.023259, 0.503982, -0.303769, -0.436321, 0.793911, 0.416102, 0.806405, -0.098342, -0.738022, -0.982676, 0.805073, 0.741244, -0.941634, -0.253526, -0.136544, -0.295772, 0.207565, -0.517246, -0.686963, -0.176235, -0.354111, -0.862411, -0.969822, 0.200074, 0.290718, -0.038623, 0.294839, 0.247968, 0.557946, -0.455596, 0.6624, 0.879529, -0.466772, 0.40423, 0.213794, 0.645662, -0.044634, -0.552595, 0.771242, -0.131944, -0.172725, 0.700856, -0.001994, 0.606737, -0.593306]\n",
|
|
"out shape: (2, 12, 8)\n",
|
|
"out: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.989173, -0.133618, -0.505338, 0.023259, 0.0, 0.0, 0.0, 0.0, 0.503982, -0.303769, -0.436321, 0.793911, 0.0, 0.0, 0.0, 0.0, 0.416102, 0.806405, -0.098342, -0.738022, 0.0, 0.0, 0.0, 0.0, -0.982676, 0.805073, 0.741244, -0.941634, 0.0, 0.0, 0.0, 0.0, -0.253526, -0.136544, -0.295772, 0.207565, 0.0, 0.0, 0.0, 0.0, -0.517246, -0.686963, -0.176235, -0.354111, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.862411, -0.969822, 0.200074, 0.290718, 0.0, 0.0, 0.0, 0.0, -0.038623, 0.294839, 0.247968, 0.557946, 0.0, 0.0, 0.0, 0.0, -0.455596, 0.6624, 0.879529, -0.466772, 0.0, 0.0, 0.0, 0.0, 0.40423, 0.213794, 0.645662, -0.044634, 0.0, 0.0, 0.0, 0.0, -0.552595, 0.771242, -0.131944, -0.172725, 0.0, 0.0, 0.0, 0.0, 0.700856, -0.001994, 0.606737, -0.593306, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"data_in_shape = (2, 6, 4)\n",
|
|
"L = ZeroPadding2D(padding=(3, 2), dim_ordering='th')\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(252)\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
|
|
}
|