Begin
// Setting up Training options
Options.set(ValidationFrequecy 5)
Options.set(InitialLearnRate ←1e-4)
Options.set(LearnRateSchedule ← Piecewise)
Options.set(MiniBatchSize ←16)
Options.set(MaxEpochs ←50)
GAN LGraph2Net(GeLayers)
DISC LGraph2Net(DiLayers)
// Training GEN and DISC using imds
For i=1: MaxEpochs
batchImgs read(imds,BatchSize)
Imgs Shulfe(batchImgs)
latentIN gen(Imgs,GEN)
DPred Forward(DISC, latentIN)
GPred Forward(GEN, latentIN)
DProb Sigmoid(DPred)
GProb Mean(DProb)
Loss CalcLoss(DProb, GProb)
GAN CalcGradients(GAN.Learnables,Loss)
DISC CalcGradients(DISC.Learnables,Loss)
End for
End