Normalization range: 0/+1 or -1/+1 ? Bit depth for visual observations?

Hi, so far I’ve normalized my vector observations to -1/+1, not 0/+1. I never encountered any problems, but also didn’t really check if ML-Agents had any preference one way or the other. Does it?

Now I’d like to encode 2D float data as visual observations with a custom sensor. Could there be any issues (maybe with convolution?), if I write -1/+1 floats here as well? (I’m not encoding my floats in a texture and I don’t use PNG compression.)
Also, are visual observations expected to have 8 bits per channel? Or can ML-Agents take advantage of more granular observation data on the Python side? Thanks!

Hi mbaske,

There should be no issue with you using -1 to 1 as opposed to 0 to 1 from the perspective of the network.

The visual observations are compressed into png, which acts as the bottleneck on the fidelity of the information being passed as visual observations.

1 Like