{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Christian Schuhegger \n", "last updated: 2019-03-19 \n", "\n", "CPython 3.6.8\n", "IPython 7.3.0\n", "\n", "numpy 1.15.4\n", "scipy 1.2.1\n", "pandas 0.24.1\n", "matplotlib 3.0.2\n", "h5py 2.9.0\n", "mxnet 1.3.1\n", "xarray 0.11.3\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -a 'Christian Schuhegger' -u -d -v -p numpy,scipy,pandas,matplotlib,h5py,mxnet,xarray" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os,sys\n", "sys.path.append(os.path.realpath('.'))\n", "sys.path.append(os.path.realpath('../../'))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np, scipy.stats as stats, pandas as pd, xarray as xr, matplotlib.pyplot as plt, seaborn as sns\n", "import logging\n", "# import sklearn, sklearn.pipeline, sklearn.model_selection, sklearn.preprocessing\n", "# import logging, time, datetime\n", "# from settings import s, e\n", "import mxnet as mx\n", "# import tqdm\n", "\n", "pd.set_option('display.max_columns', 500)\n", "pd.set_option('display.width', 1000)\n", "# pd.set_option('display.float_format', lambda x: '%.2f' % x)\n", "np.set_printoptions(edgeitems=10)\n", "np.set_printoptions(linewidth=1000)\n", "np.set_printoptions(suppress=True)\n", "np.core.arrayprint._line_width = 180\n", "\n", "sns.set()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import display, HTML\n", "\n", "from IPython.display import display_html\n", "def display_side_by_side(*args):\n", " html_str=''\n", " for df in args:\n", " if type(df) == np.ndarray:\n", " df = pd.DataFrame(df)\n", " html_str+=df.to_html()\n", " html_str = html_str.replace('table','table style=\"display:inline\"')\n", " # print(html_str)\n", " display_html(html_str,raw=True)\n", "\n", "CSS = \"\"\"\n", ".output {\n", " flex-direction: row;\n", "}\n", "\"\"\"\n", "\n", "def display_graphs_side_by_side(*args):\n", " html_str=''\n", " for g in args:\n", " html_str += ''\n", " html_str += '
'\n", " html_str += g._repr_svg_()\n", " html_str += '
'\n", " display_html(html_str,raw=True)\n", " \n", "\n", "display(HTML(\"\"))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pygame 1.9.4\n", "Hello from the pygame community. https://www.pygame.org/contribute.html\n" ] } ], "source": [ "#from .model.model_base_mx import VGGPlusModel\n", "from model.model_base_mx import VGG20190317Model" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "logging.basicConfig(level=logging.DEBUG, format='%(asctime)s:%(name)s:%(levelname)s: %(message)s')\n", "log = logging.getLogger('std')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2019-03-19 07:25:11,638:std:DEBUG: setup\n", "2019-03-19 07:25:11,639:std:DEBUG: setup\n", "2019-03-19 07:25:11,671:std:INFO: number of gpus: 1, ctx: gpu(0)\n", "2019-03-19 07:25:11,672:model_base_mx:DEBUG: model_ctx : gpu(0)\n", "2019-03-19 07:25:11,673:model_base_mx:DEBUG: VGGPlusBlock start\n", "2019-03-19 07:25:11,673:model_base_mx:DEBUG: VGGPlusBlock._make_features\n", "2019-03-19 07:25:11,674:model_base_mx:DEBUG: l: Conv2D(None -> 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,675:model_base_mx:DEBUG: l: Conv2D(None -> 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,676:model_base_mx:DEBUG: l: Conv2D(None -> 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,677:model_base_mx:DEBUG: l: Conv2D(None -> 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,678:model_base_mx:DEBUG: VGGPlusBlock._make_features\n", "2019-03-19 07:25:11,679:model_base_mx:DEBUG: l: Conv2D(None -> 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,681:model_base_mx:DEBUG: l: Conv2D(None -> 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,682:model_base_mx:DEBUG: l: Conv2D(None -> 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:11,683:model_base_mx:DEBUG: VGGPlusBlock end\n", "2019-03-19 07:25:13,075:model_base_mx:DEBUG: OS : linux\n", "2019-03-19 07:25:13,075:model_base_mx:DEBUG: Python : 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34) \n", "[GCC 7.3.0]\n", "2019-03-19 07:25:13,075:model_base_mx:DEBUG: MXNet : 1.3.1\n", "2019-03-19 07:25:13,076:model_base_mx:DEBUG: Numpy : 1.15.4\n", "2019-03-19 07:25:13,139:model_base_mx:DEBUG: GPU : ['GeForce GTX 1080']\n", "2019-03-19 07:25:13,140:model_base_mx:DEBUG: CPU cores : 12\n", "2019-03-19 07:25:13,141:model_base_mx:DEBUG: CUDA Version 9.0.176\n", "2019-03-19 07:25:13,142:model_base_mx:DEBUG: CuDNN Version: 7.4.2\n", "2019-03-19 07:25:13,143:std:DEBUG: VGG20190317Block start\n", "2019-03-19 07:25:13,143:std:DEBUG: VGG20190317Block._make_features\n", "2019-03-19 07:25:13,144:std:DEBUG: l: Conv2D(None -> 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n", "2019-03-19 07:25:13,145:std:DEBUG: l: Conv2D(None -> 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n", "2019-03-19 07:25:13,146:std:DEBUG: l: Conv2D(None -> 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))\n", "2019-03-19 07:25:13,147:std:DEBUG: VGG20190317Block._make_features\n", "2019-03-19 07:25:13,148:std:DEBUG: l: Conv2D(None -> 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:13,150:std:DEBUG: l: Conv2D(None -> 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:13,151:std:DEBUG: l: Conv2D(None -> 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:13,152:std:DEBUG: VGG20190317Block._make_features\n", "2019-03-19 07:25:13,153:std:DEBUG: l: Conv2D(None -> 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:13,154:std:DEBUG: l: Conv2D(None -> 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", "2019-03-19 07:25:13,156:std:DEBUG: VGG20190317Block end\n" ] } ], "source": [ "model = VGG20190317Model(log)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Previous Layer \n", "========================================================================================================================================================================================================================================================================================\n", "data0(null) 22 0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1conv0_fwd(Convolution) 64x11x11 64 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1batchnorm0_fwd(BatchNorm) 64x11x11 128 vgg20190317block0_f1conv0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu0__greater_scalar0(_greater_scalar) 64x11x11 0 vgg20190317block0_f1batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu0_exp0(exp) 64x11x11 0 vgg20190317block0_f1batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu0__minusscalar0(_minus_scalar) 64x11x11 0 vgg20190317block0_f1elu0_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu0__mulscalar0(_mul_scalar) 64x11x11 0 vgg20190317block0_f1elu0__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu0_where0(where) 64x11x11 0 vgg20190317block0_f1elu0__greater_scalar0 \n", " vgg20190317block0_f1batchnorm0_fwd \n", " vgg20190317block0_f1elu0__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1conv1_fwd(Convolution) 64x11x11 102464 vgg20190317block0_f1elu0_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1batchnorm1_fwd(BatchNorm) 64x11x11 128 vgg20190317block0_f1conv1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu1__greater_scalar0(_greater_scalar) 64x11x11 0 vgg20190317block0_f1batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu1_exp0(exp) 64x11x11 0 vgg20190317block0_f1batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu1__minusscalar0(_minus_scalar) 64x11x11 0 vgg20190317block0_f1elu1_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu1__mulscalar0(_mul_scalar) 64x11x11 0 vgg20190317block0_f1elu1__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu1_where0(where) 64x11x11 0 vgg20190317block0_f1elu1__greater_scalar0 \n", " vgg20190317block0_f1batchnorm1_fwd \n", " vgg20190317block0_f1elu1__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1conv2_fwd(Convolution) 64x11x11 102464 vgg20190317block0_f1elu1_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1batchnorm2_fwd(BatchNorm) 64x11x11 128 vgg20190317block0_f1conv2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu2__greater_scalar0(_greater_scalar) 64x11x11 0 vgg20190317block0_f1batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu2_exp0(exp) 64x11x11 0 vgg20190317block0_f1batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu2__minusscalar0(_minus_scalar) 64x11x11 0 vgg20190317block0_f1elu2_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu2__mulscalar0(_mul_scalar) 64x11x11 0 vgg20190317block0_f1elu2__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1elu2_where0(where) 64x11x11 0 vgg20190317block0_f1elu2__greater_scalar0 \n", " vgg20190317block0_f1batchnorm2_fwd \n", " vgg20190317block0_f1elu2__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f1pool0_fwd(Pooling) 64x6x6 0 vgg20190317block0_f1elu2_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2conv0_fwd(Convolution) 128x6x6 73856 vgg20190317block0_f1pool0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2batchnorm0_fwd(BatchNorm) 128x6x6 256 vgg20190317block0_f2conv0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu0__greater_scalar0(_greater_scalar) 128x6x6 0 vgg20190317block0_f2batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu0_exp0(exp) 128x6x6 0 vgg20190317block0_f2batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu0__minusscalar0(_minus_scalar) 128x6x6 0 vgg20190317block0_f2elu0_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu0__mulscalar0(_mul_scalar) 128x6x6 0 vgg20190317block0_f2elu0__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu0_where0(where) 128x6x6 0 vgg20190317block0_f2elu0__greater_scalar0 \n", " vgg20190317block0_f2batchnorm0_fwd \n", " vgg20190317block0_f2elu0__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2conv1_fwd(Convolution) 128x6x6 147584 vgg20190317block0_f2elu0_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2batchnorm1_fwd(BatchNorm) 128x6x6 256 vgg20190317block0_f2conv1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu1__greater_scalar0(_greater_scalar) 128x6x6 0 vgg20190317block0_f2batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu1_exp0(exp) 128x6x6 0 vgg20190317block0_f2batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu1__minusscalar0(_minus_scalar) 128x6x6 0 vgg20190317block0_f2elu1_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu1__mulscalar0(_mul_scalar) 128x6x6 0 vgg20190317block0_f2elu1__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu1_where0(where) 128x6x6 0 vgg20190317block0_f2elu1__greater_scalar0 \n", " vgg20190317block0_f2batchnorm1_fwd \n", " vgg20190317block0_f2elu1__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2conv2_fwd(Convolution) 128x6x6 147584 vgg20190317block0_f2elu1_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2batchnorm2_fwd(BatchNorm) 128x6x6 256 vgg20190317block0_f2conv2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu2__greater_scalar0(_greater_scalar) 128x6x6 0 vgg20190317block0_f2batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu2_exp0(exp) 128x6x6 0 vgg20190317block0_f2batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu2__minusscalar0(_minus_scalar) 128x6x6 0 vgg20190317block0_f2elu2_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu2__mulscalar0(_mul_scalar) 128x6x6 0 vgg20190317block0_f2elu2__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2elu2_where0(where) 128x6x6 0 vgg20190317block0_f2elu2__greater_scalar0 \n", " vgg20190317block0_f2batchnorm2_fwd \n", " vgg20190317block0_f2elu2__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f2pool0_fwd(Pooling) 128x3x3 0 vgg20190317block0_f2elu2_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3conv0_fwd(Convolution) 256x3x3 295168 vgg20190317block0_f2pool0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3batchnorm0_fwd(BatchNorm) 256x3x3 512 vgg20190317block0_f3conv0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu0__greater_scalar0(_greater_scalar) 256x3x3 0 vgg20190317block0_f3batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu0_exp0(exp) 256x3x3 0 vgg20190317block0_f3batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu0__minusscalar0(_minus_scalar) 256x3x3 0 vgg20190317block0_f3elu0_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu0__mulscalar0(_mul_scalar) 256x3x3 0 vgg20190317block0_f3elu0__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu0_where0(where) 256x3x3 0 vgg20190317block0_f3elu0__greater_scalar0 \n", " vgg20190317block0_f3batchnorm0_fwd \n", " vgg20190317block0_f3elu0__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3conv1_fwd(Convolution) 256x3x3 590080 vgg20190317block0_f3elu0_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3batchnorm1_fwd(BatchNorm) 256x3x3 512 vgg20190317block0_f3conv1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu1__greater_scalar0(_greater_scalar) 256x3x3 0 vgg20190317block0_f3batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu1_exp0(exp) 256x3x3 0 vgg20190317block0_f3batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu1__minusscalar0(_minus_scalar) 256x3x3 0 vgg20190317block0_f3elu1_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu1__mulscalar0(_mul_scalar) 256x3x3 0 vgg20190317block0_f3elu1__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3elu1_where0(where) 256x3x3 0 vgg20190317block0_f3elu1__greater_scalar0 \n", " vgg20190317block0_f3batchnorm1_fwd \n", " vgg20190317block0_f3elu1__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_f3pool0_fwd(Pooling) 256x2x2 0 vgg20190317block0_f3elu1_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_flatten0_flatten0(Flatten) 1024 0 vgg20190317block0_f3pool0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_concat0(Concat) 1046 0 data0 \n", " vgg20190317block0_flatten0_flatten0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_fc-1fwd(FullyConnected) 512 536064 vgg20190317block0_concat0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_batchnorm0_fwd(BatchNorm) 512 1024 vgg20190317block0_fc-1fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu0__greater_scalar0(_greater_scalar) 512 0 vgg20190317block0_batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu0_exp0(exp) 512 0 vgg20190317block0_batchnorm0_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu0__minusscalar0(_minus_scalar) 512 0 vgg20190317block0_elu0_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu0__mulscalar0(_mul_scalar) 512 0 vgg20190317block0_elu0__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu0_where0(where) 512 0 vgg20190317block0_elu0__greater_scalar0 \n", " vgg20190317block0_batchnorm0_fwd \n", " vgg20190317block0_elu0__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_fc-2fwd(FullyConnected) 512 262656 vgg20190317block0_elu0_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_batchnorm1_fwd(BatchNorm) 512 1024 vgg20190317block0_fc-2fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu1__greater_scalar0(_greater_scalar) 512 0 vgg20190317block0_batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu1_exp0(exp) 512 0 vgg20190317block0_batchnorm1_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu1__minusscalar0(_minus_scalar) 512 0 vgg20190317block0_elu1_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu1__mulscalar0(_mul_scalar) 512 0 vgg20190317block0_elu1__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu1_where0(where) 512 0 vgg20190317block0_elu1__greater_scalar0 \n", " vgg20190317block0_batchnorm1_fwd \n", " vgg20190317block0_elu1__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_fc-3fwd(FullyConnected) 512 262656 vgg20190317block0_elu1_where0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_batchnorm2_fwd(BatchNorm) 512 1024 vgg20190317block0_fc-3fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu2__greater_scalar0(_greater_scalar) 512 0 vgg20190317block0_batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu2_exp0(exp) 512 0 vgg20190317block0_batchnorm2_fwd \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu2__minusscalar0(_minus_scalar) 512 0 vgg20190317block0_elu2_exp0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu2__mulscalar0(_mul_scalar) 512 0 vgg20190317block0_elu2__minusscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_elu2_where0(where) 512 0 vgg20190317block0_elu2__greater_scalar0 \n", " vgg20190317block0_batchnorm2_fwd \n", " vgg20190317block0_elu2__mulscalar0 \n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n", "vgg20190317block0_predictionsfwd(FullyConnected) 1 513 vgg20190317block0_elu2_where0 \n", "========================================================================================================================================================================================================================================================================================\n", "Total params: 2526401\n", "________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________\n" ] } ], "source": [ "x1 = mx.sym.var('data0')\n", "x2 = mx.sym.var('data1')\n", "sym = model.model(x1,x2)\n", "mx.visualization.print_summary(sym, shape={'data0':(593552, 22), 'data1': (593552, 7, 11, 11)}, line_length=280)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "plot\n", "\n", "\n", "\n", "data0\n", "\n", "data0\n", "\n", "\n", "\n", "data1\n", "\n", "data1\n", "\n", "\n", "\n", "vgg20190317block0_f1conv0_fwd\n", "\n", "Convolution\n", "5x5/1x1, 64\n", "\n", "\n", "\n", "vgg20190317block0_f1conv0_fwd->data1\n", "\n", "\n", "7x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm0_fwd\n", "\n", "vgg20190317block0_f1batchnorm0_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm0_fwd->vgg20190317block0_f1conv0_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__greater_scalar0\n", "\n", "vgg20190317block0_f1elu0__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__greater_scalar0->vgg20190317block0_f1batchnorm0_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_exp0\n", "\n", "vgg20190317block0_f1elu0_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_exp0->vgg20190317block0_f1batchnorm0_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__minusscalar0\n", "\n", "vgg20190317block0_f1elu0__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__minusscalar0->vgg20190317block0_f1elu0_exp0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__mulscalar0\n", "\n", "vgg20190317block0_f1elu0__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0__mulscalar0->vgg20190317block0_f1elu0__minusscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_where0\n", "\n", "vgg20190317block0_f1elu0_where0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_where0->vgg20190317block0_f1batchnorm0_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_where0->vgg20190317block0_f1elu0__greater_scalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu0_where0->vgg20190317block0_f1elu0__mulscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1conv1_fwd\n", "\n", "Convolution\n", "5x5/1x1, 64\n", "\n", "\n", "\n", "vgg20190317block0_f1conv1_fwd->vgg20190317block0_f1elu0_where0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm1_fwd\n", "\n", "vgg20190317block0_f1batchnorm1_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm1_fwd->vgg20190317block0_f1conv1_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__greater_scalar0\n", "\n", "vgg20190317block0_f1elu1__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__greater_scalar0->vgg20190317block0_f1batchnorm1_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_exp0\n", "\n", "vgg20190317block0_f1elu1_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_exp0->vgg20190317block0_f1batchnorm1_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__minusscalar0\n", "\n", "vgg20190317block0_f1elu1__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__minusscalar0->vgg20190317block0_f1elu1_exp0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__mulscalar0\n", "\n", "vgg20190317block0_f1elu1__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1__mulscalar0->vgg20190317block0_f1elu1__minusscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_where0\n", "\n", "vgg20190317block0_f1elu1_where0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_where0->vgg20190317block0_f1batchnorm1_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_where0->vgg20190317block0_f1elu1__greater_scalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu1_where0->vgg20190317block0_f1elu1__mulscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1conv2_fwd\n", "\n", "Convolution\n", "5x5/1x1, 64\n", "\n", "\n", "\n", "vgg20190317block0_f1conv2_fwd->vgg20190317block0_f1elu1_where0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm2_fwd\n", "\n", "vgg20190317block0_f1batchnorm2_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f1batchnorm2_fwd->vgg20190317block0_f1conv2_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__greater_scalar0\n", "\n", "vgg20190317block0_f1elu2__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__greater_scalar0->vgg20190317block0_f1batchnorm2_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_exp0\n", "\n", "vgg20190317block0_f1elu2_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_exp0->vgg20190317block0_f1batchnorm2_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__minusscalar0\n", "\n", "vgg20190317block0_f1elu2__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__minusscalar0->vgg20190317block0_f1elu2_exp0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__mulscalar0\n", "\n", "vgg20190317block0_f1elu2__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2__mulscalar0->vgg20190317block0_f1elu2__minusscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_where0\n", "\n", "vgg20190317block0_f1elu2_where0\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_where0->vgg20190317block0_f1batchnorm2_fwd\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_where0->vgg20190317block0_f1elu2__greater_scalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1elu2_where0->vgg20190317block0_f1elu2__mulscalar0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f1pool0_fwd\n", "\n", "Pooling\n", "max, 2x2/2x2\n", "\n", "\n", "\n", "vgg20190317block0_f1pool0_fwd->vgg20190317block0_f1elu2_where0\n", "\n", "\n", "64x11x11\n", "\n", "\n", "\n", "vgg20190317block0_f2conv0_fwd\n", "\n", "Convolution\n", "3x3/1x1, 128\n", "\n", "\n", "\n", "vgg20190317block0_f2conv0_fwd->vgg20190317block0_f1pool0_fwd\n", "\n", "\n", "64x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm0_fwd\n", "\n", "vgg20190317block0_f2batchnorm0_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm0_fwd->vgg20190317block0_f2conv0_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__greater_scalar0\n", "\n", "vgg20190317block0_f2elu0__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__greater_scalar0->vgg20190317block0_f2batchnorm0_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_exp0\n", "\n", "vgg20190317block0_f2elu0_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_exp0->vgg20190317block0_f2batchnorm0_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__minusscalar0\n", "\n", "vgg20190317block0_f2elu0__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__minusscalar0->vgg20190317block0_f2elu0_exp0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__mulscalar0\n", "\n", "vgg20190317block0_f2elu0__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0__mulscalar0->vgg20190317block0_f2elu0__minusscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_where0\n", "\n", "vgg20190317block0_f2elu0_where0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_where0->vgg20190317block0_f2batchnorm0_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_where0->vgg20190317block0_f2elu0__greater_scalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu0_where0->vgg20190317block0_f2elu0__mulscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2conv1_fwd\n", "\n", "Convolution\n", "3x3/1x1, 128\n", "\n", "\n", "\n", "vgg20190317block0_f2conv1_fwd->vgg20190317block0_f2elu0_where0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm1_fwd\n", "\n", "vgg20190317block0_f2batchnorm1_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm1_fwd->vgg20190317block0_f2conv1_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__greater_scalar0\n", "\n", "vgg20190317block0_f2elu1__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__greater_scalar0->vgg20190317block0_f2batchnorm1_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_exp0\n", "\n", "vgg20190317block0_f2elu1_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_exp0->vgg20190317block0_f2batchnorm1_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__minusscalar0\n", "\n", "vgg20190317block0_f2elu1__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__minusscalar0->vgg20190317block0_f2elu1_exp0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__mulscalar0\n", "\n", "vgg20190317block0_f2elu1__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1__mulscalar0->vgg20190317block0_f2elu1__minusscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_where0\n", "\n", "vgg20190317block0_f2elu1_where0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_where0->vgg20190317block0_f2batchnorm1_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_where0->vgg20190317block0_f2elu1__greater_scalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu1_where0->vgg20190317block0_f2elu1__mulscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2conv2_fwd\n", "\n", "Convolution\n", "3x3/1x1, 128\n", "\n", "\n", "\n", "vgg20190317block0_f2conv2_fwd->vgg20190317block0_f2elu1_where0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm2_fwd\n", "\n", "vgg20190317block0_f2batchnorm2_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f2batchnorm2_fwd->vgg20190317block0_f2conv2_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__greater_scalar0\n", "\n", "vgg20190317block0_f2elu2__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__greater_scalar0->vgg20190317block0_f2batchnorm2_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_exp0\n", "\n", "vgg20190317block0_f2elu2_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_exp0->vgg20190317block0_f2batchnorm2_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__minusscalar0\n", "\n", "vgg20190317block0_f2elu2__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__minusscalar0->vgg20190317block0_f2elu2_exp0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__mulscalar0\n", "\n", "vgg20190317block0_f2elu2__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2__mulscalar0->vgg20190317block0_f2elu2__minusscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_where0\n", "\n", "vgg20190317block0_f2elu2_where0\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_where0->vgg20190317block0_f2batchnorm2_fwd\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_where0->vgg20190317block0_f2elu2__greater_scalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2elu2_where0->vgg20190317block0_f2elu2__mulscalar0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f2pool0_fwd\n", "\n", "Pooling\n", "max, 2x2/2x2\n", "\n", "\n", "\n", "vgg20190317block0_f2pool0_fwd->vgg20190317block0_f2elu2_where0\n", "\n", "\n", "128x6x6\n", "\n", "\n", "\n", "vgg20190317block0_f3conv0_fwd\n", "\n", "Convolution\n", "3x3/1x1, 256\n", "\n", "\n", "\n", "vgg20190317block0_f3conv0_fwd->vgg20190317block0_f2pool0_fwd\n", "\n", "\n", "128x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3batchnorm0_fwd\n", "\n", "vgg20190317block0_f3batchnorm0_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f3batchnorm0_fwd->vgg20190317block0_f3conv0_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__greater_scalar0\n", "\n", "vgg20190317block0_f3elu0__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__greater_scalar0->vgg20190317block0_f3batchnorm0_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_exp0\n", "\n", "vgg20190317block0_f3elu0_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_exp0->vgg20190317block0_f3batchnorm0_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__minusscalar0\n", "\n", "vgg20190317block0_f3elu0__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__minusscalar0->vgg20190317block0_f3elu0_exp0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__mulscalar0\n", "\n", "vgg20190317block0_f3elu0__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0__mulscalar0->vgg20190317block0_f3elu0__minusscalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_where0\n", "\n", "vgg20190317block0_f3elu0_where0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_where0->vgg20190317block0_f3batchnorm0_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_where0->vgg20190317block0_f3elu0__greater_scalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu0_where0->vgg20190317block0_f3elu0__mulscalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3conv1_fwd\n", "\n", "Convolution\n", "3x3/1x1, 256\n", "\n", "\n", "\n", "vgg20190317block0_f3conv1_fwd->vgg20190317block0_f3elu0_where0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3batchnorm1_fwd\n", "\n", "vgg20190317block0_f3batchnorm1_fwd\n", "\n", "\n", "\n", "vgg20190317block0_f3batchnorm1_fwd->vgg20190317block0_f3conv1_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__greater_scalar0\n", "\n", "vgg20190317block0_f3elu1__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__greater_scalar0->vgg20190317block0_f3batchnorm1_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_exp0\n", "\n", "vgg20190317block0_f3elu1_exp0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_exp0->vgg20190317block0_f3batchnorm1_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__minusscalar0\n", "\n", "vgg20190317block0_f3elu1__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__minusscalar0->vgg20190317block0_f3elu1_exp0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__mulscalar0\n", "\n", "vgg20190317block0_f3elu1__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1__mulscalar0->vgg20190317block0_f3elu1__minusscalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_where0\n", "\n", "vgg20190317block0_f3elu1_where0\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_where0->vgg20190317block0_f3batchnorm1_fwd\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_where0->vgg20190317block0_f3elu1__greater_scalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3elu1_where0->vgg20190317block0_f3elu1__mulscalar0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_f3pool0_fwd\n", "\n", "Pooling\n", "max, 2x2/2x2\n", "\n", "\n", "\n", "vgg20190317block0_f3pool0_fwd->vgg20190317block0_f3elu1_where0\n", "\n", "\n", "256x3x3\n", "\n", "\n", "\n", "vgg20190317block0_flatten0_flatten0\n", "\n", "vgg20190317block0_flatten0_flatten0\n", "\n", "\n", "\n", "vgg20190317block0_flatten0_flatten0->vgg20190317block0_f3pool0_fwd\n", "\n", "\n", "256x2x2\n", "\n", "\n", "\n", "vgg20190317block0_concat0\n", "\n", "vgg20190317block0_concat0\n", "\n", "\n", "\n", "vgg20190317block0_concat0->data0\n", "\n", "\n", "22\n", "\n", "\n", "\n", "vgg20190317block0_concat0->vgg20190317block0_flatten0_flatten0\n", "\n", "\n", "1024\n", "\n", "\n", "\n", "vgg20190317block0_fc-1weight\n", "\n", "vgg20190317block0_fc-1weight\n", "\n", "\n", "\n", "vgg20190317block0_fc-1bias\n", "\n", "vgg20190317block0_fc-1bias\n", "\n", "\n", "\n", "vgg20190317block0_fc-1fwd\n", "\n", "FullyConnected\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-1fwd->vgg20190317block0_concat0\n", "\n", "\n", "1046\n", "\n", "\n", "\n", "vgg20190317block0_fc-1fwd->vgg20190317block0_fc-1weight\n", "\n", "\n", "1046\n", "\n", "\n", "\n", "vgg20190317block0_fc-1fwd->vgg20190317block0_fc-1bias\n", "\n", "\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm0_fwd\n", "\n", "vgg20190317block0_batchnorm0_fwd\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm0_fwd->vgg20190317block0_fc-1fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0__greater_scalar0\n", "\n", "vgg20190317block0_elu0__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu0__greater_scalar0->vgg20190317block0_batchnorm0_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0_exp0\n", "\n", "vgg20190317block0_elu0_exp0\n", "\n", "\n", "\n", "vgg20190317block0_elu0_exp0->vgg20190317block0_batchnorm0_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0__minusscalar0\n", "\n", "vgg20190317block0_elu0__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu0__minusscalar0->vgg20190317block0_elu0_exp0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0__mulscalar0\n", "\n", "vgg20190317block0_elu0__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu0__mulscalar0->vgg20190317block0_elu0__minusscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0_where0\n", "\n", "vgg20190317block0_elu0_where0\n", "\n", "\n", "\n", "vgg20190317block0_elu0_where0->vgg20190317block0_batchnorm0_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0_where0->vgg20190317block0_elu0__greater_scalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu0_where0->vgg20190317block0_elu0__mulscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-2weight\n", "\n", "vgg20190317block0_fc-2weight\n", "\n", "\n", "\n", "vgg20190317block0_fc-2bias\n", "\n", "vgg20190317block0_fc-2bias\n", "\n", "\n", "\n", "vgg20190317block0_fc-2fwd\n", "\n", "FullyConnected\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-2fwd->vgg20190317block0_elu0_where0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-2fwd->vgg20190317block0_fc-2weight\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-2fwd->vgg20190317block0_fc-2bias\n", "\n", "\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm1_fwd\n", "\n", "vgg20190317block0_batchnorm1_fwd\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm1_fwd->vgg20190317block0_fc-2fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1__greater_scalar0\n", "\n", "vgg20190317block0_elu1__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu1__greater_scalar0->vgg20190317block0_batchnorm1_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1_exp0\n", "\n", "vgg20190317block0_elu1_exp0\n", "\n", "\n", "\n", "vgg20190317block0_elu1_exp0->vgg20190317block0_batchnorm1_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1__minusscalar0\n", "\n", "vgg20190317block0_elu1__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu1__minusscalar0->vgg20190317block0_elu1_exp0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1__mulscalar0\n", "\n", "vgg20190317block0_elu1__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu1__mulscalar0->vgg20190317block0_elu1__minusscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1_where0\n", "\n", "vgg20190317block0_elu1_where0\n", "\n", "\n", "\n", "vgg20190317block0_elu1_where0->vgg20190317block0_batchnorm1_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1_where0->vgg20190317block0_elu1__greater_scalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu1_where0->vgg20190317block0_elu1__mulscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-3weight\n", "\n", "vgg20190317block0_fc-3weight\n", "\n", "\n", "\n", "vgg20190317block0_fc-3bias\n", "\n", "vgg20190317block0_fc-3bias\n", "\n", "\n", "\n", "vgg20190317block0_fc-3fwd\n", "\n", "FullyConnected\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-3fwd->vgg20190317block0_elu1_where0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-3fwd->vgg20190317block0_fc-3weight\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_fc-3fwd->vgg20190317block0_fc-3bias\n", "\n", "\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm2_fwd\n", "\n", "vgg20190317block0_batchnorm2_fwd\n", "\n", "\n", "\n", "vgg20190317block0_batchnorm2_fwd->vgg20190317block0_fc-3fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2__greater_scalar0\n", "\n", "vgg20190317block0_elu2__greater_scalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu2__greater_scalar0->vgg20190317block0_batchnorm2_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2_exp0\n", "\n", "vgg20190317block0_elu2_exp0\n", "\n", "\n", "\n", "vgg20190317block0_elu2_exp0->vgg20190317block0_batchnorm2_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2__minusscalar0\n", "\n", "vgg20190317block0_elu2__minusscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu2__minusscalar0->vgg20190317block0_elu2_exp0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2__mulscalar0\n", "\n", "vgg20190317block0_elu2__mulscalar0\n", "\n", "\n", "\n", "vgg20190317block0_elu2__mulscalar0->vgg20190317block0_elu2__minusscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2_where0\n", "\n", "vgg20190317block0_elu2_where0\n", "\n", "\n", "\n", "vgg20190317block0_elu2_where0->vgg20190317block0_batchnorm2_fwd\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2_where0->vgg20190317block0_elu2__greater_scalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_elu2_where0->vgg20190317block0_elu2__mulscalar0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_predictionsweight\n", "\n", "vgg20190317block0_predictionsweight\n", "\n", "\n", "\n", "vgg20190317block0_predictionsbias\n", "\n", "vgg20190317block0_predictionsbias\n", "\n", "\n", "\n", "vgg20190317block0_predictionsfwd\n", "\n", "FullyConnected\n", "1\n", "\n", "\n", "\n", "vgg20190317block0_predictionsfwd->vgg20190317block0_elu2_where0\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_predictionsfwd->vgg20190317block0_predictionsweight\n", "\n", "\n", "512\n", "\n", "\n", "\n", "vgg20190317block0_predictionsfwd->vgg20190317block0_predictionsbias\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "digraph = mx.viz.plot_network(sym, shape={'data0':(593552, 22), 'data1': (593552, 7, 11, 11)}, node_attrs={\"fixedsize\":\"false\"})\n", "#digraph.view() # will create 'plot.gv.pdf'\n", "digraph" ] } ], "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }