package Ġcom . mir f . features . deep learning . tensorflow Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Test Ċ import Ġkotlin . math . round ToInt Ċ Ċ class ĠTensor flow Model Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtensorflow Model Interface _ load Model _ reads Model Without Errors () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Name Ġ= Ġ" xor _ model . pb " ĊĠĠĠĠĠĠĠ Ġval Ġtf Model Ġ= ĠTensor flow Model Interface ( null , Ġmodel Name , Ġ" my _ input / X ", Ġ" my _ output / Sig moid ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġthat Ġinput Ġand Ġoutput Ġare Ġset Ġcorrectly ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" my _ input / X ", Ġtf Model . input Name ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" my _ output / Sig moid ", Ġtf Model . output Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtensorflow Model Interface _ run XOR model _ outputs Result () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Name Ġ= Ġ" xor _ model . pb " ĊĠĠĠĠĠĠĠ Ġval Ġtf Model Ġ= ĠTensor flow Model Interface ( null , Ġmodel Name , Ġ" my _ input / X ", Ġ" my _ output / Sig moid ", Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġthat Ġinput Ġand Ġoutput Ġare Ġset Ġcorrectly ĊĠĠĠĠĠĠĠ Ġvar Ġinput Arr : ĠFloat Array Ġ= Ġfloat ArrayOf ( 1 . 0 F , Ġ 1 . 0 F ) ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġtf Model . run Model ( input Arr , Ġ 1 , Ġ 2 )[ 0 ]. round ToInt () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġres ) ĊĊĠĠĠĠĠĠĠ Ġinput Arr Ġ= Ġfloat ArrayOf ( 1 . 0 F , Ġ 0 . 0 F ) ĊĠĠĠĠĠĠĠ Ġres Ġ= Ġtf Model . run Model ( input Arr , Ġ 1 , Ġ 2 )[ 0 ]. round ToInt () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġres ) ĊĊĠĠĠĠĠĠĠ Ġinput Arr Ġ= Ġfloat ArrayOf ( 0 . 0 F , Ġ 0 . 0 F ) ĊĠĠĠĠĠĠĠ Ġres Ġ= Ġtf Model . run Model ( input Arr , Ġ 1 , Ġ 2 )[ 0 ]. round ToInt () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġres ) ĊĊĠĠĠĠĠĠĠ Ġinput Arr Ġ= Ġfloat ArrayOf ( 0 . 0 F , Ġ 1 . 0 F ) ĊĠĠĠĠĠĠĠ Ġres Ġ= Ġtf Model . run Model ( input Arr , Ġ 1 , Ġ 2 )[ 0 ]. round ToInt () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġres ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtensorflow Model Interface _ run Classification On Image model _ outputs Result () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Size Ġ= Ġ 1 2 8 ĊĠĠĠĠĠĠĠ Ġval Ġmodel Name Ġ= Ġ" tf _ model . pb " ĊĠĠĠĠĠĠĠ Ġval Ġtf Model Ġ= ĠTensor flow Model Interface ( null , Ġmodel Name , Ġ" conv 2 d _ 1 _ input _ 1 ", Ġ" activation _ 5 _ 1 / Sig moid ", Ġ 1 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbig Arr Ġ= ĠFloat Array ( img Size Ġ* Ġimg Size Ġ* Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġthat Ġinput Ġand Ġoutput Ġare Ġset Ġcorrectly ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġtf Model . run Model ( big Arr , Ġ 1 , Ġ 1 2 8 , Ġ 1 2 8 , Ġ 3 )[ 0 ]. round ToInt () ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġres ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġfun Ġtensorflow _ run E cg Classification () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Size Ġ= Ġ 1 2 8 ĊĠĠĠĠĠĠĠ Ġval Ġmodel Name Ġ= Ġ" ec g _ tf _ cnn . pb " ĊĠĠĠĠĠĠĠ Ġ// val Ġmodel Name Ġ= Ġ" src / test / resources / tf _ model . pb " ĊĊĠĠĠĠĠĠĠ Ġval Ġtf Model Ġ= ĠTensor flow Model Interface ( null , Ġmodel Name , Ġ" conv 2 d _ 1 _ input ", Ġ" dense _ 2 / Soft max ", Ġ 8 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbig Arr Ġ= ĠFloat Array ( img Size Ġ* Ġimg Size Ġ* Ġ 1 ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġthat Ġinput Ġand Ġoutput Ġare Ġset Ġcorrectly ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġtf Model . run Model ( big Arr , Ġ 1 , Ġ 1 2 8 , Ġ 1 2 8 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġres ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint ("$ i Ġ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġ 1 ) ĊĠĠĠ Ġ} ĊĊ Ċ }