/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠDeep ĠLearning Ġproject Ġcontributors . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġexamples . inference . production Ċ Ċ import Ġorg . jetbrains . kotlin x . dl . api . core . loss . Los ses Ċ import Ġorg . jetbrains . kotlin x . dl . api . core . metric . Metrics Ċ import Ġorg . jetbrains . kotlin x . dl . api . core . optimizer . Adam Ċ import Ġorg . jetbrains . kotlin x . dl . datasets . Dataset Ċ import Ġorg . jetbrains . kotlin x . dl . datasets . handlers .* Ċ Ċ private Ġconst Ġval ĠE POCH S Ġ= Ġ 1 Ċ private Ġconst Ġval ĠTR AIN ING _ BATCH _ SIZE Ġ= Ġ 5 0 0 Ċ private Ġconst Ġval ĠTEST _ BATCH _ SIZE Ġ= Ġ 1 0 0 0 Ċ Ċ /** Ċ Ġ* ĠThis Ġexamples Ġdemonstrates Ġmodel Ġactiv ations Ġand ĠConv 2 D Ġfilters Ġvisual isation . Ċ Ġ* Ċ Ġ* ĠModel Ġis Ġtrained Ġon ĠM nist Ġdataset . Ċ Ġ*/ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġ( train , Ġtest ) Ġ= ĠDataset . create Train And TestData sets ( ĊĠĠĠĠĠĠĠ ĠTR AIN _ I MAGES _ ARCH IVE , ĊĠĠĠĠĠĠĠ ĠTR AIN _ LABEL S _ ARCH IVE , ĊĠĠĠĠĠĠĠ ĠTEST _ I MAGES _ ARCH IVE , ĊĠĠĠĠĠĠĠ ĠTEST _ LABEL S _ ARCH IVE , ĊĠĠĠĠĠĠĠ ĠNUMBER _ OF _ CLASSES , ĊĠĠĠĠĠĠĠ Ġ:: extract Images , ĊĠĠĠĠĠĠĠ Ġ:: extract Labels ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġimage Id Ġ= Ġ 1 ĊĊĠĠĠ Ġlen et 5 . use Ġ{ ĊĠĠĠĠĠĠĠ Ġit . compile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptimizer Ġ= ĠAdam (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloss Ġ= ĠLos ses . SOFT _ MAX _ CROSS _ ENT RO PY _ WITH _ LOG ITS , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= ĠMetrics . AC CUR ACY ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġit . summary () ĊĊĠĠĠĠĠĠĠ Ġit . fit ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdataset Ġ= Ġtrain , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Rate Ġ= Ġ 0 . 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġepochs Ġ= ĠE POCH S , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrain Batch Size Ġ= ĠTR AIN ING _ BATCH _ SIZE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidation Batch Size Ġ= ĠTEST _ BATCH _ SIZE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverbose Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġweights Ġ= Ġit . layers [ 0 ]. get Weights () Ġ// Ġfirst Ġconv 2 d Ġlayer ĊĊĠĠĠĠĠĠĠ Ġdraw Filters ( weights [ 0 ], Ġcolor Coefficient Ġ= Ġ 1 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġweights 2 Ġ= Ġit . layers [ 2 ]. get Weights () Ġ// Ġfirst Ġconv 2 d Ġlayer ĊĊĠĠĠĠĠĠĠ Ġdraw Filters ( weights 2 [ 0 ], Ġcolor Coefficient Ġ= Ġ 1 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġaccuracy Ġ= Ġit . evaluate ( dataset Ġ= Ġtest , Ġbatch Size Ġ= ĠTEST _ BATCH _ SIZE ). metrics [ Metrics . AC CUR ACY ] ĊĊĠĠĠĠĠĠĠ Ġprintln (" Accuracy Ġ$ accuracy ") ĊĊĠĠĠĠĠĠĠ Ġval Ġ( prediction , Ġactiv ations ) Ġ= Ġit . predict AndGet Activ ations ( train . getX ( image Id )) ĊĊĠĠĠĠĠĠĠ Ġprintln (" Prediction : Ġ$ prediction ") ĊĊĠĠĠĠĠĠĠ Ġdraw Activ ations ( activ ations ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtrain Image Label Ġ= Ġtrain . getY ( image Id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmax Idx Ġ= Ġtrain Image Label . indexOf First Ġ{ Ġit Ġ== Ġtrain Image Label . max OrNull () !! Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln (" Ground ĠTr uth : Ġ$ max Idx ") ĊĠĠĠ Ġ} Ċ } Ċ