In the example, 25 images are generated. How do I generate one image

In this GAN example, 25 images were generated, I wanted to generate 1 image, and I changed the code
‘numValidationImages = 25’ to ‘numValidationImages = 1’
This is the image I generated after training. What went wrong

 Accepted Answer

The imtile command should be removed when you only have one image:
Go down to the Generate New Images section and change numObservations
numObservations = 1;
ZNew = randn(numLatentInputs,numObservations,"single");
ZNew = dlarray(ZNew,"CB");
if canUseGPU
ZNew = gpuArray(ZNew);
end
XGeneratedNew = predict(netG,ZNew);
% I = imtile(extractdata(XGeneratedNew)); % Use this if numObservations is > 1
I = extractdata(XGeneratedNew); % Use this if numObservations == 1
I = rescale(I);
figure
image(I)
axis off
title("Generated Images")

1 Comment

Thank you very much. I have solved it.Your advice is very useful

Sign in to comment.

More Answers (1)

numObservations = 1;
ZNew = randn(numLatentInputs,numObservations,"single");
ZNew = dlarray(ZNew,"CB");
if canUseGPU
ZNew = gpuArray(ZNew);
end
XGeneratedNew = predict(netG,ZNew);
% I = imtile(extractdata(XGeneratedNew)); % Use this if numObservations is > 1
I = extractdata(XGeneratedNew); % Use this if numObservations == 1
I = rescale(I);
figure
image(I)
axis off
title("Generated Images")

Products

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!