package Ġio . kin ference . ort . data . tensor Ċ Ċ import Ġai . onnx runtime .* Ċ import Ġio . kin ference . data .* Ċ import Ġio . kin ference . ndarray . extensions . primitive From T iled Array Ċ import Ġio . kin ference . ort . ORT Backend Ċ import Ġio . kin ference . protobuf . message . Tensor Proto Ċ import Ġjava . nio .* Ċ Ċ class ĠOR TT ensor ( name : ĠString ?, Ġoverride Ġval Ġdata : ĠOn nx Tensor ) Ġ: ĠON NX Tensor < On nx Tensor , ĠOR T Backend >( name , Ġdata ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġbackend : ĠOR T Backend Ġ= ĠOR T Backend ĊĊĠĠĠ Ġoverride Ġval Ġtype : ĠON NX DataType Ġ= ĠON NX DataType . ON NX _ T ENSOR ĊĠĠĠ Ġval Ġshape : ĠLong Array ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdata . info . shape ĊĠĠĠ Ġoverride Ġfun Ġrename ( name : ĠString ): ĠOR TT ensor Ġ= ĠOR TT ensor ( name , Ġdata ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( proto : ĠTensor Proto ): ĠOR TT ensor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġproto . dataType Ġ?: ĠTensor Proto . DataType . UNDEFINED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproto . is T iled () Ġ-> Ġprimitive From T iled Array ( proto . array Data !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproto . isString () Ġ-> Ġproto . string Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproto . is Primitive () Ġ-> Ġproto . array Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Unsupported Ġdata Ġtype Ġ${ proto . dataType }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( array ) Ġ{ Ġ" Array Ġvalue Ġshould Ġbe Ġinitialized " Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOR TT ensor ( array , Ġtype , Ġproto . dims . to Long Array (), Ġproto . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠInt Array . to Long Array () Ġ= ĠLong Array ( this . size ) Ġ{ Ġthis [ it ]. to Long () Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġoperator Ġfun Ġinvoke ( value : ĠAny , Ġtype : ĠTensor Proto . DataType , Ġdims : ĠLong Array Ġ= ĠLong Array ( 0 ), Ġname : ĠString ? Ġ= Ġnull ): ĠOR TT ensor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon nx Tensor Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . DOUBLE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠDouble Buffer . wrap ( value Ġas ĠDouble Array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . FLOAT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠFloat Buffer . wrap ( value Ġas ĠFloat Array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . INT 3 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠInt Buffer . wrap ( value Ġas ĠInt Array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . INT 8 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . wrap ( value Ġas ĠByteArray ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . INT 6 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠLong Buffer . wrap ( value Ġas ĠLong Array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . INT 1 6 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠShort Buffer . wrap ( value Ġas ĠShort Array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . STRING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġ( value Ġas ĠList < String >). to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġarray , Ġdims ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . UINT 8 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġas ĠU ByteArray ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate ( value . size ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( number Ġin Ġvalue ) Ġput ( number . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims , ĠOn nx Java Type . UINT 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTensor Proto . DataType . BOOL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġas ĠBoolean Array ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate Direct ( On nx Java Type . BOOL . size Ġ* Ġvalue . size ). order ( Byte Order . LIT TLE _ ENDIAN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( b Ġin Ġvalue ) Ġbuffer . put ( if Ġ( b ) Ġ( 1 ). to Byte () Ġelse Ġ( 0 ). to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . rewind () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn nx Tensor . create Tensor ( Or t Environment . get Environment (), Ġbuffer , Ġdims , ĠOn nx Java Type . BOOL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Unsupported Ġdata Ġtype Ġ$ type ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOR TT ensor ( name , Ġon nx Tensor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ