ImageInputLayer Error in deep learning toolbox

35 views (last 30 days)
Hi there!
I would be thankful for any help. I faced with this error:
Error using dlnetwork (line 117)
Invalid network.
Caused by:
Layer 'input': Empty Mean property. For an image input layer with 'zerocenter' normalization, specify a nonempty value
for the Mean property.
inputlayer = imageInputLayer([28 28 3],'Name','input')
Why in my case, it needs to determine the "Mean" while in that example the Mean=[] did not make a problem?

Accepted Answer

Srivardhan Gadila
Srivardhan Gadila on 18 Dec 2020
In case of layerGraph based approach we use trainNetwork to train the network and this function takes the entire data for the training. In case imageInputLayer the Normalization used is 'zerocenter' by default and Mean is '[ ]' by default i.e., the software calculates the mean at training time on the complete data within the trainNetwork function.
In case of dlnetwork based approach we won't use the trainNetwork function and instead use custom training loops. In this case we pass minibatches (minibatchqueue) of the data during each iteration of custom training loop. Hence the mean is not automatically calculated here.
Fore more information refer to the documentation of imageInputLayer, imageInputLayer - Properties, dlnetwork, layerGraph & trainNetwork.
This issue is known to the concerned people and they may address it in future releases.
  1 Comment
Steven Pan
Steven Pan on 16 Aug 2022
Thank you for the answer, this is exactly what I am searching for. In this case, how can we calculate the mean or min or max before we see the data? Currently I can only assume min = 0 and max = 255, but this can't be guaranteed.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!