/// <summary> /// Create a reporter hook that reports the maximisation back to a given panel. /// </summary> /// <param name="panel">The panel this hook reports back to.</param> /// <param name="desiredTargets">The desired target of the maximisation.</param> /// <param name="timestep">The timestep this hook executes on.</param> public VisualTargetMaximisationReporter(BitmapHookPanel panel, INDArray desiredTargets, ITimeStep timestep) : this(panel, desiredTargets, 0.05, timestep) { }
/// <summary> /// Set the panel this hook reports back. /// </summary> /// <param name="panel">The new target panel.</param> public void SetPanel(BitmapHookPanel panel) { ParameterRegistry[TargetPanel] = panel; }
/// <summary> /// Handle a successful maximisation. /// </summary> /// <param name="handler">The computation handler.</param> /// <param name="inputs">The inputs.</param> /// <param name="desiredTargets">The desired targets.</param> protected override void OnTargetMaximisationSuccess(IComputationHandler handler, INDArray inputs, INDArray desiredTargets) { BitmapHookPanel panel = (BitmapHookPanel)ParameterRegistry[TargetPanel]; panel.Update(ParameterRegistry, handler, inputs, desiredTargets); }
/// <summary> /// Create a reporter hook that reports the maximisation back to a given panel. /// </summary> /// <param name="panel">The panel this hook reports back to.</param> /// <param name="desiredTargets">The desired target of the maximisation.</param> /// <param name="desiredCost">The desired cost.</param> /// <param name="timestep">The timestep this hook executes on.</param> public VisualTargetMaximisationReporter(BitmapHookPanel panel, INDArray desiredTargets, double desiredCost, ITimeStep timestep) : this(desiredTargets, desiredCost, timestep) { SetPanel(panel); }