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 · dmnhwjin/TensorFlow.NET · GitHub
dmnhwjin
/
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
82 lines (71 loc) · 3.14 KB
Breadcrumbs
TensorFlow.NET
/
src
/
TensorFlowNET.Core
/
Training
/
Trackable.cs
Copy path
File metadata and controls
82 lines (71 loc) · 3.14 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
/*****************************************************************************
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
static
Tensorflow
.
Binding
;
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
IVariableV1
_add_variable_with_custom_getter
(
VariableArgs
args
)
{
tf_with
(
ops
.
init_scope
(
)
,
delegate
{
#pragma warning disable
CS0219
// Variable is assigned but its value is never used
IInitializer
checkpoint_initializer
=
null
;
#pragma warning restore
CS0219
// Variable is assigned but its value is never used
if
(
tf
.
Context
.
executing_eagerly
(
)
)
#pragma warning disable
CS0642
// Possible mistaken empty statement
;
#pragma warning restore
CS0642
// Possible mistaken empty statement
else
checkpoint_initializer
=
null
;
}
)
;
var
new_variable
=
args
.
Getter
(
args
)
;
// 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
(
!
args
.
Overwrite
||
new_variable
is
RefVariable
)
return
_track_checkpointable
(
new_variable
,
name
:
args
.
Name
,
overwrite
:
args
.
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
,
IVariableV1
trackable
)
{
_maybe_initialize_trackable
(
)
;
// TODO
}
protected
IVariableV1
_track_checkpointable
(
IVariableV1
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