How does Nvidia Digits batch size and data shuffling work?

125 views Asked by At

I am trying to train a neural network to detect steganographic images using Tensorflow and Nvidia Digits. I loaded a data set which has two sub directories - Cover Images and Steg Images. I think the network has to process the cover/stegano image pairs together to learn which are the covers and which are steganographic images. Am I correct?

How does batch size work? If I give 1 does it take one image from both sub directories and process them? or do I have to input batch number as 2 for that?

How does shuffling data on each epoch work? does it shuffle both sub directories equally? as an example will 1.jpg be the third photo on both folders or will it be different on them both?

1

There are 1 answers

0
budist On

I think the network has to process the cover/stegano image pairs together to learn which are the covers and which are steganographic images. Am I correct?

I am not familiar with object detection (right?) in Nvidia Digits, so please check out their tutorials for more information. You need to think about the kind of labeling the training data first. Usually in the examples I see only use one training folder and one validation folder (each: images and labels) - Digits divides your dataset, e.g. into 90 % training and 10 % validation images.

How does batch size work? If I give 1 does it take one image from both sub directories and process them? or do I have to input batch number as 2 for that?

With batch number you tell Digits how many images you use per iteration. It's used for dataset division (memory for calculations is limited; you can't fit the whole dataset into one iteration). In one epoch the whole dataset is processed. As written above, one image at a time, as far as I know.

How does shuffling data on each epoch work? does it shuffle both sub directories equally? as an example will 1.jpg be the third photo on both folders or will it be different on them both?

The data should be shuffled automatically.