@@ -20,7 +20,7 @@ public void TfLiteVersion()
20
20
}
21
21
22
22
[ TestMethod ]
23
- public void SmokeTest ( )
23
+ public unsafe void SmokeTest ( )
24
24
{
25
25
var model = c_api_lite . TfLiteModelCreateFromFile ( "Lite/testdata/add.bin" ) ;
26
26
var options = c_api_lite . TfLiteInterpreterOptionsCreate ( ) ;
@@ -52,7 +52,36 @@ public void SmokeTest()
52
52
Assert . AreEqual ( 0 , input_params . zero_point ) ;
53
53
54
54
var input = new [ ] { 1f , 3f } ;
55
- // c_api_lite.TfLiteTensorCopyFromBuffer(input_tensor, input, 2 * sizeof(float));
55
+ fixed ( float * addr = & input [ 0 ] )
56
+ {
57
+ Assert . AreEqual ( TfLiteStatus . kTfLiteOk ,
58
+ c_api_lite . TfLiteTensorCopyFromBuffer ( input_tensor , new IntPtr ( addr ) , 2 * sizeof ( float ) ) ) ;
59
+ }
60
+
61
+ Assert . AreEqual ( TfLiteStatus . kTfLiteOk , c_api_lite . TfLiteInterpreterInvoke ( interpreter ) ) ;
62
+
63
+ var output_tensor = c_api_lite . TfLiteInterpreterGetOutputTensor ( interpreter , 0 ) ;
64
+ Assert . AreEqual ( TF_DataType . TF_FLOAT , c_api_lite . TfLiteTensorType ( output_tensor ) ) ;
65
+ Assert . AreEqual ( 1 , c_api_lite . TfLiteTensorNumDims ( output_tensor ) ) ;
66
+ Assert . AreEqual ( 2 , c_api_lite . TfLiteTensorDim ( output_tensor , 0 ) ) ;
67
+ Assert . AreEqual ( sizeof ( float ) * 2 , c_api_lite . TfLiteTensorByteSize ( output_tensor ) ) ;
68
+ Assert . IsNotNull ( c_api_lite . TfLiteTensorData ( output_tensor ) ) ;
69
+ Assert . AreEqual ( "output" , c_api_lite . StringPiece ( c_api_lite . TfLiteTensorName ( output_tensor ) ) ) ;
70
+
71
+ var output_params = c_api_lite . TfLiteTensorQuantizationParams ( output_tensor ) ;
72
+ Assert . AreEqual ( 0f , output_params . scale ) ;
73
+ Assert . AreEqual ( 0 , output_params . zero_point ) ;
74
+
75
+ var output = new float [ 2 ] ;
76
+ fixed ( float * addr = & output [ 0 ] )
77
+ {
78
+ Assert . AreEqual ( TfLiteStatus . kTfLiteOk ,
79
+ c_api_lite . TfLiteTensorCopyToBuffer ( output_tensor , new IntPtr ( addr ) , 2 * sizeof ( float ) ) ) ;
80
+ }
81
+ Assert . AreEqual ( 3f , output [ 0 ] ) ;
82
+ Assert . AreEqual ( 9f , output [ 1 ] ) ;
83
+
84
+ c_api_lite . TfLiteInterpreterDelete ( interpreter . DangerousGetHandle ( ) ) ;
56
85
}
57
86
}
58
87
}
0 commit comments