is an option for NetTrain and related functions that specifies how to report the progress of training.


  • The following settings for TrainingProgressReporting can be used:
  • "Panel"show a dynamically updating graphical panel
    "Print"periodically report information using Print
    "ProgressIndicator"show a simple ProgressIndicator
    Function[]display a custom dynamically updated result
    File[]write the report to a file
    Nonedo not report any information
  • The default setting of TrainingProgressReporting->Automatic will use "Panel" when a local notebook front end is evaluable; otherwise, it will use "Print".
  • Setting TrainingProgressReporting->{form,"Interval"->n} will report progress every n seconds.
  • Setting TrainingProgressReporting->{form,"Interval"->Quantity[n,"unit"]} specifies the interval at which to report progress. Possible forms of "unit" include:
  • "Rounds"net training rounds
    "Batches"training data batches
    "Seconds","Minutes","Hours"absolute time
  • The default interval depends on the form of reporting:
  • "Panel"Quantity[0.33,"Seconds"]
  • Setting TrainingProgressReporting->{form,,"MinimumInterval"n} specifies that progress should not be reported more frequently than once every n seconds.
  • The default minimum interval for TrainingProgressReporting->Function[] is 0.05 seconds. For all other reporting types, there is no minimum interval.
  • The pure function in TrainingProgressReporting->Function[] will be supplied with the association described in TrainingProgressFunction.
  • The following file extensions are supported for TrainingProgressReporting->File[]:
  • "CSV"comma-separated values
    "TSV"tab-separated values
    "JSON"JavaScript object notation
    "WL"Wolfram Language representation
  • For TrainingProgressReporting"Print" and TrainingProgressReportingFile[], some measurements specified via TrainingProgressMeasurements may be reported in aggregated form or not reported at all. For class-based measurements like "Precision", "Recall", "F1Score", etc., the macro-average is reported. For nonscalar NetPort[] measurements, the scalar mean is reported. For "ROCCurve" and "ConfusionMatrix", no value is reported.


open all close all

Basic Examples  (6)

Show training progress interactively during training:

Click for copyable input

Print training progress periodically during training:

Click for copyable input

Show a simple progress indicator:

Click for copyable input
Click for copyable input

Perform custom reporting:

Click for copyable input
Click for copyable input
Click for copyable input

Write training progress information to a file:

Click for copyable input

Do not report progress:

Click for copyable input

Options  (1)

Properties & Relations  (1)

Neat Examples  (1)

Introduced in 2017
Updated in 2019