Exemplo n.º 1
0
        static void UpdateLearningRate(IOptimizer optimizer, Variable step, LearningRateSchedule learningRateSchedule)
        {
            Tensor learningRate          = learningRateSchedule.Get(step: step);
            var    optimizerLearningRate = optimizer.DynamicGet <Variable>("lr");

            optimizerLearningRate.assign(learningRate);
        }
Exemplo n.º 2
0
        static void WriteLosses(IOptimizer optimizer, Variable globalSteps, Loss losses)
        {
            // tf v1 does not actually export summary.experimental.set_step
            context.context_().summary_step = globalSteps;

            void Scalar(string name, IGraphNodeBase value)
            => summary_ops_v2.scalar(name, value, step: globalSteps);

            Scalar("lr", optimizer.DynamicGet <Variable>("lr"));
            Scalar("loss/total_loss", losses.GIUO + losses.Conf + losses.Prob);
            Scalar("loss/giou_loss", losses.GIUO);
            Scalar("loss/conf_loss", losses.Conf);
            Scalar("loss/prob_loss", losses.Prob);
        }