(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 11.3' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 273749, 4995] NotebookOptionsPosition[ 270496, 4926] NotebookOutlinePosition[ 270901, 4943] CellTagsIndexPosition[ 270858, 4940] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Construction Notebook for:", FontSize->24], "\nSSD-VGG-300 Trained on PASCAL VOC Data" }], "Title"], Cell[CellGroupData[{ Cell["NetModel Access", "Subsection"], Cell[CellGroupData[{ Cell["This Notebook", "Subsubsection"], Cell[BoxData[ RowBox[{"NetModel", "[", RowBox[{ "\"\\"", ",", " ", "\"\\""}], "]"}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Untrained Net", "Subsubsection"], Cell[BoxData[ RowBox[{"NetModel", "[", RowBox[{ "\"\\"", ",", "\"\\""}], "]"}]], "Input", CellLabel->""] }, Open ]], Cell[CellGroupData[{ Cell["Trained Net", "Subsubsection"], Cell[BoxData[ RowBox[{"NetModel", "[", "\"\\"", "]"}]], "Input", CellLabel->""] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Net Construction", "Section"], Cell[CellGroupData[{ Cell["Internal Functions", "Subsection"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"conv1", "[", RowBox[{"n_", "?", "IntegerQ"}], "]"}], ":=", RowBox[{"Sequence", "[", "\n", " ", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"n", ",", "1", ",", RowBox[{"\"\\"", "->", "0"}], ",", RowBox[{"\"\\"", "->", "1"}]}], "]"}], ",", "\n", " ", "Ramp"}], "\n", "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"conv3", "[", RowBox[{"n_", "?", "IntegerQ"}], "]"}], ":=", RowBox[{"Sequence", "[", "\n", " ", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"n", ",", "3", ",", RowBox[{"\"\\"", "->", "1"}], ",", RowBox[{"\"\\"", "->", "1"}]}], "]"}], ",", "\n", " ", "Ramp"}], "\n", "]"}]}], ";"}]}], "Code", InitializationCell->False, CellLabel->"In[1]:="], Cell[BoxData[{ RowBox[{ RowBox[{"blockNet4", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "64", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "64", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"PoolingLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "2"}], "}"}], ",", RowBox[{"\"\\"", "->", "2"}]}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "128", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "128", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"PoolingLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "2"}], "}"}], ",", RowBox[{"\"\\"", "->", "2"}]}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "256", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "256", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "256", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"PaddingLayer", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"PoolingLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "2"}], "}"}], ",", RowBox[{"\"\\"", "->", "2"}]}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}]}], "\n", " ", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"blockNet7", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"PoolingLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "2"}], "}"}], ",", RowBox[{"\"\\"", "->", "2"}]}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv3", "[", "512", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"PoolingLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "->", "1"}], ",", RowBox[{"\"\\"", "->", "1"}]}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"1024", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "->", "6"}], ",", RowBox[{"\"\\"", "->", "6"}]}], "]"}], ",", "Ramp"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv1", "[", "1024", "]"}], "}"}]}]}], "\n", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"blockNet8", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv1", "[", "256", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"PaddingLayer", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], "}"}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"512", ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", " ", RowBox[{"\"\\"", "->", "2"}]}], "]"}], ",", "Ramp"}], "}"}]}]}], "\n", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"blockNet9", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv1", "[", "128", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"256", ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "->", "2"}], ",", RowBox[{"\"\\"", "->", "1"}]}], "]"}], ",", "Ramp"}], "}"}]}]}], "\n", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"blockNet10", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv1", "[", "128", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"256", ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}]}], "]"}], ",", "Ramp"}], "}"}]}]}], "\n", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"blockNet11", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"conv1", "[", "128", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"256", ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}]}], "]"}], ",", "Ramp"}], "}"}]}]}], "\n", "}"}], "]"}]}], ";"}]}], "Code", InitializationCell->False, CellLabel->"In[3]:="], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"numberOfAnchors_", ",", " ", "width_", ",", " ", "height_"}], " ", "]"}], " ", ":=", "\n", " ", RowBox[{"NetChain", "[", RowBox[{"{", " ", RowBox[{ RowBox[{"ConvolutionLayer", "[", " ", RowBox[{ RowBox[{"numberOfAnchors", "*", "21"}], ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", " ", RowBox[{"\"\\"", "->", "1"}]}], " ", "]"}], ",", RowBox[{"ReshapeLayer", "[", RowBox[{"{", RowBox[{"numberOfAnchors", ",", "21", ",", "height", ",", "width"}], "}"}], "]"}], ",", " ", RowBox[{"SoftmaxLayer", "[", "2", "]"}], ",", " ", RowBox[{"PartLayer", "[", RowBox[{"{", RowBox[{"All", ",", RowBox[{"2", ";;", "21"}], ",", "All", ",", "All"}], "}"}], "]"}]}], " ", "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"numberOfAnchors_", ",", " ", "width_", ",", " ", "height_"}], " ", "]"}], " ", ":=", "\n", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{"ConvolutionLayer", "[", " ", RowBox[{ RowBox[{"numberOfAnchors", "*", "4"}], ",", " ", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", " ", RowBox[{"\"\\"", "->", "1"}]}], " ", "]"}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"ReshapeLayer", "[", RowBox[{"{", RowBox[{"numberOfAnchors", ",", "4", ",", "height", ",", "width"}], "}"}], "]"}]}]}], "\n", " ", "}"}], ",", RowBox[{"{", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], "}"}]}], "]"}]}], ";"}]}], "Code", InitializationCell->False, CellLabel->"In[9]:="], Cell[BoxData[ RowBox[{ RowBox[{"channelNormalizationNet", " ", "=", " ", RowBox[{"NetChain", "[", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"TransposeLayer", "[", RowBox[{"1", "->", "3"}], "]"}], ",", "\n", " ", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"Log", "[", RowBox[{"Max", "[", RowBox[{ RowBox[{"#", "^", "2"}], ",", RowBox[{"10", "^", RowBox[{"-", "20"}]}]}], "]"}], "]"}], "&"}], "]"}], ",", RowBox[{"SoftmaxLayer", "[", "]"}], ",", "\n", " ", RowBox[{"ElementwiseLayer", "[", "Sqrt", "]"}], ",", RowBox[{"TransposeLayer", "[", RowBox[{"1", "->", "3"}], "]"}], ",", "\n", " ", RowBox[{"ConstantTimesLayer", "[", "]"}]}], "\n", "}"}], "]"}]}], ";"}]], "Code", InitializationCell->False, CellLabel->"In[11]:="], Cell[BoxData[{ RowBox[{ RowBox[{"multiBoxLayer1", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", "channelNormalizationNet"}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"4", ",", " ", "38", ",", " ", "38"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"4", ",", " ", "38", ",", " ", "38"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"multiBoxLayer2", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"6", ",", " ", "19", ",", " ", "19"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"6", ",", " ", "19", ",", " ", "19"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"multiBoxLayer3", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"6", ",", " ", "10", ",", " ", "10"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"6", ",", " ", "10", ",", " ", "10"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"multiBoxLayer4", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"6", ",", " ", "5", ",", " ", "5"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"6", ",", " ", "5", ",", " ", "5"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"multiBoxLayer5", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"4", ",", " ", "3", ",", " ", "3"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"4", ",", " ", "3", ",", " ", "3"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"multiBoxLayer6", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"multiBoxClassesDecoder", "[", " ", RowBox[{"4", ",", " ", "1", ",", " ", "1"}], " ", "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"multiBoxLocationDecoder", "[", " ", RowBox[{"4", ",", " ", "1", ",", " ", "1"}], " ", "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "}"}]}], "]"}]}], ";"}]}], "Code", InitializationCell->False, CellLabel->"In[12]:="], Cell[BoxData[ RowBox[{ RowBox[{"ssdConvNet", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", "blockNet4"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "blockNet7"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "blockNet8"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "blockNet9"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "blockNet10"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "blockNet11"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer1"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer2"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer3"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer4"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer5"}], ",", "\n", " ", RowBox[{"\"\\"", "->", "multiBoxLayer6"}]}], "\n", " ", "}"}], ",", "\n", " ", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", "\"\\""}]}]}]}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}], ",", "\n", " ", RowBox[{"\"\\"", "->", "\"\\""}]}], "\n", " ", "}"}]}], "]"}]}], ";"}]], "Code", InitializationCell->False, CellLabel->"In[18]:="], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ "This", " ", "can", " ", "reshape", " ", "both", " ", "class", " ", "and", " ", "location", " ", "types"}], " ", "*)"}], "\n", RowBox[{ RowBox[{ RowBox[{"shuffleLayer", "[", " ", RowBox[{"numberOfAnchors_", ",", " ", "height_", ",", " ", "width_"}], " ", "]"}], " ", ":=", "\n", " ", RowBox[{"NetChain", "[", " ", RowBox[{"{", RowBox[{ RowBox[{"TransposeLayer", "[", RowBox[{"{", RowBox[{ RowBox[{"2", "->", "4"}], ",", RowBox[{"1", "->", "3"}]}], "}"}], "]"}], ",", RowBox[{"FlattenLayer", "[", "2", "]"}]}], "}"}], " ", "]"}]}], ";"}]}]], "Code", InitializationCell->False, CellLabel->"In[19]:="], Cell[BoxData[ RowBox[{ RowBox[{"ssdFlatNet", " ", "=", " ", RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{"ssdConvNet", ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "38", ",", " ", "38"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "19", ",", " ", "19"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "10", ",", " ", "10"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "5", ",", " ", "5"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "3", ",", " ", "3"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "1", ",", " ", "1"}], " ", "]"}], ",", "\n", " ", RowBox[{"CatenateLayer", "[", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "38", ",", " ", "38"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "19", ",", " ", "19"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "10", ",", " ", "10"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"6", ",", " ", "5", ",", " ", "5"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "3", ",", " ", "3"}], " ", "]"}], ",", "\n", " ", RowBox[{"shuffleLayer", "[", " ", RowBox[{"4", ",", " ", "1", ",", " ", "1"}], " ", "]"}], ",", "\n", " ", RowBox[{"CatenateLayer", "[", "]"}]}], "}"}], ",", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "2"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "3"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "4"}], ",", "\n", " ", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "5"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "6"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "7"}], ",", "\n", " ", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "9"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "10"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "11"}], ",", "\n", " ", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "12"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "13"}], ",", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", "14"}], ",", " ", "\n", " ", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "4", ",", "5", ",", "6", ",", "7"}], "}"}], "->", "8"}], ",", RowBox[{ RowBox[{"{", RowBox[{"9", ",", "10", ",", "11", ",", "12", ",", "13", ",", "14"}], "}"}], "->", "15"}], ",", "\n", " ", RowBox[{"8", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", RowBox[{"15", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}], "\n", " ", "}"}]}], "]"}]}], ";"}]], "Code", InitializationCell->False, CellLabel->"In[20]:="], Cell[BoxData[ RowBox[{ RowBox[{"ssdLocsToBoxesNet", " ", "=", " ", RowBox[{"NetGraph", "[", " ", RowBox[{ RowBox[{"{", " ", RowBox[{"(*", RowBox[{"input", " ", "is", " ", "in", " ", "format", " ", RowBox[{"{", RowBox[{"Y", "*", "X", "*", "A"}], "}"}], "*", "4"}], "*)"}], "\n", " ", RowBox[{ RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"PartLayer", "[", RowBox[{"{", RowBox[{"All", ",", "1"}], "}"}], "]"}], ",", RowBox[{"ConstantTimesLayer", "[", "]"}], ",", RowBox[{"ConstantPlusLayer", "[", "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"#", "*", "300."}], "&"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"PartLayer", "[", RowBox[{"{", RowBox[{"All", ",", "2"}], "}"}], "]"}], ",", RowBox[{"ConstantTimesLayer", "[", "]"}], ",", RowBox[{"ConstantPlusLayer", "[", "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "#"}], ")"}], "*", "300."}], "&"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"PartLayer", "[", RowBox[{"{", RowBox[{"All", ",", "3"}], "}"}], "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"Exp", "[", RowBox[{"#", "*", "0.2"}], "]"}], "&"}], "]"}], ",", RowBox[{"ConstantTimesLayer", "[", "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"#", "*", "300."}], "&"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"{", RowBox[{ RowBox[{"PartLayer", "[", RowBox[{"{", RowBox[{"All", ",", "4"}], "}"}], "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"Exp", "[", RowBox[{"#", "*", "0.2"}], "]"}], "&"}], "]"}], ",", RowBox[{"ConstantTimesLayer", "[", "]"}], ",", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{"#", "*", "300."}], "&"}], "]"}]}], "}"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"ThreadingLayer", "[", RowBox[{ RowBox[{"#1", "-", RowBox[{"#2", "/", "2"}]}], "&"}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"ThreadingLayer", "[", RowBox[{ RowBox[{"#1", "-", RowBox[{"#2", "/", "2"}]}], "&"}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"ThreadingLayer", "[", RowBox[{ RowBox[{"#1", "+", RowBox[{"#2", "/", "2"}]}], "&"}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"ThreadingLayer", "[", RowBox[{ RowBox[{"#1", "+", RowBox[{"#2", "/", "2"}]}], "&"}], "]"}]}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"CatenateLayer", "[", "]"}]}], ",", RowBox[{"\"\\"", "->", RowBox[{"ReshapeLayer", "[", " ", RowBox[{"{", RowBox[{"4", ",", " ", "8732"}], "}"}], " ", "]"}]}], ",", " ", RowBox[{"\"\\"", "->", RowBox[{"TransposeLayer", "[", "]"}]}], ",", " ", RowBox[{"\"\\"", "->", RowBox[{"ReshapeLayer", "[", " ", RowBox[{"{", RowBox[{"8732", ",", " ", "2", ",", " ", "2"}], " ", "}"}], " ", "]"}]}]}], " ", "}"}], ",", " ", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], "->", "\"\\""}], ",", RowBox[{ RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], "->", "\"\\""}], ",", RowBox[{ RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], "->", "\"\\""}], ",", RowBox[{ RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], "->", "\"\\""}], ",", "\n", " ", RowBox[{ RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}], "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"\"\\"", "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}]}]}]}]}]}], "}"}]}], "]"}]}], ";"}]], "Code", InitializationCell->False, CellLabel->"In[21]:="], Cell[BoxData[ RowBox[{ RowBox[{"ssdNet", " ", "=", " ", RowBox[{"NetGraph", "[", " ", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{"ssdFlatNet", ",", "\n", " ", "ssdLocsToBoxesNet"}], " ", "}"}], ",", " ", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", RowBox[{"NetPort", "[", RowBox[{"2", ",", "\"\\""}], "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"NetEncoder", "[", RowBox[{"{", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"300", ",", "300"}], "}"}], ",", RowBox[{"\"\\"", "->", "\"\\""}], ",", RowBox[{"\"\\"", "->", RowBox[{ RowBox[{"{", RowBox[{"123", ",", "117", ",", "104"}], "}"}], "/", "255."}]}]}], "}"}], "]"}]}]}], "]"}]}], ";"}]], "Code", InitializationCell->False, CellLabel->"In[22]:="] }, Open ]], Cell[CellGroupData[{ Cell["Final Net", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ssdNet", " ", "=", " ", RowBox[{"NetGraph", "[", " ", RowBox[{ RowBox[{"{", "\n", " ", RowBox[{"ssdFlatNet", ",", "\n", " ", "ssdLocsToBoxesNet"}], " ", "}"}], ",", " ", RowBox[{"{", "\n", " ", RowBox[{ RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", RowBox[{"NetPort", "[", "\"\\"", "]"}]}], ",", "\n", " ", RowBox[{ RowBox[{"NetPort", "[", RowBox[{"1", ",", "\"\\""}], "]"}], "->", RowBox[{"NetPort", "[", RowBox[{"2", ",", "\"\\""}], "]"}]}]}], "}"}], ",", "\n", " ", RowBox[{"\"\\"", "->", RowBox[{"NetEncoder", "[", RowBox[{"{", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"300", ",", "300"}], "}"}], ",", RowBox[{"\"\\"", "->", "\"\\""}], ",", RowBox[{"\"\\"", "->", RowBox[{ RowBox[{"{", RowBox[{"123", ",", "117", ",", "104"}], "}"}], "/", "255."}]}]}], "}"}], "]"}]}]}], "]"}]}]], "Input", CellLabel->"In[23]:="], Cell[BoxData[ TagBox[ TemplateBox[{RowBox[{ StyleBox[ TagBox["NetGraph", "SummaryHead"], "NonInterpretableSummary"], StyleBox["[", "NonInterpretableSummary"], DynamicModuleBox[{Typeset`open = False}, PanelBox[ PaneSelectorBox[{False -> GridBox[{{ PaneBox[ ButtonBox[ DynamicBox[ FEPrivate`FrontEndResource[ "FEBitmaps", "SquarePlusIconMedium"]], ButtonFunction :> (Typeset`open = True), Appearance -> None, Evaluator -> Automatic, Method -> "Preemptive"], Alignment -> {Center, Center}, ImageSize -> {Automatic, 24}], OverlayBox[{ GraphicsBox[{ Thickness[0.0149], { GrayLevel[0.6], Thickness[0.03], Opacity[1.], JoinForm[{"Miter", 10.}], JoinedCurveBox[{{{1, 4, 3}}}, {{{18., 37.}, {18., 37.}, { 18.5, 27.5}, {35., 27.}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{50., 37.}, {50., 37.}, { 49.5, 27.5}, {33., 27.}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{18., 16.}, {18., 16.}, { 18.5, 25.5}, {35., 26.}}}, CurveClosed -> {0}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 40.5}, {22.5, 40.5}, {22.5, 33.5}, {15.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 41.}, {15., 41.}, { 15., 33.}, {23., 33.}}, {{22., 34.}, {16., 34.}, {16., 40.}, {22., 40.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 19.5}, {22.5, 19.5}, {22.5, 12.5}, {15.5, 12.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 20.}, {15., 20.}, { 15., 12.}, {23., 12.}}, {{22., 13.}, {16., 13.}, {16., 19.}, {22., 19.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 30.5, 30.5}, {37.5, 30.5}, {37.5, 23.5}, {30.5, 23.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{38., 31.}, {30., 31.}, { 30., 23.}, {38., 23.}}, {{37., 24.}, {31., 24.}, {31., 30.}, {37., 30.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 45.5, 40.5}, {52.5, 40.5}, {52.5, 33.5}, {45.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{53., 41.}, {45., 41.}, { 45., 33.}, {53., 33.}}, {{52., 34.}, {46., 34.}, {46., 40.}, {52., 40.}}}]}}, ImageMargins -> 0, ImageSize -> {36, Automatic}, PlotRangePadding -> 0, BaseStyle -> GrayLevel[0.6]], StyleBox["uninitialized", RGBColor[0.66, 0, 0], FontSize -> 8, FontFamily -> "Roboto", Background -> GrayLevel[1, 0.65]]}, Alignment -> {Center, Scaled[0.0001]}], GridBox[{{ StyleBox[ TemplateBox[{ TemplateBox[{ StyleBox["\"Input\"", GrayLevel[0], StripOnInput -> False], "\" \"", "\"port\""}, "RowDefault"], "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox["\"image\"", "SummaryItem"]}, { StyleBox[ TemplateBox[{"\"Number of outputs\"", "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox["2", "SummaryItem"]}, { StyleBox[ TemplateBox[{"\"Number of layers\"", "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox["2", "SummaryItem"]}}, BaselinePosition -> {2, 1}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridFrameMargins -> {{0, 0}, {0, 0}}, BaselinePosition -> {1, 3}], True -> GridBox[{{ PaneBox[ ButtonBox[ DynamicBox[ FEPrivate`FrontEndResource[ "FEBitmaps", "SquareMinusIconMedium"]], ButtonFunction :> (Typeset`open = False), Appearance -> None, Evaluator -> Automatic, Method -> "Preemptive"], Alignment -> {Center, Center}, ImageSize -> {Automatic, 24}], OverlayBox[{ GraphicsBox[{ Thickness[0.0149], { GrayLevel[0.6], Thickness[0.03], Opacity[1.], JoinForm[{"Miter", 10.}], JoinedCurveBox[{{{1, 4, 3}}}, {{{18., 37.}, {18., 37.}, { 18.5, 27.5}, {35., 27.}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{50., 37.}, {50., 37.}, { 49.5, 27.5}, {33., 27.}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{18., 16.}, {18., 16.}, { 18.5, 25.5}, {35., 26.}}}, CurveClosed -> {0}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 40.5}, {22.5, 40.5}, {22.5, 33.5}, {15.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 41.}, {15., 41.}, { 15., 33.}, {23., 33.}}, {{22., 34.}, {16., 34.}, {16., 40.}, {22., 40.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 19.5}, {22.5, 19.5}, {22.5, 12.5}, {15.5, 12.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 20.}, {15., 20.}, { 15., 12.}, {23., 12.}}, {{22., 13.}, {16., 13.}, {16., 19.}, {22., 19.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 30.5, 30.5}, {37.5, 30.5}, {37.5, 23.5}, {30.5, 23.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{38., 31.}, {30., 31.}, { 30., 23.}, {38., 23.}}, {{37., 24.}, {31., 24.}, {31., 30.}, {37., 30.}}}]}, { FaceForm[ GrayLevel[0.9]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 45.5, 40.5}, {52.5, 40.5}, {52.5, 33.5}, {45.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.6]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{53., 41.}, {45., 41.}, { 45., 33.}, {53., 33.}}, {{52., 34.}, {46., 34.}, {46., 40.}, {52., 40.}}}]}}, ImageMargins -> 0, ImageSize -> {36, Automatic}, PlotRangePadding -> 0, BaseStyle -> GrayLevel[0.6]], StyleBox["uninitialized", RGBColor[0.66, 0, 0], FontSize -> 8, FontFamily -> "Roboto", Background -> GrayLevel[1, 0.65]]}, Alignment -> {Center, Scaled[0.0001]}], GridBox[{{ DynamicModuleBox[{ NeuralNetworks`Private`NetGraph`selection = None}, GridBox[{{ TagBox[ GraphicsBox[{{ GrayLevel[0.7], { LineBox[{{-3., 1.8369701987210297`*^-16}, {-2., 1.2246467991473532`*^-16}}], LineBox[{{-2., 1.2246467991473532`*^-16}, {-1., -0.9999999999999999}}], LineBox[{{-2., 1.2246467991473532`*^-16}, {-1., 6.123233995736766*^-17}}], LineBox[{{-1., 6.123233995736766*^-17}, {0., 0.}}]}}, { InsetBox[ GraphicsBox[ StyleBox[ PolygonBox[{{-1., 0.3333333333333333}, {0., 0.}, {-1., -0.3333333333333333}, {-0.6666666666666666, 0.}, {-1., 0.3333333333333333}}], GrayLevel[0.7], StripOnInput -> False]], {-2.4000000000000004`, 1.4695761589768238`*^-16}, {-0.25, 0}, Offset[8], {1., -6.123233995736765*^-17}], InsetBox[ GraphicsBox[ StyleBox[ PolygonBox[{{-1., 0.3333333333333333}, {0., 0.}, {-1., -0.3333333333333333}, {-0.6666666666666666, 0.}, {-1., 0.3333333333333333}}], GrayLevel[0.7], StripOnInput -> False]], {-1.4, -0.5999999999999999}, {-0.25, 0}, Offset[8], {1., -1.}], InsetBox[ GraphicsBox[ StyleBox[ PolygonBox[{{-1., 0.3333333333333333}, {0., 0.}, {-1., -0.3333333333333333}, {-0.6666666666666666, 0.}, {-1., 0.3333333333333333}}], GrayLevel[0.7], StripOnInput -> False]], {-1.4, 8.572527594031473*^-17}, {-0.25, 0}, Offset[8], {1., -6.123233995736766*^-17}], InsetBox[ GraphicsBox[ StyleBox[ PolygonBox[{{-1., 0.3333333333333333}, {0., 0.}, {-1., -0.3333333333333333}, {-0.6666666666666666, 0.}, {-1., 0.3333333333333333}}], GrayLevel[0.7], StripOnInput -> False]], {-0.4, 2.4492935982947065`*^-17}, {-0.25, 0}, Offset[8], {1., -6.123233995736766*^-17}]}, { EdgeForm[ AbsoluteThickness[1]], FontSize -> 10, { TagBox[ TagBox[ TooltipBox[{ GrayLevel[0.85], EdgeForm[ GrayLevel[0.5]], DiskBox[{-3., 1.8369701987210297`*^-16}, Offset[{2, 2}]]}, TagBox[ GridBox[{{ StyleBox["\"Input\"", Bold, StripOnInput -> False]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Column"]], Annotation[#, Column[{ Style["Input", Bold]}], "Tooltip"]& ], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = 1), PassEventsUp -> False, Method -> "Preemptive", PassEventsDown -> Automatic}]], TagBox[ TagBox[ TooltipBox[{{ FaceForm[ RGBColor[ 0.9206666666666666, 0.7666666666666667, 0.7666666666666667]], EdgeForm[ RGBColor[0.881, 0.65, 0.65]], RectangleBox[ Offset[{-12, -12}, {-2., 1.2246467991473532`*^-16}], Offset[{12, 12}, {-2., 1.2246467991473532`*^-16}]]}, InsetBox[ GraphicsBox[{ Thickness[0.0149], { GrayLevel[0.5], Thickness[0.03], Opacity[1.], JoinForm[{"Miter", 10.}], JoinedCurveBox[{{{1, 4, 3}}}, {{{39.192120463394616`, 30.51535353195944}, {39.192120463394616`, 30.51535353195944}, {38.69442248591872, 35.17935629818005}, {28.246036107633145`, 35.21413676830481}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{39.335627149246974`, 22.022653388846493`}, {39.335627149246974`, 22.022653388846493`}, {39.028664759644585`, 18.313538367818456`}, {28.898905902765012`, 18.118321787764348`}}}, CurveClosed -> {0}]}, GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 40.5}, {22.5, 40.5}, {22.5, 33.5}, {15.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 41.}, {15., 41.}, { 15., 33.}, {23., 33.}}, {{22., 34.}, {16., 34.}, {16., 40.}, {22., 40.}}}]}}]}], {{{{1.6209767772132715`, 0.}, { 0., 1.302327038770047}}, {-8.296516058106576, \ -14.790162389666165`}}}], GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 19.5}, {22.5, 19.5}, {22.5, 12.5}, {15.5, 12.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 20.}, {15., 20.}, { 15., 12.}, {23., 12.}}, {{22., 13.}, {16., 13.}, {16., 19.}, {22., 19.}}}]}}]}], {{{{1.6446663930506598`, 0.}, { 0., 1.2828873028183188`}}, {-8.702521921403617, \ -2.012105908138385}}}], GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 30.5, 30.5}, {37.5, 30.5}, {37.5, 23.5}, {30.5, 23.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{38., 31.}, {30., 31.}, { 30., 23.}, {38., 23.}}, {{37., 24.}, {31., 24.}, {31., 30.}, {37., 30.}}}]}}]}], {{{{1.5182866155506958`, 0.}, { 0., 1.2065857650683098`}}, {-11.402865979580374`, \ -6.527851836053724}}}]}, PlotRange -> All, AspectRatio -> 1, PlotRangePadding -> 0, ImagePadding -> 0, ImageSize -> 15, ImageMargins -> 0., BaseStyle -> GrayLevel[0.4]], {-2., 1.2246467991473532`*^-16}]}, TagBox[ GridBox[{{ StyleBox["\"1\"", Bold, StripOnInput -> False]}, { StyleBox[ TagBox[ RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"\[LeftSkeleton]", "15", "\[RightSkeleton]"}], ",", RowBox[{"\[LeftSkeleton]", "27", "\[RightSkeleton]"}]}], "]"}], HoldForm], FontFamily -> "Source Code Pro", ShowStringCharacters -> True, StripOnInput -> False]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Column"]], Annotation[#, Column[{ Style["1", Bold], Style[ HoldForm[ NetGraph[ Skeleton[15], Skeleton[27]]], FontFamily -> "Source Code Pro", ShowStringCharacters -> True]}], "Tooltip"]& ], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = 2), PassEventsUp -> False, Method -> "Preemptive", PassEventsDown -> Automatic}]], TagBox[ TagBox[ TooltipBox[{ GrayLevel[0.85], EdgeForm[ GrayLevel[0.5]], DiskBox[{-1., -0.9999999999999999}, Offset[{2, 2}]]}, TagBox[ GridBox[{{ StyleBox["\"ClassProb\"", Bold, StripOnInput -> False]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Column"]], Annotation[#, Column[{ Style["ClassProb", Bold]}], "Tooltip"]& ], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = 3), PassEventsUp -> False, Method -> "Preemptive", PassEventsDown -> Automatic}]], TagBox[ TagBox[ TooltipBox[{{ FaceForm[ RGBColor[ 0.9206666666666666, 0.7666666666666667, 0.7666666666666667]], EdgeForm[ RGBColor[0.881, 0.65, 0.65]], RectangleBox[ Offset[{-12, -12}, {-1., 6.123233995736766*^-17}], Offset[{12, 12}, {-1., 6.123233995736766*^-17}]]}, InsetBox[ GraphicsBox[{ Thickness[0.0149], { GrayLevel[0.5], Thickness[0.03], Opacity[1.], JoinForm[{"Miter", 10.}], JoinedCurveBox[{{{1, 4, 3}}}, {{{39.192120463394616`, 30.51535353195944}, {39.192120463394616`, 30.51535353195944}, {38.69442248591872, 35.17935629818005}, {28.246036107633145`, 35.21413676830481}}}, CurveClosed -> {0}], JoinedCurveBox[{{{1, 4, 3}}}, {{{39.335627149246974`, 22.022653388846493`}, {39.335627149246974`, 22.022653388846493`}, {39.028664759644585`, 18.313538367818456`}, {28.898905902765012`, 18.118321787764348`}}}, CurveClosed -> {0}]}, GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 40.5}, {22.5, 40.5}, {22.5, 33.5}, {15.5, 33.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 41.}, {15., 41.}, { 15., 33.}, {23., 33.}}, {{22., 34.}, {16., 34.}, {16., 40.}, {22., 40.}}}]}}]}], {{{{1.6209767772132715`, 0.}, { 0., 1.302327038770047}}, {-8.296516058106576, \ -14.790162389666165`}}}], GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 15.5, 19.5}, {22.5, 19.5}, {22.5, 12.5}, {15.5, 12.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{23., 20.}, {15., 20.}, { 15., 12.}, {23., 12.}}, {{22., 13.}, {16., 13.}, {16., 19.}, {22., 19.}}}]}}]}], {{{{1.6446663930506598`, 0.}, { 0., 1.2828873028183188`}}, {-8.702521921403617, \ -2.012105908138385}}}], GeometricTransformationBox[ GraphicsGroupBox[{ Thickness[0.0149], GraphicsGroupBox[{{ FaceForm[ GrayLevel[0.7]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{ 30.5, 30.5}, {37.5, 30.5}, {37.5, 23.5}, {30.5, 23.5}}}]}, { FaceForm[ GrayLevel[0.4]], FilledCurveBox[{{{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}, {{0, 2, 0}, {0, 1, 0}, {0, 1, 0}}}, {{{38., 31.}, {30., 31.}, { 30., 23.}, {38., 23.}}, {{37., 24.}, {31., 24.}, {31., 30.}, {37., 30.}}}]}}]}], {{{{1.5182866155506958`, 0.}, { 0., 1.2065857650683098`}}, {-11.402865979580374`, \ -6.527851836053724}}}]}, PlotRange -> All, AspectRatio -> 1, PlotRangePadding -> 0, ImagePadding -> 0, ImageSize -> 15, ImageMargins -> 0., BaseStyle -> GrayLevel[0.4]], {-1., 6.123233995736766*^-17}]}, TagBox[ GridBox[{{ StyleBox["\"2\"", Bold, StripOnInput -> False]}, { StyleBox[ TagBox[ RowBox[{"NetGraph", "[", RowBox[{ RowBox[{"\[LeftSkeleton]", "12", "\[RightSkeleton]"}], ",", RowBox[{"\[LeftSkeleton]", "20", "\[RightSkeleton]"}]}], "]"}], HoldForm], FontFamily -> "Source Code Pro", ShowStringCharacters -> True, StripOnInput -> False]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Column"]], Annotation[#, Column[{ Style["2", Bold], Style[ HoldForm[ NetGraph[ Skeleton[12], Skeleton[20]]], FontFamily -> "Source Code Pro", ShowStringCharacters -> True]}], "Tooltip"]& ], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = 4), PassEventsUp -> False, Method -> "Preemptive", PassEventsDown -> Automatic}]], TagBox[ TagBox[ TooltipBox[{ GrayLevel[0.85], EdgeForm[ GrayLevel[0.5]], DiskBox[{0., 0.}, Offset[{2, 2}]]}, TagBox[ GridBox[{{ StyleBox["\"Boxes\"", Bold, StripOnInput -> False]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Column"]], Annotation[#, Column[{ Style["Boxes", Bold]}], "Tooltip"]& ], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = 5), PassEventsUp -> False, Method -> "Preemptive", PassEventsDown -> Automatic}]]}}, { StyleBox[{{ InsetBox[ FormBox["\"Input\"", TraditionalForm], Offset[{0, -7}, {-3., 1.8369701987210297`*^-16}], {0, 1.}, Automatic, {1, 0}], InsetBox[ FormBox["\"1\"", TraditionalForm], Offset[{0, -15}, {-2., 1.2246467991473532`*^-16}], { 0, 1.}, Automatic, {1, 0}], InsetBox[ FormBox["\"ClassProb\"", TraditionalForm], Offset[{0, -7}, {-1., -0.9999999999999999}], {0, 1.}, Automatic, {1, 0}], InsetBox[ FormBox["\"2\"", TraditionalForm], Offset[{0, -15}, {-1., 6.123233995736766*^-17}], {0, 1.}, Automatic, {1, 0}], InsetBox[ FormBox["\"Boxes\"", TraditionalForm], Offset[{0, -7}, {0., 0.}], {0, 1.}, Automatic, {1, 0}]}}, FontColor -> GrayLevel[0.5], StripOnInput -> False], StyleBox[{ InsetBox[ FormBox[ TemplateBox[{ "\[Cross]", "\"\[Cross]\"", "\"3\"", "\"300\"", "\"300\""}, "RowWithSeparators"], TraditionalForm], Offset[{3.3677786976552205`*^-16, 5.5}, {-2.4000000000000004`, 1.4695761589768238`*^-16}], { 0., -0.17}, Automatic, {1., -6.123233995736765*^-17}], InsetBox[ FormBox[ TemplateBox[{ "\[Cross]", "\"\[Cross]\"", "\"8732\"", "\"20\""}, "RowWithSeparators"], TraditionalForm], Offset[{3.889087296526011, 3.889087296526011}, {-1.4, -0.5999999999999999}], { 0., -0.17}, Automatic, { 0.7071067811865475, -0.7071067811865475}], InsetBox[ FormBox[ TemplateBox[{ "\[Cross]", "\"\[Cross]\"", "\"8732\"", "\"4\""}, "RowWithSeparators"], TraditionalForm], Offset[{3.3677786976552215`*^-16, 5.5}, {-1.4, 8.572527594031473*^-17}], {0., -0.17}, Automatic, { 1., -6.123233995736766*^-17}], InsetBox[ FormBox[ TemplateBox[{ "\[Cross]", "\"\[Cross]\"", "\"8732\"", "\"2\"", "\"2\""}, "RowWithSeparators"], TraditionalForm], Offset[{3.3677786976552215`*^-16, 5.5}, {-0.4, 2.4492935982947065`*^-17}], {0., -0.17}, Automatic, { 1., -6.123233995736766*^-17}]}, FontColor -> GrayLevel[0.7], FontSize -> 8, FontWeight -> "Thin", StripOnInput -> False]}, { FaceForm[None], EdgeForm[{ Dashing[{0, Small}], GrayLevel[0.5], Thickness[Large]}], PolygonBox[ Dynamic[ If[ Not[ IntegerQ[NeuralNetworks`Private`NetGraph`selection]], {}, GeneralUtilities`Graphics`PackagePrivate`makeOffsetSquare[ Part[{{-3., 1.8369701987210297`*^-16}, {-2., 1.2246467991473532`*^-16}, {-1., -0.9999999999999999}, \ {-1., 6.123233995736766*^-17}, {0., 0.}}, NeuralNetworks`Private`NetGraph`selection], 3 + {0.5, 0.5} Part[{8, 24, 8, 24, 8}, NeuralNetworks`Private`NetGraph`selection], {-0.5, 0.5}]]]]}}, ImageSize -> {221., 101.}, AspectRatio -> Full, PlotRangePadding -> 0, ImagePadding -> {{28., 28.}, {28., 18.}}, ImageMargins -> {{0, 0}, {0, 0}}, BaseStyle -> { TooltipBoxOptions -> {TooltipDelay -> 0.08}}], EventHandlerTag[{ "MouseClicked" :> ( NeuralNetworks`Private`NetGraph`selection = None), Method -> "Preemptive", PassEventsDown -> Automatic, PassEventsUp -> True}]]}, { DynamicBox[ If[ IntegerQ[NeuralNetworks`Private`NetGraph`selection], NeuralNetworks`Private`NetGraph`vpathInfo[ Part[{ NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "1"], NeuralNetworks`NetPath["Outputs", "ClassProb"], NeuralNetworks`NetPath["Nodes", "2"], NeuralNetworks`NetPath["Outputs", "Boxes"]}, NeuralNetworks`Private`NetGraph`selection], Association["Input" -> NetEncoder["Image", Association[ "ImageSize" -> {300, 300}, "ColorSpace" -> "RGB", "ColorChannels" -> 3, "MeanImage" -> {0.4823529411764706, 0.4588235294117647, 0.40784313725490196`}, "VarianceImage" -> None], NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]]], Association[ "ClassProb" -> NeuralNetworks`TensorT[{8732, 20}, NeuralNetworks`RealT], "Boxes" -> NeuralNetworks`TensorT[{8732, 2, 2}, NeuralNetworks`RealT]], Association[ "1" -> Association[ "Type" -> "Graph", "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association[ "ClassProb" -> NeuralNetworks`TensorT[{8732, 20}, NeuralNetworks`RealT], "Locs" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Nodes" -> Association[ "1" -> Association[ "Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb1" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT], "Locs1" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT], "ClassProb2" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT], "Locs2" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT], "ClassProb3" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT], "Locs3" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT], "ClassProb4" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT], "Locs4" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT], "ClassProb5" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT], "Locs5" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT], "ClassProb6" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT], "Locs6" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]], "Nodes" -> Association["blockNet4" -> Association["Type" -> "Chain", "Nodes" -> Association["conv1a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{64, 3, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{64}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 64, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 3, "$InputSize" -> {300, 300}, "$OutputSize" -> {300, 300}, "$WeightsInputChannels" -> 3], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 300, 300}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]], "conv1b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{64, 64, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{64}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 64, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 64, "$InputSize" -> {300, 300}, "$OutputSize" -> {300, 300}, "$WeightsInputChannels" -> 64], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 300, 300}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]]], "pool1" -> Association["Type" -> "Pooling", "Arrays" -> Association[], "Parameters" -> Association["KernelSize" -> {2, 2}, "Stride" -> {2, 2}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Function" -> Max, "Dimensionality" -> 2, "Interleaving" -> False, "$Channels" -> 64, "$InputSize" -> {300, 300}, "$OutputSize" -> {150, 150}, "$MXPoolingConvention" -> "valid", "$MXGlobalPool" -> False], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{64, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{64, 150, 150}, NeuralNetworks`RealT]]], "conv2a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{128, 64, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{128}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 128, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 64, "$InputSize" -> {150, 150}, "$OutputSize" -> {150, 150}, "$WeightsInputChannels" -> 64], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 150, 150}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{64, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]], "conv2b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{128, 128, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{128}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 128, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 128, "$InputSize" -> {150, 150}, "$OutputSize" -> {150, 150}, "$WeightsInputChannels" -> 128], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 150, 150}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]]], "pool2" -> Association["Type" -> "Pooling", "Arrays" -> Association[], "Parameters" -> Association["KernelSize" -> {2, 2}, "Stride" -> {2, 2}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Function" -> Max, "Dimensionality" -> 2, "Interleaving" -> False, "$Channels" -> 128, "$InputSize" -> {150, 150}, "$OutputSize" -> {75, 75}, "$MXPoolingConvention" -> "valid", "$MXGlobalPool" -> False], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 150, 150}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 75, 75}, NeuralNetworks`RealT]]], "conv3a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 128, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 128, "$InputSize" -> {75, 75}, "$OutputSize" -> {75, 75}, "$WeightsInputChannels" -> 128], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 75, 75}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "conv3b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {75, 75}, "$OutputSize" -> {75, 75}, "$WeightsInputChannels" -> 256], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 75, 75}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "conv3c" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {75, 75}, "$OutputSize" -> {75, 75}, "$WeightsInputChannels" -> 256], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 75, 75}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]]], "pool3" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Padding", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> {{0, 0}, {0, 1}, {0, 1}}, "Padding" -> 0., "$Rank" -> 3, "$InputSize" -> {256, 75, 75}, "$OutputSize" -> {256, 76, 76}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 76, 76}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Pooling", "Arrays" -> Association[], "Parameters" -> Association["KernelSize" -> {2, 2}, "Stride" -> {2, 2}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Function" -> Max, "Dimensionality" -> 2, "Interleaving" -> False, "$Channels" -> 256, "$InputSize" -> {76, 76}, "$OutputSize" -> {38, 38}, "$MXPoolingConvention" -> "valid", "$MXGlobalPool" -> False], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 76, 76}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 75, 75}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 38, 38}, NeuralNetworks`RealT]]], "conv4a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {38, 38}, "$OutputSize" -> {38, 38}, "$WeightsInputChannels" -> 256], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 38, 38}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "conv4b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {38, 38}, "$OutputSize" -> {38, 38}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 38, 38}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "conv4c" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {38, 38}, "$OutputSize" -> {38, 38}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 38, 38}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "conv1a", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "conv1b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv1a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "pool1", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv1b", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv2a", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pool1", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv2b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv2a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "pool2", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv2b", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv3a", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pool2", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv3b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv3a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv3c", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv3b", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "pool3", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv3c", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv4a", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pool3", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv4b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv4a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv4c", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv4b", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv4c", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{3, 300, 300}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "blockNet7" -> Association["Type" -> "Chain", "Nodes" -> Association["pool4" -> Association["Type" -> "Pooling", "Arrays" -> Association[], "Parameters" -> Association["KernelSize" -> {2, 2}, "Stride" -> {2, 2}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Function" -> Max, "Dimensionality" -> 2, "Interleaving" -> False, "$Channels" -> 512, "$InputSize" -> {38, 38}, "$OutputSize" -> {19, 19}, "$MXPoolingConvention" -> "valid", "$MXGlobalPool" -> False], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "conv5a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "conv5b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "conv5c" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "pool5" -> Association["Type" -> "Pooling", "Arrays" -> Association[], "Parameters" -> Association["KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Function" -> Max, "Dimensionality" -> 2, "Interleaving" -> False, "$Channels" -> 512, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$MXPoolingConvention" -> "valid", "$MXGlobalPool" -> False], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]]], "conv6" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{1024, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 1024, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{6, 6}, {6, 6}}, "Dilation" -> {6, 6}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {1024, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]], "conv7" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{1024, 1024, 1, 1}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 1024, "KernelSize" -> {1, 1}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 1024, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 1024], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {1024, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "pool4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "conv5a", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pool4", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv5b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv5a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv5c", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv5b", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "pool5", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv5c", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv6", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pool5", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv7", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv6", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv7", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]]], "blockNet8" -> Association["Type" -> "Chain", "Nodes" -> Association["conv8a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 1024, 1, 1}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {1, 1}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 1024, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 1024], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 19, 19}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 19, 19}, NeuralNetworks`RealT]]], "pad2" -> Association["Type" -> "Padding", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> {{0, 0}, {1, 1}, {1, 1}}, "Padding" -> 0., "$Rank" -> 3, "$InputSize" -> {256, 19, 19}, "$OutputSize" -> {256, 21, 21}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 21, 21}, NeuralNetworks`RealT]]], "conv8b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{512, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 512, "KernelSize" -> {3, 3}, "Stride" -> {2, 2}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {21, 21}, "$OutputSize" -> {10, 10}, "$WeightsInputChannels" -> 256], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 21, 21}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 10, 10}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 21, 21}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "conv8a", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "pad2", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv8a", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "conv8b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "pad2", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv8b", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]]], "blockNet9" -> Association["Type" -> "Chain", "Nodes" -> Association["conv9a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{128, 512, 1, 1}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{128}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 128, "KernelSize" -> {1, 1}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {10, 10}, "$OutputSize" -> {10, 10}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 10, 10}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]]], "conv9b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 128, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {2, 2}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 128, "$InputSize" -> {10, 10}, "$OutputSize" -> {5, 5}, "$WeightsInputChannels" -> 128], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 5, 5}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "conv9a", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "conv9b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv9a", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv9b", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]]], "multiboxLayer4" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb4" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT], "Locs4" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT]], "Nodes" -> Association["multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{126, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{126}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 126, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {5, 5}, "$OutputSize" -> {5, 5}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{126, 5, 5}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 21, 5, 5}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{126, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 5, 5}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 5, 5}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT]]], "multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{24, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{24}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 24, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {5, 5}, "$OutputSize" -> {5, 5}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 5, 5}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 4, 5, 5}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{24, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "ClassProb4"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Locs4"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"]}], "multiboxLayer1" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb1" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT], "Locs1" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT]], "Nodes" -> Association["channelNorm1" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[ TwoWayRule[1, 3]]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[4], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Power, NeuralNetworks`Private`ScalarSymbol[1], 2.}, NeuralNetworks`Private`ScalarSymbol[3] -> {Max, 1.*^-20, NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4] -> {Log, NeuralNetworks`Private`ScalarSymbol[3]}]]], "$Dimensions" -> {38, 38, 512}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> -1], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Sqrt], "$Dimensions" -> {38, 38, 512}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]]], "5" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[ TwoWayRule[1, 3]]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{38, 38, 512}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "6" -> Association["Type" -> "ConstantTimes", "Arrays" -> Association["Scaling" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {512, 38, 38}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "5", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "4", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "6", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "5", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "6", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]]], "multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{84, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{84}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 84, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {38, 38}, "$OutputSize" -> {38, 38}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{84, 38, 38}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 21, 38, 38}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{84, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 21, 38, 38}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 21, 38, 38}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT]]], "multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{16, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{16}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 16, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {38, 38}, "$OutputSize" -> {38, 38}, "$WeightsInputChannels" -> 512], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 38, 38}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 4, 38, 38}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{16, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "channelNorm1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "channelNorm1", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "channelNorm1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb1"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Locs1"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"]}], "multiboxLayer2" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb2" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT], "Locs2" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT]], "Nodes" -> Association["multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{24, 1024, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{24}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 24, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 1024, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 1024], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 19, 19}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 4, 19, 19}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{24, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}], "multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{126, 1024, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{126}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 126, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 1024, "$InputSize" -> {19, 19}, "$OutputSize" -> {19, 19}, "$WeightsInputChannels" -> 1024], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{126, 19, 19}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 21, 19, 19}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{126, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 19, 19}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 19, 19}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{1024, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Locs2"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb2"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"]}], "blockNet10" -> Association[ "Type" -> "Chain", "Nodes" -> Association["conv10a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{128, 256, 1, 1}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{128}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 128, "KernelSize" -> {1, 1}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {5, 5}, "$OutputSize" -> {5, 5}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 5, 5}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]]], "conv10b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 128, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 128, "$InputSize" -> {5, 5}, "$OutputSize" -> {3, 3}, "$WeightsInputChannels" -> 128], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 3, 3}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "conv10a", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "conv10b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv10a", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv10b", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]]], "multiboxLayer5" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb5" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT], "Locs5" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT]], "Nodes" -> Association["multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{84, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{84}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 84, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {3, 3}, "$OutputSize" -> {3, 3}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{84, 3, 3}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 21, 3, 3}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{84, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{4, 21, 3, 3}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 21, 3, 3}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT]]], "multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{16, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{16}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 16, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {3, 3}, "$OutputSize" -> {3, 3}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 3, 3}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 4, 3, 3}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{16, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "ClassProb5"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Locs5"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"]}], "blockNet11" -> Association[ "Type" -> "Chain", "Nodes" -> Association["conv11a" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{128, 256, 1, 1}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{128}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 128, "KernelSize" -> {1, 1}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {3, 3}, "$OutputSize" -> {3, 3}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 3, 3}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]]], "conv11b" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{256, 128, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 256, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{0, 0}, {0, 0}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 128, "$InputSize" -> {3, 3}, "$OutputSize" -> {1, 1}, "$WeightsInputChannels" -> 128], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 1, 1}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{128, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "conv11a", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "conv11b", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "conv11a", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "conv11b", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]]], "multiboxLayer6" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb6" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT], "Locs6" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]], "Nodes" -> Association["multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{16, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{16}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 16, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {1, 1}, "$OutputSize" -> {1, 1}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{16, 1, 1}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 4, 1, 1}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{16, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}], "multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{84, 256, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{84}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 84, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 256, "$InputSize" -> {1, 1}, "$OutputSize" -> {1, 1}, "$WeightsInputChannels" -> 256], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{84, 1, 1}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 21, 1, 1}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{84, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{4, 21, 1, 1}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 21, 1, 1}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 21, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{256, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Locs6"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb6"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"]}], "multiboxLayer3" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["ClassProb3" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT], "Locs3" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT]], "Nodes" -> Association["multiboxClasses" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{126, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{126}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 126, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {10, 10}, "$OutputSize" -> {10, 10}, "$WeightsInputChannels" -> 512], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{126, 10, 10}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 21, 10, 10}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{126, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 10, 10}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "Softmax", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 21, 10, 10}, NeuralNetworks`RealT]]], "4" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], Span[2, 21], Span[1, -1], Span[1, -1]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 21, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT]]], "multiboxLocs" -> Association["Type" -> "Graph", "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT]], "Nodes" -> Association["convloc" -> Association["Type" -> "Chain", "Nodes" -> Association["1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association["Weights" -> NeuralNetworks`TensorT[{24, 512, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{24}, NeuralNetworks`RealT]]], "Parameters" -> Association["OutputChannels" -> 24, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {{1, 1}, {1, 1}}, "Dilation" -> {1, 1}, "ChannelGroups" -> 1, "Dimensionality" -> 2, "Interleaving" -> False, "$InputChannels" -> 512, "$InputSize" -> {10, 10}, "$OutputSize" -> {10, 10}, "$WeightsInputChannels" -> 512], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{24, 10, 10}, NeuralNetworks`RealT]]], "reshape" -> Association["Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{6, 4, 10, 10}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{24, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "convloc", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "convloc", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"]}]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Outputs", "ClassProb3"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxClasses", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Locs3"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLocs", "Outputs", "Output"]}]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "blockNet4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "blockNet7", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet4", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer1", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet4", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "blockNet8", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet7", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer2", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet7", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "blockNet9", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet8", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer3", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet8", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "blockNet10", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet9", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer4", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet9", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb4"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer4", "Outputs", "ClassProb4"], NeuralNetworks`NetPath["Outputs", "Locs4"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer4", "Outputs", "Locs4"], NeuralNetworks`NetPath["Outputs", "ClassProb1"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer1", "Outputs", "ClassProb1"], NeuralNetworks`NetPath["Outputs", "Locs1"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer1", "Outputs", "Locs1"], NeuralNetworks`NetPath["Outputs", "ClassProb2"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer2", "Outputs", "ClassProb2"], NeuralNetworks`NetPath["Outputs", "Locs2"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer2", "Outputs", "Locs2"], NeuralNetworks`NetPath[ "Nodes", "blockNet11", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet10", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer5", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet10", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb5"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer5", "Outputs", "ClassProb5"], NeuralNetworks`NetPath["Outputs", "Locs5"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer5", "Outputs", "Locs5"], NeuralNetworks`NetPath[ "Nodes", "multiboxLayer6", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "blockNet11", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb6"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer6", "Outputs", "ClassProb6"], NeuralNetworks`NetPath["Outputs", "Locs6"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer6", "Outputs", "Locs6"], NeuralNetworks`NetPath["Outputs", "ClassProb3"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer3", "Outputs", "ClassProb3"], NeuralNetworks`NetPath["Outputs", "Locs3"] -> NeuralNetworks`NetPath[ "Nodes", "multiboxLayer3", "Outputs", "Locs3"]}], "2" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 4, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{38, 38, 4, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5776, 20}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5776, 20}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{19, 19, 6, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{19, 19, 6, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{2166, 20}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{2166, 20}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{10, 10, 6, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{10, 10, 6, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{600, 20}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{600, 20}, NeuralNetworks`RealT]]], "5" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5, 5, 6, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{5, 5, 6, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{150, 20}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 20, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{150, 20}, NeuralNetworks`RealT]]], "6" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{3, 3, 4, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{3, 3, 4, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{36, 20}, NeuralNetworks`RealT]]]], "Edges" -> { NeuralNetworks`NetPath["Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{36, 20}, NeuralNetworks`RealT]]], "7" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1, 1, 4, 20}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 1, 4, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 20, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 20}, NeuralNetworks`RealT]]], "8" -> Association[ "Type" -> "Catenate", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 1], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{5776, 20}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{2166, 20}, NeuralNetworks`RealT], "3" -> NeuralNetworks`TensorT[{600, 20}, NeuralNetworks`RealT], "4" -> NeuralNetworks`TensorT[{150, 20}, NeuralNetworks`RealT], "5" -> NeuralNetworks`TensorT[{36, 20}, NeuralNetworks`RealT], "6" -> NeuralNetworks`TensorT[{4, 20}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732, 20}, NeuralNetworks`RealT]]], "9" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{38, 38, 4, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{38, 38, 4, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5776, 4}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 38, 38}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5776, 4}, NeuralNetworks`RealT]]], "10" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{19, 19, 6, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{19, 19, 6, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{2166, 4}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 19, 19}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{2166, 4}, NeuralNetworks`RealT]]], "11" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{10, 10, 6, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{10, 10, 6, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{600, 4}, NeuralNetworks`RealT]]]], "Edges" -> { NeuralNetworks`NetPath["Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 10, 10}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{600, 4}, NeuralNetworks`RealT]]], "12" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{5, 5, 6, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{5, 5, 6, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{150, 4}, NeuralNetworks`RealT]]]], "Edges" -> { NeuralNetworks`NetPath["Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{6, 4, 5, 5}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{150, 4}, NeuralNetworks`RealT]]], "13" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{3, 3, 4, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{3, 3, 4, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{36, 4}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 3, 3}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{36, 4}, NeuralNetworks`RealT]]], "14" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[{ TwoWayRule[2, 4], TwoWayRule[1, 3]}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{1, 1, 4, 4}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 2], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 1, 4, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "2", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 4, 1, 1}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{4, 4}, NeuralNetworks`RealT]]], "15" -> Association[ "Type" -> "Catenate", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 1], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{5776, 4}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{2166, 4}, NeuralNetworks`RealT], "3" -> NeuralNetworks`TensorT[{600, 4}, NeuralNetworks`RealT], "4" -> NeuralNetworks`TensorT[{150, 4}, NeuralNetworks`RealT], "5" -> NeuralNetworks`TensorT[{36, 4}, NeuralNetworks`RealT], "6" -> NeuralNetworks`TensorT[{4, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]]]], "Edges" -> { NeuralNetworks`NetPath["Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "10", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs2"], NeuralNetworks`NetPath["Nodes", "11", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs3"], NeuralNetworks`NetPath["Nodes", "12", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs4"], NeuralNetworks`NetPath["Nodes", "13", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs5"], NeuralNetworks`NetPath["Nodes", "14", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs6"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb1"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb2"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb3"], NeuralNetworks`NetPath["Nodes", "5", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb4"], NeuralNetworks`NetPath["Nodes", "6", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb5"], NeuralNetworks`NetPath["Nodes", "7", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "1", "Outputs", "ClassProb6"], NeuralNetworks`NetPath["Nodes", "9", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Locs1"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "1"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "2"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "3"] -> NeuralNetworks`NetPath["Nodes", "4", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "4"] -> NeuralNetworks`NetPath["Nodes", "5", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "5"] -> NeuralNetworks`NetPath["Nodes", "6", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "6"] -> NeuralNetworks`NetPath["Nodes", "7", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "ClassProb"] -> NeuralNetworks`NetPath["Nodes", "8", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "1"] -> NeuralNetworks`NetPath["Nodes", "9", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "10", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "3"] -> NeuralNetworks`NetPath[ "Nodes", "11", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "4"] -> NeuralNetworks`NetPath[ "Nodes", "12", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "5"] -> NeuralNetworks`NetPath[ "Nodes", "13", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "6"] -> NeuralNetworks`NetPath[ "Nodes", "14", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Locs"] -> NeuralNetworks`NetPath[ "Nodes", "15", "Outputs", "Output"]}], "2" -> Association[ "Type" -> "Graph", "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Boxes" -> NeuralNetworks`TensorT[{8732, 2, 2}, NeuralNetworks`RealT]], "Nodes" -> Association[ "cx" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], 1}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "ConstantTimes", "Arrays" -> Association["Scaling" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "ConstantPlus", "Arrays" -> Association["Biases" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[2], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Times, 300., NeuralNetworks`Private`ScalarSymbol[1]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "width" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], 3}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Times, 0.2, NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3] -> {Exp, NeuralNetworks`Private`ScalarSymbol[2]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "ConstantTimes", "Arrays" -> Association["Scaling" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[2], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Times, 300., NeuralNetworks`Private`ScalarSymbol[1]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "minx" -> Association[ "Type" -> "Threading", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4], Association[ NeuralNetworks`Private`ScalarSymbol[3] -> {Times, 0.5, NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4] -> {Subtract, NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[3]}]]]], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "cy" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], 2}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "ConstantTimes", "Arrays" -> Association["Scaling" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "ConstantPlus", "Arrays" -> Association["Biases" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Subtract, 1., NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3] -> {Times, 300., NeuralNetworks`Private`ScalarSymbol[2]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "height" -> Association[ "Type" -> "Chain", "Nodes" -> Association["1" -> Association["Type" -> "Part", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Span[1, -1], 4}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "2" -> Association["Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Times, 0.2, NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3] -> {Exp, NeuralNetworks`Private`ScalarSymbol[2]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "3" -> Association["Type" -> "ConstantTimes", "Arrays" -> Association["Scaling" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Parameters" -> Association["Dimensions" -> {8732}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[2], Association[ NeuralNetworks`Private`ScalarSymbol[2] -> {Times, 300., NeuralNetworks`Private`ScalarSymbol[1]}]]], "$Dimensions" -> {8732}], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]]], "Edges" -> {NeuralNetworks`NetPath[ "Nodes", "1", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "2", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "1", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "3", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "2", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "4", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "3", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "4", "Outputs", "Output"]}, "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "miny" -> Association[ "Type" -> "Threading", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4], Association[ NeuralNetworks`Private`ScalarSymbol[3] -> {Times, 0.5, NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4] -> {Subtract, NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[3]}]]]], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "maxx" -> Association[ "Type" -> "Threading", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4], Association[ NeuralNetworks`Private`ScalarSymbol[3] -> {Times, 0.5, NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4] -> {Plus, NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[3]}]]]], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "maxy" -> Association[ "Type" -> "Threading", "Arrays" -> Association[], "Parameters" -> Association["Function" -> NeuralNetworks`ValidatedParameter[ NeuralNetworks`Private`ScalarFunctionObject[{ NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4], Association[ NeuralNetworks`Private`ScalarSymbol[3] -> {Times, 0.5, NeuralNetworks`Private`ScalarSymbol[2]}, NeuralNetworks`Private`ScalarSymbol[4] -> {Plus, NeuralNetworks`Private`ScalarSymbol[1], NeuralNetworks`Private`ScalarSymbol[3]}]]]], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]]], "cat" -> Association[ "Type" -> "Catenate", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 1], "Inputs" -> Association["1" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "2" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "3" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT], "4" -> NeuralNetworks`TensorT[{8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{34928}, NeuralNetworks`RealT]]], "reshape" -> Association[ "Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{4, 8732}]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{34928}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{4, 8732}, NeuralNetworks`RealT]]], "transpose" -> Association[ "Type" -> "Transpose", "Arrays" -> Association[], "Parameters" -> Association["Specification" -> NeuralNetworks`ValidatedParameter[ TwoWayRule[1, 2]]], "Inputs" -> Association["Input" -> NeuralNetworks`TensorT[{4, 8732}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]]], "reshapePoint" -> Association[ "Type" -> "Reshape", "Arrays" -> Association[], "Parameters" -> Association["Dimensions" -> NeuralNetworks`ValidatedParameter[{8732, 2, 2}]], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{8732, 4}, NeuralNetworks`RealT]], "Outputs" -> Association["Output" -> NeuralNetworks`TensorT[{8732, 2, 2}, NeuralNetworks`RealT]]]], "Edges" -> { NeuralNetworks`NetPath["Nodes", "cx", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "cy", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "height", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath[ "Nodes", "width", "Inputs", "Input"] -> NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "maxx", "Inputs", "1"] -> NeuralNetworks`NetPath[ "Nodes", "cx", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "minx", "Inputs", "1"] -> NeuralNetworks`NetPath[ "Nodes", "cx", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "maxx", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "width", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "minx", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "width", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "cat", "Inputs", "1"] -> NeuralNetworks`NetPath[ "Nodes", "minx", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "maxy", "Inputs", "1"] -> NeuralNetworks`NetPath[ "Nodes", "cy", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "miny", "Inputs", "1"] -> NeuralNetworks`NetPath[ "Nodes", "cy", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "maxy", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "height", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "miny", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "height", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "cat", "Inputs", "2"] -> NeuralNetworks`NetPath[ "Nodes", "miny", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "cat", "Inputs", "3"] -> NeuralNetworks`NetPath[ "Nodes", "maxx", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "cat", "Inputs", "4"] -> NeuralNetworks`NetPath[ "Nodes", "maxy", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "reshape", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "cat", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "transpose", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "reshape", "Outputs", "Output"], NeuralNetworks`NetPath[ "Nodes", "reshapePoint", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "transpose", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Boxes"] -> NeuralNetworks`NetPath[ "Nodes", "reshapePoint", "Outputs", "Output"]}]]], GridBox[{{ ItemBox[ StyleBox["Inputs", Bold], Frame -> {{False, False}, {False, True}}, FrameStyle -> GrayLevel[0.85]], ItemBox[ StyleBox[ GraphicsBox[{}, ImageSize -> {1, 11}, BaselinePosition -> (Scaled[0.] -> Baseline)], "CacheGraphics" -> False], Frame -> {{False, False}, {False, True}}, FrameStyle -> GrayLevel[0.85]], ItemBox["", Frame -> {{False, False}, {False, GrayLevel[0.85]}}], ItemBox["", Frame -> {{False, False}, {False, GrayLevel[0.85]}}], ItemBox[ StyleBox["Outputs", Bold], Frame -> {{False, False}, {False, True}}, FrameStyle -> GrayLevel[0.85]], ItemBox[ StyleBox[ GraphicsBox[{}, ImageSize -> {1, 11}, BaselinePosition -> (Scaled[0.] -> Baseline)], "CacheGraphics" -> False], Frame -> {{False, False}, {False, True}}, FrameStyle -> GrayLevel[0.85]]}, { StyleBox[ TemplateBox[{"\"Input\"", "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox["\"image\"", "SummaryItem"], "", "", StyleBox[ TemplateBox[{"\"ClassProb\"", "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox[ TemplateBox[{"\"matrix\"", "\" \"", StyleBox[ TemplateBox[{ "\"(\"", "\"\[VeryThinSpace]\"", "\"size\"", "\":\"", "\" \"", TemplateBox[{"\[Times]", "\"\[Times]\"", "\"8732\"", "\"20\""}, "RowWithSeparators"], "\"\[VeryThinSpace]\"", "\")\""}, "RowDefault"], GrayLevel[0.5], StripOnInput -> False]}, "RowDefault"], "SummaryItem"]}, {"", "", "", "", StyleBox[ TemplateBox[{"\"Boxes\"", "\":\""}, "RowDefault"], "SummaryItemAnnotation"], StyleBox[ TemplateBox[{"\"3-tensor\"", "\" \"", StyleBox[ TemplateBox[{ "\"(\"", "\"\[VeryThinSpace]\"", "\"size\"", "\":\"", "\" \"", TemplateBox[{"\[Times]", "\"\[Times]\"", "\"8732\"", "\"2\"", "\"2\""}, "RowWithSeparators"], "\"\[VeryThinSpace]\"", "\")\""}, "RowDefault"], GrayLevel[0.5], StripOnInput -> False]}, "RowDefault"], "SummaryItem"]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}]], TrackedSymbols :> { NeuralNetworks`Private`NetGraph`selection}]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}], Initialization :> {NetGraph}]}}, BaselinePosition -> Automatic, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridFrameMargins -> {{0, 0}, {0, 0}}, BaselinePosition -> {1, 1}]}, Dynamic[Typeset`open], ImageSize -> Automatic], BaselinePosition -> Baseline, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]], StyleBox["]", "NonInterpretableSummary"]}]}, "CopyTag", DisplayFunction->(#& ), InterpretationFunction->("NetGraph[<>]"& )], False, Editable->False, SelectWithContents->True, Selectable->False]], "Output", CellLabel->"Out[23]="] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Training", "Section"], Cell["(Performed separately)", "Text"] }, Open ]] }, Open ]] }, WindowSize->Automatic, WindowMargins->Automatic, PrivateNotebookOptions->{"FileOutlineCache"->False}, FrontEndVersion->"11.3 for Linux x86 (64-bit) (March 6, 2018)", StyleDefinitions->"Default.nb", $CellContext`TrackCellChangeTimes -> False ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 129, 4, 70, "Title",ExpressionUUID->"a33618b8-7416-413f-9875-525e49421225"], Cell[CellGroupData[{ Cell[734, 30, 37, 0, 70, "Subsection",ExpressionUUID->"05498e76-0a7f-48f3-8742-2a22e96acb4d"], Cell[CellGroupData[{ Cell[796, 34, 38, 0, 70, "Subsubsection",ExpressionUUID->"7b1b33a9-3717-469b-8b65-a7035e35aaa9"], Cell[837, 36, 168, 4, 70, "Input",ExpressionUUID->"b4e81b34-93b5-4f07-89a8-04ddeb31a697"] }, Open ]], Cell[CellGroupData[{ Cell[1042, 45, 38, 0, 70, "Subsubsection",ExpressionUUID->"950658ac-daca-42dc-9c33-5fd10a6cd280"], Cell[1083, 47, 185, 5, 70, "Input",ExpressionUUID->"ca3c3f5b-06b7-49d4-823d-9a7faa05773d"] }, Open ]], Cell[CellGroupData[{ Cell[1305, 57, 36, 0, 70, "Subsubsection",ExpressionUUID->"11624637-737b-4e92-b609-e11fcbf10ae2"], Cell[1344, 59, 125, 3, 70, "Input",ExpressionUUID->"12df8018-c460-4308-a6fa-ea80f797b729"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[1518, 68, 35, 0, 70, "Section",ExpressionUUID->"cd545e68-ff54-4416-8f56-6fd64aedca73"], Cell[CellGroupData[{ Cell[1578, 72, 40, 0, 70, "Subsection",ExpressionUUID->"55fb2a0d-2d0b-4adf-a72e-6c7fc391c78a"], Cell[1621, 74, 872, 24, 70, "Code",ExpressionUUID->"c3b43793-e4f6-4d72-bd04-960777fa3347", InitializationCell->False], Cell[2496, 100, 7059, 187, 70, "Code",ExpressionUUID->"e23b211c-3f5d-4daa-832b-2f1090927107", InitializationCell->False], Cell[9558, 289, 2040, 52, 70, "Code",ExpressionUUID->"d3ff8046-183e-4665-8c37-0fb6bdf43d5d", InitializationCell->False], Cell[11601, 343, 886, 23, 70, "Code",ExpressionUUID->"ec4c8538-ffb9-432f-b5cb-57993e6ebe5d", InitializationCell->False], Cell[12490, 368, 5281, 132, 70, "Code",ExpressionUUID->"0886fc82-5ff3-46d3-a873-9489185244a0", InitializationCell->False], Cell[17774, 502, 2180, 46, 70, "Code",ExpressionUUID->"3b3a10dc-d065-4859-9a73-2ca811b1fc3c", InitializationCell->False], Cell[19957, 550, 767, 22, 70, "Code",ExpressionUUID->"aa7a454c-caeb-4ef6-b318-365c3820bf56", InitializationCell->False], Cell[20727, 574, 4154, 101, 70, "Code",ExpressionUUID->"f17e8c29-707c-4843-b1b6-9cb16214a193", InitializationCell->False], Cell[24884, 677, 5058, 131, 70, "Code",ExpressionUUID->"6aa5c0d3-fed0-4af1-b536-95f33de6a8ec", InitializationCell->False], Cell[29945, 810, 1262, 34, 70, "Code",ExpressionUUID->"36933e8a-407f-4082-bc71-c8e778ea82e5", InitializationCell->False] }, Open ]], Cell[CellGroupData[{ Cell[31244, 849, 31, 0, 70, "Subsection",ExpressionUUID->"da29dd95-0aad-41cc-a8f5-45f6b5a6725a"], Cell[CellGroupData[{ Cell[31300, 853, 1180, 31, 70, "Input",ExpressionUUID->"2fa8e1a5-d8dd-4daa-ab18-cba64e3fbd32"], Cell[32483, 886, 237856, 4027, 70, "Output",ExpressionUUID->"749eaa65-b927-49af-bcb8-c04f910bbe73"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[270400, 4920, 27, 0, 70, "Section",ExpressionUUID->"77cc71e7-c40d-420d-8050-3de316a83d0a"], Cell[270430, 4922, 38, 0, 70, "Text",ExpressionUUID->"799c8263-2b8e-4167-841b-78a369bf1d15"] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)