@@ -83,6 +83,7 @@ TFormVisualLearning = class(TForm)
83
83
FCritSec: TRTLCriticalSection;
84
84
FFit: TNeuralDataLoadingFit;
85
85
function GetDiscriminatorTrainingPair (Idx: integer; ThreadId: integer): TNNetVolumePair;
86
+ procedure GetDiscriminatorTrainingProc (Idx: integer; ThreadId: integer; pInput, pOutput: TNNetVolume);
86
87
procedure DiscriminatorOnAfterEpoch (Sender: TObject);
87
88
procedure DiscriminatorOnAfterStep (Sender: TObject);
88
89
procedure DiscriminatorAugmentation (pInput: TNNetVolume; ThreadId: integer);
@@ -408,7 +409,8 @@ procedure TFormVisualLearning.Learn( Sender: TObject);
408
409
end ;
409
410
{ $endif}
410
411
// Debug only: FFit.MaxThreadNum := 1;
411
- FFit.FitLoading(FDiscriminator, 64 *10 , 500 , 500 , 64 , 35000 , @GetDiscriminatorTrainingPair, nil , nil );
412
+ // FFit.FitLoading(FDiscriminator, 64*10, 500, 500, 64, 35000, @GetDiscriminatorTrainingPair, nil, nil); // This line does the same as below
413
+ FFit.FitLoading(FDiscriminator, 64 *10 , 500 , 500 , 64 , 35000 , @GetDiscriminatorTrainingProc, nil , nil ); // This line does the same as above
412
414
413
415
if Assigned(FGeneratives) then FreeAndNil(FGeneratives);
414
416
FGenerative.Free;
@@ -464,6 +466,16 @@ function TFormVisualLearning.GetDiscriminatorTrainingPair(Idx: integer; ThreadId
464
466
end ;
465
467
end ;
466
468
469
+ procedure TFormVisualLearning.GetDiscriminatorTrainingProc (Idx: integer;
470
+ ThreadId: integer; pInput, pOutput: TNNetVolume);
471
+ var
472
+ LocalPair: TNNetVolumePair;
473
+ begin
474
+ LocalPair := GetDiscriminatorTrainingPair(Idx, ThreadId);
475
+ pInput.Copy(LocalPair.I);
476
+ pOutput.Copy(LocalPair.O);
477
+ end ;
478
+
467
479
procedure TFormVisualLearning.DiscriminatorOnAfterEpoch (Sender: TObject);
468
480
var
469
481
LoopCnt, MaxLoop: integer;
0 commit comments