(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 11.1' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 90810, 1883] NotebookOptionsPosition[ 88358, 1831] NotebookOutlinePosition[ 88697, 1846] CellTagsIndexPosition[ 88654, 1843] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Construction Notebook for:", FontSize->24], "\nColorNet Image Colorization Trained on ImageNet Competition Data (Raw \ Model)" }], "Title", CellChangeTimes->{{3.7003902493848333`*^9, 3.7003902629036093`*^9}, { 3.713784318858347*^9, 3.713784321144644*^9}, {3.714994429184141*^9, 3.714994429664146*^9}, 3.714996106772522*^9, {3.7153334407879257`*^9, 3.7153334450672817`*^9}, 3.71533350166085*^9, {3.716471456771866*^9, 3.716471457019724*^9}},ExpressionUUID->"585f56a7-db49-4cc3-830a-\ f3953fa27ec1"], Cell[CellGroupData[{ Cell["NetModel Access", "Subsection", CellChangeTimes->{{3.695474314080426*^9, 3.695474346087426*^9}},ExpressionUUID->"4f151526-eb65-46c6-a124-\ 11f104d2ae63"], Cell[CellGroupData[{ Cell["This Notebook", "Subsubsection", CellChangeTimes->{{3.6954750910664797`*^9, 3.695475092737351*^9}},ExpressionUUID->"2b5719ac-8c9c-47e7-be3b-\ 8c862c491147"], Cell[BoxData[ RowBox[{"NetModel", "[", RowBox[{ "\"\\"", ",", "\"\\""}], "]"}]], "Input", CellChangeTimes->{{3.696656935596855*^9, 3.6966569364445457`*^9}, 3.696768427361453*^9, 3.696768595763381*^9, 3.7003902688083363`*^9, { 3.71378432216816*^9, 3.713784326289772*^9}, {3.714994432403721*^9, 3.714994433006246*^9}, 3.714996108003089*^9, {3.7153335047647867`*^9, 3.715333505816477*^9}, {3.7164714584532547`*^9, 3.716471462644813*^9}},ExpressionUUID->"4858c7f3-1cb4-40db-8883-\ 42fd68303297"] }, Open ]], Cell[CellGroupData[{ Cell["Untrained Net", "Subsubsection", CellChangeTimes->{{3.6954750978333807`*^9, 3.695475133273511*^9}},ExpressionUUID->"ad58edd5-5584-4e9c-9fa9-\ 370746adcf37"], Cell[BoxData[ RowBox[{"NetModel", "[", RowBox[{ "\"\\"", ",", "\"\\""}], "]"}]], "Input", CellChangeTimes->{{3.696656940213286*^9, 3.6966569411083603`*^9}, 3.6967685960955133`*^9, 3.7003902714859753`*^9, 3.7137843290167923`*^9, { 3.714994436582281*^9, 3.7149944375650043`*^9}, 3.714996109008522*^9, { 3.715333507908626*^9, 3.7153335086599197`*^9}, {3.716471459997304*^9, 3.716471463477531*^9}},ExpressionUUID->"5b3ded52-4ba4-4c28-bb3e-\ 9c72413bd737"] }, Open ]], Cell[CellGroupData[{ Cell["Trained Net", "Subsubsection", CellChangeTimes->{{3.6954751072255173`*^9, 3.6954751086815357`*^9}},ExpressionUUID->"b80429d2-6f4b-4f46-97e2-\ 4e69433d45ec"], Cell[BoxData[ RowBox[{"NetModel", "[", "\"\\"", "]"}]], "Input", CellChangeTimes->{{3.6966569441649303`*^9, 3.696656946349728*^9}, 3.696768596439824*^9, 3.700390274254551*^9, 3.713784330204133*^9, { 3.71499444050791*^9, 3.714994441068159*^9}, 3.7149961097969723`*^9, { 3.7153335105480947`*^9, 3.715333511610773*^9}, 3.716471465711276*^9},ExpressionUUID->"38fbf911-4af7-42fc-9a17-\ 9420f66d640a"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Net Construction", "Section", CellChangeTimes->{ 3.695625386014464*^9},ExpressionUUID->"90e3a52b-9e59-47a7-8798-\ 0d08a37e9c0b"], Cell[CellGroupData[{ Cell["Internal Functions", "Subsection", CellChangeTimes->{{3.695474631518784*^9, 3.69547463389618*^9}},ExpressionUUID->"1d405d7c-ce69-44fd-a43c-\ e77bdd9a8303"], Cell[BoxData[ RowBox[{ RowBox[{"convRamp", "[", "convArgs__", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"ConvolutionLayer", "[", "convArgs", "]"}], ",", RowBox[{"ElementwiseLayer", "[", "Ramp", "]"}]}], "}"}]}]], "Input",Expres\ sionUUID->"f3763dc4-43f1-4a12-9970-b5ae69bd743b"], Cell[BoxData[ RowBox[{ RowBox[{"linRamp", "[", "linArgs__", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"LinearLayer", "[", "linArgs", "]"}], ",", RowBox[{"ElementwiseLayer", "[", "Ramp", "]"}]}], "}"}]}]], "Input", CellChangeTimes->{{3.714994665092868*^9, 3.714994710946357*^9}},ExpressionUUID->"756bfd1a-e9bd-46f2-9f3c-\ b6790ff7f09d"], Cell[BoxData[ RowBox[{ RowBox[{"localFeatBranch", "=", RowBox[{"NetChain", "[", RowBox[{"Join", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"convRamp", "[", RowBox[{"64", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"128", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"128", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}]}], "\[IndentingNewLine]", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.71499472725423*^9, 3.714994751261444*^9}, { 3.714994854394392*^9, 3.714994984299304*^9}, {3.7149950215267467`*^9, 3.71499504375392*^9}, 3.7149962927672987`*^9, {3.714997049185919*^9, 3.714997054985908*^9}},ExpressionUUID->"97b00129-3a90-4dab-a7a6-\ 4fb9d1bb4454"], Cell[BoxData[ RowBox[{ RowBox[{"globalFeatBranch", "=", RowBox[{"NetChain", "[", RowBox[{"Join", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"ResizeLayer", "[", RowBox[{"{", RowBox[{"224", ",", "224"}], "}"}], "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"64", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"128", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"128", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}], ",", RowBox[{"\"\\"", "\[Rule]", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"512", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"FlattenLayer", "[", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"linRamp", "[", "1024", "]"}], ",", "\[IndentingNewLine]", RowBox[{"linRamp", "[", "512", "]"}], ",", "\[IndentingNewLine]", RowBox[{"linRamp", "[", "256", "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"ReplicateLayer", "[", RowBox[{ RowBox[{"{", RowBox[{"Automatic", ",", "Automatic"}], "}"}], ",", "2", ",", RowBox[{"\"\\"", "\[Rule]", RowBox[{"{", RowBox[{"256", ",", "28", ",", "28"}], "}"}]}]}], "]"}], "}"}]}], "\[IndentingNewLine]", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.714996220496026*^9, 3.714996225515007*^9}},ExpressionUUID->"2005db12-1f86-4e2e-9fa7-\ 96067ab31a6c"], Cell[BoxData[ RowBox[{ RowBox[{"colorizationBranch", "=", RowBox[{"NetChain", "[", RowBox[{"Join", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"convRamp", "[", RowBox[{"256", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"128", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"ResizeLayer", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Scaled", "[", "2", "]"}], ",", RowBox[{"Scaled", "[", "2", "]"}]}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "\"\\""}]}], "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"64", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"64", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"ResizeLayer", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Scaled", "[", "2", "]"}], ",", RowBox[{"Scaled", "[", "2", "]"}]}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "\"\\""}]}], "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"convRamp", "[", RowBox[{"32", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"ConvolutionLayer", "[", RowBox[{"2", ",", RowBox[{"{", RowBox[{"3", ",", "3"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"ElementwiseLayer", "[", "LogisticSigmoid", "]"}], ",", "\[IndentingNewLine]", RowBox[{"ResizeLayer", "[", RowBox[{"{", RowBox[{ RowBox[{"Scaled", "[", "2", "]"}], ",", RowBox[{"Scaled", "[", "2", "]"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"ElementwiseLayer", "[", RowBox[{ RowBox[{ RowBox[{"2", "#"}], "-", "1"}], "&"}], "]"}]}], "\[IndentingNewLine]", "}"}]}], "\[IndentingNewLine]", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.714995190294697*^9, 3.7149952809727907`*^9}, { 3.714995554671898*^9, 3.714995635395563*^9}, {3.714995682738267*^9, 3.71499595129805*^9}, 3.7149962548258877`*^9, {3.714997146527231*^9, 3.714997146585417*^9}},ExpressionUUID->"64f000d1-6a8b-4e08-907f-\ d519ad68fbce"] }, Closed]], Cell[CellGroupData[{ Cell["Final Net", "Subsection", CellChangeTimes->{{3.695106779945572*^9, 3.695106780985426*^9}},ExpressionUUID->"9bb71dd4-78ca-4e68-8202-\ e6bc1a5381d0"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"colorNet", "=", RowBox[{"NetGraph", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"localFeatBranch", ",", "globalFeatBranch", ",", RowBox[{"CatenateLayer", "[", "]"}], ",", "colorizationBranch"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"NetPort", "[", "\"\\"", "]"}], "\[Rule]", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], "\[Rule]", RowBox[{"3", "\[Rule]", "4"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"\"\\"", "\[Rule]", RowBox[{"NetEncoder", "[", RowBox[{"{", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"224", ",", "224"}], "}"}], ",", RowBox[{"\"\\"", "\[Rule]", "0.445054"}], ",", RowBox[{"\"\\"", "\[Rule]", "\"\\""}]}], "}"}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}]], "Input", CellChangeTimes->{{3.70039031014128*^9, 3.700390318270293*^9}, { 3.700401138237893*^9, 3.7004011383263493`*^9}, {3.713784420700962*^9, 3.71378442253986*^9}, {3.714995980728014*^9, 3.7149960771943607`*^9}, { 3.714996166968326*^9, 3.714996170023856*^9}},ExpressionUUID->"c52032a9-6f42-4142-bb67-\ 537c29e2388a"], Cell[BoxData[ StyleBox[ TagBox[ TagBox[ RowBox[{"NetGraph", RowBox[{"[", PanelBox[ DynamicModuleBox[{NeuralNetworks`Private`NetGraph`selection = None}, DynamicBox[GridBox[ Map[List, { ToBoxes[ NeuralNetworks`Private`NetGraph`netLayerPlot[{{1, 2}, {1, 3}, {2, 4}, {3, 4}, {4, 5}, {5, 6}}, Dynamic[NeuralNetworks`Private`NetGraph`selection], False, { "Input", "1", "2", "3", "4", "Output"}, {Null, GrayLevel[0], RGBColor[1., 0.7, 0.31]}, {1, 2, 2, 3, 2, 1}, { Null, NetChain, CatenateLayer}, { NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{2, 224, 224}, NeuralNetworks`RealT]}, { None, NeuralNetworks`Private`UniqueSkeleton[16, 61111], NeuralNetworks`Private`UniqueSkeleton[29, 7887], None, NeuralNetworks`Private`UniqueSkeleton[16, 19707], None}]], If[ IntegerQ[NeuralNetworks`Private`NetGraph`selection], ItemBox[ NeuralNetworks`Private`NetGraph`vpathInfo[ Part[{ NeuralNetworks`NetPath["Inputs", "Input"], NeuralNetworks`NetPath["Nodes", "1"], NeuralNetworks`NetPath["Nodes", "2"], NeuralNetworks`NetPath["Nodes", "3"], NeuralNetworks`NetPath["Nodes", "4"], NeuralNetworks`NetPath["Outputs", "Output"]}, NeuralNetworks`Private`NetGraph`selection], Association["Input" -> NetEncoder["Image", Association[ "ImageSize" -> {224, 224}, "ColorSpace" -> "Grayscale", "ColorChannels" -> 1, "MeanImage" -> 0.445054, "VarianceImage" -> None], NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]]], Association[ "Output" -> NeuralNetworks`TensorT[{2, 224, 224}, NeuralNetworks`RealT]], Association[ "1" -> Association[ "Type" -> "Chain", "Nodes" -> Association[ "1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{64, 1, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{64}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 64, "KernelSize" -> {3, 3}, "Stride" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 1, "$GroupNumber" -> 1, "$InputSize" -> {224, 224}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]]], "2" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]]], "3" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 64, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]]], "5" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 128, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]]], "6" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]]], "7" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 128, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]]], "8" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]]], "9" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 256, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "10" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "11" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 256, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "12" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "13" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "14" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "15" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{256, 512, 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "16" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, 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["Nodes", "7", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "6", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "7", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "9", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "8", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "10", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "9", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "11", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "10", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "12", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "11", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "13", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "12", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "14", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "13", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "14", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "16", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "15", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "16", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "2" -> Association[ "Type" -> "Chain", "Nodes" -> Association[ "1" -> Association[ "Type" -> "Resize", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{224, 224}], "Resampling" -> "Linear", "Dimensionality" -> 2, "Channels" -> 1, "$InputSize" -> {224, 224}, "$OutputSize" -> {224, 224}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]]], "2" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{64, 1, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{64}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 64, "KernelSize" -> {3, 3}, "Stride" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 1, "$GroupNumber" -> 1, "$InputSize" -> {224, 224}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]]], "4" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 64, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]]], "5" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]]], "6" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 128, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]]], "7" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]]], "8" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 128, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]]], "9" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]]], "10" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 256, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "11" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "12" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 256, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "13" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "14" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {14, 14}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]]], "15" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 14, 14}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]]], "16" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {14, 14}, "$OutputSize" -> {14, 14}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]]], "17" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 14, 14}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]]], "18" -> 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" -> {2, 2}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {14, 14}, "$OutputSize" -> {7, 7}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 14, 14}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]]], "19" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 7, 7}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]]], "20" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {7, 7}, "$OutputSize" -> {7, 7}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]]], "21" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512, 7, 7}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]]], "22" -> Association[ "Type" -> "Flatten", "Arrays" -> Association[], "Parameters" -> Association[ "Level" -> DirectedInfinity[1], "OutputSize" -> {25088}, "$InputSize" -> {512, 7, 7}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 7, 7}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{25088}, NeuralNetworks`RealT]]], "23" -> Association[ "Type" -> "Linear", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{1024, 25088}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputDimensions" -> {1024}, "$OutputSize" -> 1024, "$InputSize" -> 25088, "$InputDimensions" -> {25088}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{25088}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]]], "24" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {1024}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]]], "25" -> Association[ "Type" -> "Linear", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{512, 1024}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputDimensions" -> {512}, "$OutputSize" -> 512, "$InputSize" -> 1024, "$InputDimensions" -> {1024}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1024}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "26" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {512}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]]], "27" -> Association[ "Type" -> "Linear", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{256, 512}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputDimensions" -> {256}, "$OutputSize" -> 256, "$InputSize" -> 512, "$InputDimensions" -> {512}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "28" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]]], "29" -> Association[ "Type" -> "Replicate", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{Automatic, Automatic}], "Level" -> 2, "OutputSize" -> {256, 28, 28}, "$InsertedDimCount" -> 2, "$InsertedDimensions" -> {28, 28}, "$InputSize" -> {256}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, 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["Nodes", "7", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "6", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "7", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "9", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "8", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "10", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "9", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "11", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "10", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "12", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "11", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "13", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "12", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "14", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "13", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "14", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "16", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "15", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "17", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "16", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "18", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "17", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "19", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "18", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "20", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "19", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "21", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "20", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "22", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "21", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "23", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "22", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "24", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "23", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "25", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "24", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "26", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "25", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "27", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "26", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "28", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "27", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "29", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "28", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "29", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{1, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "Catenate", "Arrays" -> Association[], "Parameters" -> Association["Level" -> 1, "$InputShapes" -> { NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]}, "$InputCount" -> 2, "$OutputShape" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Inputs" -> Association["Input" -> { NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT], NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]}], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Chain", "Nodes" -> Association[ "1" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{256, 512, 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 512, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "2" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {256, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]]], "3" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{128, 256, 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 256, "$GroupNumber" -> 1, "$InputSize" -> {28, 28}, "$OutputSize" -> {28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{256, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 28, 28}, NeuralNetworks`RealT]]], "4" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {128, 28, 28}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 28, 28}, NeuralNetworks`RealT]]], "5" -> Association[ "Type" -> "Resize", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Scaled[2], Scaled[2]}], "Resampling" -> "Nearest", "Dimensionality" -> 2, "Channels" -> 128, "$InputSize" -> {28, 28}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]]], "6" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{64, 128, 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 128, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{128, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]]], "7" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]]], "8" -> 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}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 64, "$GroupNumber" -> 1, "$InputSize" -> {56, 56}, "$OutputSize" -> {56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]]], "9" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {64, 56, 56}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]]], "10" -> Association[ "Type" -> "Resize", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Scaled[2], Scaled[2]}], "Resampling" -> "Nearest", "Dimensionality" -> 2, "Channels" -> 64, "$InputSize" -> {56, 56}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 56, 56}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]]], "11" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{32, 64, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{32}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 32, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 64, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{64, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{32, 112, 112}, NeuralNetworks`RealT]]], "12" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[Ramp], "$Dimensions" -> {32, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{32, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{32, 112, 112}, NeuralNetworks`RealT]]], "13" -> Association[ "Type" -> "Convolution", "Arrays" -> Association[ "Weights" -> NeuralNetworks`TensorT[{2, 32, 3, 3}, NeuralNetworks`RealT], "Biases" -> NeuralNetworks`Nullable[ NeuralNetworks`TensorT[{2}, NeuralNetworks`RealT]]], "Parameters" -> Association[ "OutputChannels" -> 2, "KernelSize" -> {3, 3}, "Stride" -> {1, 1}, "PaddingSize" -> {1, 1}, "Dilation" -> {1, 1}, "Dimensionality" -> 2, "InputChannels" -> 32, "$GroupNumber" -> 1, "$InputSize" -> {112, 112}, "$OutputSize" -> {112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{32, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{2, 112, 112}, NeuralNetworks`RealT]]], "14" -> Association[ "Type" -> "Elementwise", "Arrays" -> Association[], "Parameters" -> Association[ "Function" -> NeuralNetworks`ValidatedParameter[LogisticSigmoid], "$Dimensions" -> {2, 112, 112}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{2, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{2, 112, 112}, NeuralNetworks`RealT]]], "15" -> Association[ "Type" -> "Resize", "Arrays" -> Association[], "Parameters" -> Association[ "Specification" -> NeuralNetworks`ValidatedParameter[{ Scaled[2], Scaled[2]}], "Resampling" -> "Linear", "Dimensionality" -> 2, "Channels" -> 2, "$InputSize" -> {112, 112}, "$OutputSize" -> {224, 224}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{2, 112, 112}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{2, 224, 224}, NeuralNetworks`RealT]]], "16" -> 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, 2., NeuralNetworks`Private`ScalarSymbol[1]}, NeuralNetworks`Private`ScalarSymbol[3] -> {Plus, -1., NeuralNetworks`Private`ScalarSymbol[2]}]]], "$Dimensions" -> {2, 224, 224}], "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{2, 224, 224}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{2, 224, 224}, 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["Nodes", "7", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "6", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "8", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "7", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "9", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "8", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "10", "Inputs", "Input"] -> NeuralNetworks`NetPath["Nodes", "9", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "11", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "10", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "12", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "11", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "13", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "12", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "14", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "13", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "15", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "14", "Outputs", "Output"], NeuralNetworks`NetPath["Nodes", "16", "Inputs", "Input"] -> NeuralNetworks`NetPath[ "Nodes", "15", "Outputs", "Output"], NeuralNetworks`NetPath["Outputs", "Output"] -> NeuralNetworks`NetPath[ "Nodes", "16", "Outputs", "Output"]}, "Inputs" -> Association[ "Input" -> NeuralNetworks`TensorT[{512, 28, 28}, NeuralNetworks`RealT]], "Outputs" -> Association[ "Output" -> NeuralNetworks`TensorT[{2, 224, 224}, NeuralNetworks`RealT]]]]], Alignment -> Center], Nothing]}], GridBoxAlignment -> {"Columns" -> {{Left}}}], ImageSizeCache->{298., {67.5, 71.5}}, TrackedSymbols:>{NeuralNetworks`Private`NetGraph`selection}], Initialization:>{NetGraph}], BaselinePosition->(Top -> Scaled[3])], "]"}]}], False], Deploy], LineBreakWithin->False]], "Output", CellChangeTimes->{3.7149960775503073`*^9, 3.714996170739791*^9, 3.714996262718193*^9, 3.714997064647155*^9, 3.714997149612564*^9},ExpressionUUID->"65db929a-ee3c-45b4-8d15-\ bed9fcecbd8b"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Training", "Section", CellChangeTimes->{{3.695474798960601*^9, 3.69547479969661*^9}},ExpressionUUID->"dcbb7c9a-78b3-43c7-85e2-\ 18aa3a0da048"], Cell["(Performed separately using ImageNet)", "Text", CellChangeTimes->{{3.695474856418449*^9, 3.695474863168799*^9}, { 3.700390323972376*^9, 3.700390325924205*^9}, {3.7137843364331017`*^9, 3.713784360706161*^9}, {3.714996084965845*^9, 3.714996085641202*^9}, { 3.7153335260681868`*^9, 3.7153335275719337`*^9}},ExpressionUUID->"c5e1326a-a708-4408-adc4-\ 85e4f02fbabb"] }, Open ]] }, Open ]] }, WindowSize->{1855, 1056}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, FrontEndVersion->"11.2 for Linux x86 (64-bit) (September 10, 2017)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 544, 11, 134, "Title",ExpressionUUID->"585f56a7-db49-4cc3-830a-f3953fa27ec1"], Cell[CellGroupData[{ Cell[1149, 37, 163, 3, 55, "Subsection",ExpressionUUID->"4f151526-eb65-46c6-a124-11f104d2ae63"], Cell[CellGroupData[{ Cell[1337, 44, 166, 3, 45, "Subsubsection",ExpressionUUID->"2b5719ac-8c9c-47e7-be3b-8c862c491147"], Cell[1506, 49, 621, 11, 31, "Input",ExpressionUUID->"4858c7f3-1cb4-40db-8883-42fd68303297"] }, Open ]], Cell[CellGroupData[{ Cell[2164, 65, 166, 3, 45, "Subsubsection",ExpressionUUID->"ad58edd5-5584-4e9c-9fa9-370746adcf37"], Cell[2333, 70, 582, 10, 31, "Input",ExpressionUUID->"5b3ded52-4ba4-4c28-bb3e-9c72413bd737"] }, Open ]], Cell[CellGroupData[{ Cell[2952, 85, 166, 3, 45, "Subsubsection",ExpressionUUID->"b80429d2-6f4b-4f46-97e2-4e69433d45ec"], Cell[3121, 90, 495, 9, 31, "Input",ExpressionUUID->"38fbf911-4af7-42fc-9a17-9420f66d640a"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[3665, 105, 137, 3, 68, "Section",ExpressionUUID->"90e3a52b-9e59-47a7-8798-0d08a37e9c0b"], Cell[CellGroupData[{ Cell[3827, 112, 165, 3, 55, "Subsection",ExpressionUUID->"1d405d7c-ce69-44fd-a43c-e77bdd9a8303"], Cell[3995, 117, 298, 7, 31, "Input",ExpressionUUID->"f3763dc4-43f1-4a12-9970-b5ae69bd743b"], Cell[4296, 126, 359, 9, 31, "Input",ExpressionUUID->"756bfd1a-e9bd-46f2-9f3c-b6790ff7f09d"], Cell[4658, 137, 2496, 61, 239, "Input",ExpressionUUID->"97b00129-3a90-4dab-a7a6-4fb9d1bb4454"], Cell[7157, 200, 3758, 93, 423, "Input",ExpressionUUID->"2005db12-1f86-4e2e-9fa7-96067ab31a6c"], Cell[10918, 295, 3190, 80, 354, "Input",ExpressionUUID->"64f000d1-6a8b-4e08-907f-d519ad68fbce"] }, Closed]], Cell[CellGroupData[{ Cell[14145, 380, 157, 3, 39, "Subsection",ExpressionUUID->"9bb71dd4-78ca-4e68-8202-e6bc1a5381d0"], Cell[CellGroupData[{ Cell[14327, 387, 1297, 29, 124, "Input",ExpressionUUID->"c52032a9-6f42-4142-bb67-537c29e2388a"], Cell[15627, 418, 72109, 1391, 179, "Output",ExpressionUUID->"65db929a-ee3c-45b4-8d15-bed9fcecbd8b"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[87797, 1816, 152, 3, 68, "Section",ExpressionUUID->"dcbb7c9a-78b3-43c7-85e2-18aa3a0da048"], Cell[87952, 1821, 378, 6, 35, "Text",ExpressionUUID->"c5e1326a-a708-4408-adc4-85e4f02fbabb"] }, Open ]] }, Open ]] } ] *)