FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
TensorFlow.NET/test/TensorFlowNET.UnitTest/SessionTest.cs at master · dot-nethub/TensorFlow.NET · GitHub
dot-nethub
/
TensorFlow.NET
Public
forked from
SciSharp/TensorFlow.NET
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
TensorFlow.NET
/
test
/
TensorFlowNET.UnitTest
/
SessionTest.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
92 lines (79 loc) · 3.05 KB
Breadcrumbs
TensorFlow.NET
/
test
/
TensorFlowNET.UnitTest
/
SessionTest.cs
Copy path
File metadata and controls
92 lines (79 loc) · 3.05 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using
Microsoft
.
VisualStudio
.
TestTools
.
UnitTesting
;
using
NumSharp
;
using
System
;
using
System
.
Collections
.
Generic
;
using
Tensorflow
;
using
static
Tensorflow
.
Python
;
namespace
TensorFlowNET
.
UnitTest
{
[
TestClass
]
public
class
SessionTest
:
CApiTest
{
/// <summary>
/// tensorflow\c\c_api_test.cc
/// `TEST(CAPI, Session)`
/// </summary>
[
TestMethod
]
public
void
Session
(
)
{
var
s
=
new
Status
(
)
;
var
graph
=
new
Graph
(
)
;
// Make a placeholder operation.
var
feed
=
c_test_util
.
Placeholder
(
graph
,
s
)
;
// Make a constant operation with the scalar "2".
var
two
=
c_test_util
.
ScalarConst
(
2
,
graph
,
s
)
;
// Add operation.
var
add
=
c_test_util
.
Add
(
feed
,
two
,
graph
,
s
)
;
var
csession
=
new
CSession
(
graph
,
s
)
;
ASSERT_EQ
(
TF_Code
.
TF_OK
,
s
.
Code
)
;
// Run the graph.
var
inputs
=
new
Dictionary
<
Operation
,
Tensor
>
(
)
;
inputs
.
Add
(
feed
,
new
Tensor
(
3
)
)
;
csession
.
SetInputs
(
inputs
)
;
var
outputs
=
new
TF_Output
[
]
{
new
TF_Output
(
add
,
0
)
}
;
csession
.
SetOutputs
(
outputs
)
;
csession
.
Run
(
s
)
;
Tensor
outTensor
=
csession
.
output_tensor
(
0
)
;
EXPECT_EQ
(
TF_DataType
.
TF_INT32
,
outTensor
.
dtype
)
;
EXPECT_EQ
(
0
,
outTensor
.
NDims
)
;
ASSERT_EQ
(
(
ulong
)
sizeof
(
uint
)
,
outTensor
.
bytesize
)
;
var
output_contents
=
outTensor
.
Data
<
int
>
(
)
;
EXPECT_EQ
(
3
+
2
,
output_contents
[
0
]
)
;
// Add another operation to the graph.
var
neg
=
c_test_util
.
Neg
(
add
,
graph
,
s
)
;
ASSERT_EQ
(
TF_Code
.
TF_OK
,
s
.
Code
)
;
// Run up to the new operation.
inputs
=
new
Dictionary
<
Operation
,
Tensor
>
(
)
;
inputs
.
Add
(
feed
,
new
Tensor
(
7
)
)
;
csession
.
SetInputs
(
inputs
)
;
outputs
=
new
TF_Output
[
]
{
new
TF_Output
(
neg
,
0
)
}
;
csession
.
SetOutputs
(
outputs
)
;
csession
.
Run
(
s
)
;
ASSERT_EQ
(
TF_Code
.
TF_OK
,
s
.
Code
)
;
outTensor
=
csession
.
output_tensor
(
0
)
;
ASSERT_TRUE
(
outTensor
!=
IntPtr
.
Zero
)
;
EXPECT_EQ
(
TF_DataType
.
TF_INT32
,
outTensor
.
dtype
)
;
EXPECT_EQ
(
0
,
outTensor
.
NDims
)
;
// scalar
ASSERT_EQ
(
(
ulong
)
sizeof
(
uint
)
,
outTensor
.
bytesize
)
;
output_contents
=
outTensor
.
Data
<
int
>
(
)
;
EXPECT_EQ
(
-
(
7
+
2
)
,
output_contents
[
0
]
)
;
// Clean up
csession
.
CloseAndDelete
(
s
)
;
ASSERT_EQ
(
TF_Code
.
TF_OK
,
s
.
Code
)
;
graph
.
Dispose
(
)
;
s
.
Dispose
(
)
;
}
[
TestMethod
]
public
void
EvalTensor
(
)
{
var
a
=
constant_op
.
constant
(
np
.
array
(
3.0
)
.
reshape
(
1
,
1
)
)
;
var
b
=
constant_op
.
constant
(
np
.
array
(
2.0
)
.
reshape
(
1
,
1
)
)
;
var
c
=
math_ops
.
matmul
(
a
,
b
,
name
:
"matmul"
)
;
with
(
tf
.
Session
(
)
,
delegate
{
var
result
=
c
.
eval
(
)
;
Assert
.
AreEqual
(
6
,
result
.
Data
<
double
>
(
)
[
0
]
)
;
}
)
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL