From 5f0e775a8ef454fb0e4d897e9142680d177d3fa8 Mon Sep 17 00:00:00 2001 From: Oceania2018 Date: Thu, 14 Nov 2019 09:28:47 -0600 Subject: [PATCH] rename folder name Train to Training. --- .../TensorFlow.Binding.csproj | 1 - .../{Train => Training}/AdamOptimizer.cs | 0 .../{Train => Training}/AutoTrackable.cs | 0 .../Checkpointable/CheckpointableBase.cs | 0 .../Training/Coordinator.cs | 15 ++++++ .../{Train => Training}/Distribute.cs | 0 .../ExponentialMovingAverage.cs | 0 .../{Train => Training}/GateGradientType.cs | 0 .../GradientDescentOptimizer.cs | 48 ++++++++--------- .../{Train => Training}/Optimizer.cs | 0 .../{Train => Training}/QueueRunner.cs | 0 .../Saving/BaseSaverBuilder.cs | 0 .../Saving/BulkSaverBuilder.cs | 0 .../Saving/ISaverBuilder.cs | 0 .../Saving/ReferenceVariableSaveable.cs | 0 .../Saving/ResourceVariableSaveable.cs | 0 .../{Train => Training}/Saving/SaveSpec.cs | 0 .../Saving/SaveableObject.cs | 0 .../{Train => Training}/Saving/Saver.cs | 0 .../Saving/checkpoint_management.py.cs | 0 .../Saving/saveable_object_util.py.cs | 0 .../{Train => Training}/Saving/saver.py.cs | 0 .../Training/SecondOrStepTimer.cs | 43 +++++++++++++++ .../{Train => Training}/SessionRunArgs.cs | 2 +- .../{Train => Training}/SessionRunContext.cs | 2 +- .../Training/SessionRunHook.cs | 52 +++++++++++++++++++ .../{Train => Training}/SessionRunValues.cs | 2 +- .../{Train => Training}/SlotCreator.cs | 0 .../{Train => Training}/Trackable.cs | 0 .../{Train => Training}/TrainingUtil.cs | 0 .../VariableAggregationType.cs | 0 src/TensorFlowNET.Core/Training/_HookTimer.cs | 38 ++++++++++++++ .../{Train => Training}/_MonitoredSession.cs | 0 .../_OptimizableVariable.cs | 0 .../gen_training_ops.py.cs | 0 .../{Train => Training}/moving_averages.cs | 0 .../{Train => Training}/optimizer.py.cs | 0 37 files changed, 175 insertions(+), 28 deletions(-) rename src/TensorFlowNET.Core/{Train => Training}/AdamOptimizer.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/AutoTrackable.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Checkpointable/CheckpointableBase.cs (100%) create mode 100644 src/TensorFlowNET.Core/Training/Coordinator.cs rename src/TensorFlowNET.Core/{Train => Training}/Distribute.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/ExponentialMovingAverage.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/GateGradientType.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/GradientDescentOptimizer.cs (99%) rename src/TensorFlowNET.Core/{Train => Training}/Optimizer.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/QueueRunner.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/BaseSaverBuilder.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/BulkSaverBuilder.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/ISaverBuilder.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/ReferenceVariableSaveable.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/ResourceVariableSaveable.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/SaveSpec.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/SaveableObject.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/Saver.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/checkpoint_management.py.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/saveable_object_util.py.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Saving/saver.py.cs (100%) create mode 100644 src/TensorFlowNET.Core/Training/SecondOrStepTimer.cs rename src/TensorFlowNET.Core/{Train => Training}/SessionRunArgs.cs (79%) rename src/TensorFlowNET.Core/{Train => Training}/SessionRunContext.cs (95%) create mode 100644 src/TensorFlowNET.Core/Training/SessionRunHook.cs rename src/TensorFlowNET.Core/{Train => Training}/SessionRunValues.cs (80%) rename src/TensorFlowNET.Core/{Train => Training}/SlotCreator.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/Trackable.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/TrainingUtil.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/VariableAggregationType.cs (100%) create mode 100644 src/TensorFlowNET.Core/Training/_HookTimer.cs rename src/TensorFlowNET.Core/{Train => Training}/_MonitoredSession.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/_OptimizableVariable.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/gen_training_ops.py.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/moving_averages.cs (100%) rename src/TensorFlowNET.Core/{Train => Training}/optimizer.py.cs (100%) diff --git a/src/TensorFlowNET.Core/TensorFlow.Binding.csproj b/src/TensorFlowNET.Core/TensorFlow.Binding.csproj index 712e4aed..39279808 100644 --- a/src/TensorFlowNET.Core/TensorFlow.Binding.csproj +++ b/src/TensorFlowNET.Core/TensorFlow.Binding.csproj @@ -67,7 +67,6 @@ https://tensorflownet.readthedocs.io - diff --git a/src/TensorFlowNET.Core/Train/AdamOptimizer.cs b/src/TensorFlowNET.Core/Training/AdamOptimizer.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/AdamOptimizer.cs rename to src/TensorFlowNET.Core/Training/AdamOptimizer.cs diff --git a/src/TensorFlowNET.Core/Train/AutoTrackable.cs b/src/TensorFlowNET.Core/Training/AutoTrackable.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/AutoTrackable.cs rename to src/TensorFlowNET.Core/Training/AutoTrackable.cs diff --git a/src/TensorFlowNET.Core/Train/Checkpointable/CheckpointableBase.cs b/src/TensorFlowNET.Core/Training/Checkpointable/CheckpointableBase.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Checkpointable/CheckpointableBase.cs rename to src/TensorFlowNET.Core/Training/Checkpointable/CheckpointableBase.cs diff --git a/src/TensorFlowNET.Core/Training/Coordinator.cs b/src/TensorFlowNET.Core/Training/Coordinator.cs new file mode 100644 index 00000000..33c787b4 --- /dev/null +++ b/src/TensorFlowNET.Core/Training/Coordinator.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tensorflow.Training +{ + /// + /// A coordinator for threads + /// + public class Coordinator + { + } +} diff --git a/src/TensorFlowNET.Core/Train/Distribute.cs b/src/TensorFlowNET.Core/Training/Distribute.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Distribute.cs rename to src/TensorFlowNET.Core/Training/Distribute.cs diff --git a/src/TensorFlowNET.Core/Train/ExponentialMovingAverage.cs b/src/TensorFlowNET.Core/Training/ExponentialMovingAverage.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/ExponentialMovingAverage.cs rename to src/TensorFlowNET.Core/Training/ExponentialMovingAverage.cs diff --git a/src/TensorFlowNET.Core/Train/GateGradientType.cs b/src/TensorFlowNET.Core/Training/GateGradientType.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/GateGradientType.cs rename to src/TensorFlowNET.Core/Training/GateGradientType.cs diff --git a/src/TensorFlowNET.Core/Train/GradientDescentOptimizer.cs b/src/TensorFlowNET.Core/Training/GradientDescentOptimizer.cs similarity index 99% rename from src/TensorFlowNET.Core/Train/GradientDescentOptimizer.cs rename to src/TensorFlowNET.Core/Training/GradientDescentOptimizer.cs index d4682066..73359c4b 100644 --- a/src/TensorFlowNET.Core/Train/GradientDescentOptimizer.cs +++ b/src/TensorFlowNET.Core/Training/GradientDescentOptimizer.cs @@ -1,26 +1,26 @@ -/***************************************************************************** - 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. +/***************************************************************************** + 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. ******************************************************************************/ namespace Tensorflow.Train { - /// - /// Optimizer that implements the gradient descent algorithm. + /// + /// Optimizer that implements the gradient descent algorithm. /// public class GradientDescentOptimizer : Optimizer - { + { /// /// Construct a new gradient descent optimizer. /// @@ -41,9 +41,9 @@ namespace Tensorflow.Train { _lr = learning_rate; _useTensor = false; - } - - public GradientDescentOptimizer(Tensor learning_rate, bool use_locking = false, string name = "GradientDescent") + } + + public GradientDescentOptimizer(Tensor learning_rate, bool use_locking = false, string name = "GradientDescent") : base(learning_rate, use_locking, name) { _lr_t = learning_rate; @@ -52,10 +52,10 @@ namespace Tensorflow.Train public override void _prepare() { - if(!_useTensor) - { - var lr = _call_if_callable(_lr); - _lr_t = ops.convert_to_tensor(lr, name: "learning_rate"); + if(!_useTensor) + { + var lr = _call_if_callable(_lr); + _lr_t = ops.convert_to_tensor(lr, name: "learning_rate"); } } diff --git a/src/TensorFlowNET.Core/Train/Optimizer.cs b/src/TensorFlowNET.Core/Training/Optimizer.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Optimizer.cs rename to src/TensorFlowNET.Core/Training/Optimizer.cs diff --git a/src/TensorFlowNET.Core/Train/QueueRunner.cs b/src/TensorFlowNET.Core/Training/QueueRunner.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/QueueRunner.cs rename to src/TensorFlowNET.Core/Training/QueueRunner.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/BaseSaverBuilder.cs b/src/TensorFlowNET.Core/Training/Saving/BaseSaverBuilder.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/BaseSaverBuilder.cs rename to src/TensorFlowNET.Core/Training/Saving/BaseSaverBuilder.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/BulkSaverBuilder.cs b/src/TensorFlowNET.Core/Training/Saving/BulkSaverBuilder.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/BulkSaverBuilder.cs rename to src/TensorFlowNET.Core/Training/Saving/BulkSaverBuilder.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/ISaverBuilder.cs b/src/TensorFlowNET.Core/Training/Saving/ISaverBuilder.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/ISaverBuilder.cs rename to src/TensorFlowNET.Core/Training/Saving/ISaverBuilder.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/ReferenceVariableSaveable.cs b/src/TensorFlowNET.Core/Training/Saving/ReferenceVariableSaveable.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/ReferenceVariableSaveable.cs rename to src/TensorFlowNET.Core/Training/Saving/ReferenceVariableSaveable.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/ResourceVariableSaveable.cs b/src/TensorFlowNET.Core/Training/Saving/ResourceVariableSaveable.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/ResourceVariableSaveable.cs rename to src/TensorFlowNET.Core/Training/Saving/ResourceVariableSaveable.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/SaveSpec.cs b/src/TensorFlowNET.Core/Training/Saving/SaveSpec.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/SaveSpec.cs rename to src/TensorFlowNET.Core/Training/Saving/SaveSpec.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/SaveableObject.cs b/src/TensorFlowNET.Core/Training/Saving/SaveableObject.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/SaveableObject.cs rename to src/TensorFlowNET.Core/Training/Saving/SaveableObject.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/Saver.cs b/src/TensorFlowNET.Core/Training/Saving/Saver.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/Saver.cs rename to src/TensorFlowNET.Core/Training/Saving/Saver.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/checkpoint_management.py.cs b/src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/checkpoint_management.py.cs rename to src/TensorFlowNET.Core/Training/Saving/checkpoint_management.py.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/saveable_object_util.py.cs b/src/TensorFlowNET.Core/Training/Saving/saveable_object_util.py.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/saveable_object_util.py.cs rename to src/TensorFlowNET.Core/Training/Saving/saveable_object_util.py.cs diff --git a/src/TensorFlowNET.Core/Train/Saving/saver.py.cs b/src/TensorFlowNET.Core/Training/Saving/saver.py.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Saving/saver.py.cs rename to src/TensorFlowNET.Core/Training/Saving/saver.py.cs diff --git a/src/TensorFlowNET.Core/Training/SecondOrStepTimer.cs b/src/TensorFlowNET.Core/Training/SecondOrStepTimer.cs new file mode 100644 index 00000000..fe13405f --- /dev/null +++ b/src/TensorFlowNET.Core/Training/SecondOrStepTimer.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tensorflow.Training +{ + public class SecondOrStepTimer : _HookTimer + { + int _every_secs = 60; + int _every_steps = 0; + int _last_triggered_step = 0; + int _last_triggered_time = 0; + + public SecondOrStepTimer(int every_secs, int every_steps) + { + _every_secs = every_secs; + _every_steps = every_steps; + } + + public override void reset() + { + _last_triggered_step = 0; + _last_triggered_time = 0; + } + + public override int last_triggered_step() + { + return _last_triggered_step; + } + + public override bool should_trigger_for_step(int step) + { + throw new NotImplementedException(); + } + + public override void update_last_triggered_step(int step) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/TensorFlowNET.Core/Train/SessionRunArgs.cs b/src/TensorFlowNET.Core/Training/SessionRunArgs.cs similarity index 79% rename from src/TensorFlowNET.Core/Train/SessionRunArgs.cs rename to src/TensorFlowNET.Core/Training/SessionRunArgs.cs index 00d473e1..7c089634 100644 --- a/src/TensorFlowNET.Core/Train/SessionRunArgs.cs +++ b/src/TensorFlowNET.Core/Training/SessionRunArgs.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Tensorflow.Train +namespace Tensorflow.Training { public class SessionRunArgs { diff --git a/src/TensorFlowNET.Core/Train/SessionRunContext.cs b/src/TensorFlowNET.Core/Training/SessionRunContext.cs similarity index 95% rename from src/TensorFlowNET.Core/Train/SessionRunContext.cs rename to src/TensorFlowNET.Core/Training/SessionRunContext.cs index cf8bdc05..6c119593 100644 --- a/src/TensorFlowNET.Core/Train/SessionRunContext.cs +++ b/src/TensorFlowNET.Core/Training/SessionRunContext.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Tensorflow.Train +namespace Tensorflow.Training { public class SessionRunContext { diff --git a/src/TensorFlowNET.Core/Training/SessionRunHook.cs b/src/TensorFlowNET.Core/Training/SessionRunHook.cs new file mode 100644 index 00000000..ce3a2200 --- /dev/null +++ b/src/TensorFlowNET.Core/Training/SessionRunHook.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tensorflow.Training +{ + /// + /// Hook to extend calls to MonitoredSession.run(). + /// + public abstract class SessionRunHook + { + /// + /// Called once before using the session. + /// + public virtual void begin() + { + } + + /// + /// Called when new TensorFlow session is created. + /// + /// + /// + public virtual void after_create_session(Session session, Coordinator coord) + { + } + + /// + /// Called before each call to run(). + /// + /// + public virtual void before_run(SessionRunContext run_context) + { + } + + /// + /// Called after each call to run(). + /// + public virtual void after_run(SessionRunContext run_context, SessionRunValues run_values) + { + } + + /// + /// Called at the end of session. + /// + public virtual void end(Session session) + { + } + } +} diff --git a/src/TensorFlowNET.Core/Train/SessionRunValues.cs b/src/TensorFlowNET.Core/Training/SessionRunValues.cs similarity index 80% rename from src/TensorFlowNET.Core/Train/SessionRunValues.cs rename to src/TensorFlowNET.Core/Training/SessionRunValues.cs index 655c3310..d93e8347 100644 --- a/src/TensorFlowNET.Core/Train/SessionRunValues.cs +++ b/src/TensorFlowNET.Core/Training/SessionRunValues.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Tensorflow.Train +namespace Tensorflow.Training { public class SessionRunValues { diff --git a/src/TensorFlowNET.Core/Train/SlotCreator.cs b/src/TensorFlowNET.Core/Training/SlotCreator.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/SlotCreator.cs rename to src/TensorFlowNET.Core/Training/SlotCreator.cs diff --git a/src/TensorFlowNET.Core/Train/Trackable.cs b/src/TensorFlowNET.Core/Training/Trackable.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/Trackable.cs rename to src/TensorFlowNET.Core/Training/Trackable.cs diff --git a/src/TensorFlowNET.Core/Train/TrainingUtil.cs b/src/TensorFlowNET.Core/Training/TrainingUtil.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/TrainingUtil.cs rename to src/TensorFlowNET.Core/Training/TrainingUtil.cs diff --git a/src/TensorFlowNET.Core/Train/VariableAggregationType.cs b/src/TensorFlowNET.Core/Training/VariableAggregationType.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/VariableAggregationType.cs rename to src/TensorFlowNET.Core/Training/VariableAggregationType.cs diff --git a/src/TensorFlowNET.Core/Training/_HookTimer.cs b/src/TensorFlowNET.Core/Training/_HookTimer.cs new file mode 100644 index 00000000..295de165 --- /dev/null +++ b/src/TensorFlowNET.Core/Training/_HookTimer.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tensorflow.Training +{ + /// + /// Base timer for determining when Hooks should trigger. + /// + public abstract class _HookTimer + { + /// + /// Resets the timer. + /// + public abstract void reset(); + + /// + /// Return true if the timer should trigger for the specified step. + /// + /// + /// + public abstract bool should_trigger_for_step(int step); + + /// + /// Update the last triggered time and step number. + /// + /// + public abstract void update_last_triggered_step(int step); + + /// + /// Returns the last triggered time step or None if never triggered. + /// + /// + public abstract int last_triggered_step(); + } +} diff --git a/src/TensorFlowNET.Core/Train/_MonitoredSession.cs b/src/TensorFlowNET.Core/Training/_MonitoredSession.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/_MonitoredSession.cs rename to src/TensorFlowNET.Core/Training/_MonitoredSession.cs diff --git a/src/TensorFlowNET.Core/Train/_OptimizableVariable.cs b/src/TensorFlowNET.Core/Training/_OptimizableVariable.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/_OptimizableVariable.cs rename to src/TensorFlowNET.Core/Training/_OptimizableVariable.cs diff --git a/src/TensorFlowNET.Core/Train/gen_training_ops.py.cs b/src/TensorFlowNET.Core/Training/gen_training_ops.py.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/gen_training_ops.py.cs rename to src/TensorFlowNET.Core/Training/gen_training_ops.py.cs diff --git a/src/TensorFlowNET.Core/Train/moving_averages.cs b/src/TensorFlowNET.Core/Training/moving_averages.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/moving_averages.cs rename to src/TensorFlowNET.Core/Training/moving_averages.cs diff --git a/src/TensorFlowNET.Core/Train/optimizer.py.cs b/src/TensorFlowNET.Core/Training/optimizer.py.cs similarity index 100% rename from src/TensorFlowNET.Core/Train/optimizer.py.cs rename to src/TensorFlowNET.Core/Training/optimizer.py.cs