FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
TensorFlow.NET/src/TensorFlowNET.Core/Eager/EagerTensor.cs at master · pathway27/TensorFlow.NET · GitHub
pathway27
/
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
/
src
/
TensorFlowNET.Core
/
Eager
/
EagerTensor.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
62 lines (55 loc) · 2.24 KB
Breadcrumbs
TensorFlow.NET
/
src
/
TensorFlowNET.Core
/
Eager
/
EagerTensor.cs
Copy path
File metadata and controls
62 lines (55 loc) · 2.24 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
using
NumSharp
;
using
System
;
using
System
.
Collections
.
Generic
;
using
System
.
Text
;
using
static
Tensorflow
.
Binding
;
namespace
Tensorflow
.
Eager
{
public
partial
class
EagerTensor
:
Tensor
{
public
IntPtr
EagerTensorHandle
;
public
override
string
Device
=>
c_api
.
StringPiece
(
c_api
.
TFE_TensorHandleDeviceName
(
EagerTensorHandle
,
tf
.
status
.
Handle
)
)
;
public
override
int
rank
=>
c_api
.
TFE_TensorHandleNumDims
(
EagerTensorHandle
,
tf
.
status
.
Handle
)
;
public
static
int
GetRank
(
IntPtr
handle
)
{
var
tfe_tensor_handle
=
c_api
.
TFE_EagerTensorHandle
(
handle
)
;
return
c_api
.
TFE_TensorHandleNumDims
(
tfe_tensor_handle
,
tf
.
status
.
Handle
)
;
}
public
static
int
[
]
GetDims
(
IntPtr
handle
)
{
var
tfe_tensor_handle
=
c_api
.
TFE_EagerTensorHandle
(
handle
)
;
var
dims
=
new
int
[
c_api
.
TFE_TensorHandleNumDims
(
tfe_tensor_handle
,
tf
.
status
.
Handle
)
]
;
for
(
int
i
=
0
;
i
<
dims
.
Length
;
i
++
)
dims
[
i
]
=
c_api
.
TFE_TensorHandleDim
(
tfe_tensor_handle
,
i
,
tf
.
status
.
Handle
)
;
return
dims
;
}
public
override
string
ToString
(
)
{
switch
(
rank
)
{
case
-
1
:
return
$
"tf.Tensor: shape=<unknown>, dtype=
{
dtype
.
as_numpy_name
(
)
}
, numpy=
{
GetFormattedString
(
dtype
,
numpy
(
)
)
}
"
;
case
0
:
return
$
"tf.Tensor: shape=(), dtype=
{
dtype
.
as_numpy_name
(
)
}
, numpy=
{
GetFormattedString
(
dtype
,
numpy
(
)
)
}
"
;
default
:
return
$
"tf.Tensor: shape=(
{
string
.
Join
(
","
,
shape
)
}
), dtype=
{
dtype
.
as_numpy_name
(
)
}
, numpy=
{
GetFormattedString
(
dtype
,
numpy
(
)
)
}
"
;
}
}
public
static
string
GetFormattedString
(
TF_DataType
dtype
,
NDArray
nd
)
{
if
(
nd
.
size
==
0
)
return
"[]"
;
switch
(
dtype
)
{
case
TF_DataType
.
TF_STRING
:
return
$
"b'
{
(
string
)
nd
}
'"
;
case
TF_DataType
.
TF_BOOL
:
return
(
nd
.
GetByte
(
0
)
>
0
)
.
ToString
(
)
;
case
TF_DataType
.
TF_RESOURCE
:
return
"<unprintable>"
;
default
:
return
nd
.
ToString
(
)
;
}
}
}
}
Back
|
FazBrowse Home
|
New Git URL