FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
TensorFlow.NET/src/TensorFlowNET.Core/Training/Trackable.cs at master · BOYMMM/TensorFlow.NET · GitHub
BOYMMM
/
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
/
Training
/
Trackable.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
76 lines (66 loc) · 2.89 KB
Breadcrumbs
TensorFlow.NET
/
src
/
TensorFlowNET.Core
/
Training
/
Trackable.cs
Copy path
File metadata and controls
76 lines (66 loc) · 2.89 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
/*****************************************************************************
Copyright 2018 The TensorFlow.NET Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
******************************************************************************/
using
System
;
namespace
Tensorflow
.
Train
{
public
abstract
class
Trackable
{
protected
int
_self_update_uid
;
/// <summary>
/// Restore-on-create for a variable be saved with this `Checkpointable`.
/// </summary>
/// <returns></returns>
protected
virtual
VariableV1
_add_variable_with_custom_getter
(
string
name
,
int
[
]
shape
,
TF_DataType
dtype
=
TF_DataType
.
TF_FLOAT
,
IInitializer
initializer
=
null
,
Func
<
string
,
int
[
]
,
TF_DataType
,
IInitializer
,
bool
,
VariableV1
>
getter
=
null
,
bool
overwrite
=
false
,
bool
trainable
=
false
)
{
var
checkpoint_initializer
=
true
;
var
new_variable
=
getter
(
name
,
shape
,
dtype
,
initializer
,
trainable
)
;
// If we set an initializer and the variable processed it, tracking will not
// assign again. It will add this variable to our dependencies, and if there
// is a non-trivial restoration queued, it will handle that. This also
// handles slot variables.
if
(
!
overwrite
||
new_variable
is
RefVariable
)
return
_track_checkpointable
(
new_variable
,
name
:
name
,
overwrite
:
overwrite
)
;
else
return
new_variable
;
}
/// <summary>
/// Pop and load any deferred checkpoint restores into `trackable`.
/// </summary>
/// <param name="name"></param>
/// <param name="trackable"></param>
protected
void
_handle_deferred_dependencies
(
string
name
,
VariableV1
trackable
)
{
_maybe_initialize_trackable
(
)
;
// TODO
}
protected
VariableV1
_track_checkpointable
(
VariableV1
checkpointable
,
string
name
,
bool
overwrite
=
false
)
{
return
checkpointable
;
}
/// <summary>
/// Initialize dependency management.
/// </summary>
protected
void
_maybe_initialize_trackable
(
)
{
// _self_unconditional_checkpoint_dependencies = []
_self_update_uid
=
-
1
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL