Skip to main content

%ML.ValidationRun

Class %ML.ValidationRun Extends %Persistent [ System = 4 ]

Properties​

TrainedModel​

Property TrainedModel As TrainedModel [ Required ];

Name​

Property Name As %String(MAXLEN = 275) [ Required ];

Validation Run name

StartedAt​

Property StartedAt As %TimeStamp [ InitialExpression = {$ZDATETIME($ZTIMESTAMP,3,1,3)}, Required ];

Time started (UTC)

CompletedAt​

Property CompletedAt As %TimeStamp;

Time completed (UTC)

ValidationDuration​

Property ValidationDuration As %Numeric [ SqlComputeCode = {Set {*}=##class(%ML.TrainingRun).GetInterval({StartedAt},{CompletedAt})}, SqlComputed, Transient ];

Training duration (in seconds)

ValidationQuery​

Property ValidationQuery As %String(MAXLEN = 32000);

Training query

RunStatus​

Property RunStatus As %String(DISPLAYLIST = ",Running,Completed,Failed", VALUELIST = ",running,completed,failed") [ InitialExpression = "running" ];

Validation status

StatusCode​

Property StatusCode As %Status [ InitialExpression = {$$$OK} ];

Validation error (if encountered)

Log​

Property Log As %Stream.GlobalCharacter;

Validation log output

Settings​

Property Settings As %Library.DynamicObject;

Settings for this training run

ValidationRunLocked​

Property ValidationRunLocked As %Boolean [ Calculated, Private, SqlComputeCode = { lock +^IRIS.ML.ValidationRun({%%ID}):0 if $test { set {*}=0 lock -^IRIS.ML.ValidationRun({%%ID}) } else { set {*}=1 }}, SqlComputed ];

ValidationRunLocked 1 if we cannot acquire a locko on this validation run, otherwise 0

TrainingRun​

Property TrainingRun As TrainingRun;

Optional reference to training run from which these results were gathered, if gathered at TRAIN time

Methods​

LogMsg​

Method LogMsg(msg As %String, save As %Boolean = 1) As %Status [ Internal ]

Log a timestamped message to the validation log