Mean_std_norm no more uses resnet normalization and can be used for custom normalization :
Before, mean_std_norm used _resnet_mean_std by default, therefore you could only use resnet normalization. Now you can use any custom normalization.
import torch
import aloscene
x=torch.rand(3,600,600)
x=aloscene.Frame(x,mean_std=((0.333,0.333,0.333),(0.333,0.333,0.333)))
print("normalization de x ",x.normalization)
print("Mean_std de x",x.mean_std)
x=x.mean_std_norm(mean=(0.440,0.220,0.880), std=(0.333,0.333,0.333), name="my_norm")
print("normalization de x ",x.normalization)
print("Mean_std de x",x.mean_std)
Output :
normalization de x 255
Mean_std de x ((0.333, 0.333, 0.333), (0.333, 0.333, 0.333))
normalization de x my_norm
Mean_std de x ((0.44, 0.22, 0.88), (0.333, 0.333, 0.333))
Conversion from mean_std_norm to minmax_sym and from minmax_sym to mean_std_norm
Added this conversion which raised an Exception before
import torch
import aloscene
x=torch.rand(3,600,600)
x=aloscene.Frame(x,mean_std=((0.333,0.333,0.333),(0.333,0.333,0.333)))
x = x.norm_minmax_sym()
print("normalization de x ",x.normalization)
print("Mean_std de x",x.mean_std)
x = x.mean_std_norm(mean=(0.333,0.333,0.333), std=(0.333,0.333,0.333), name="custom") # Exception raised
print("normalization de x ",x.normalization)
print("Mean_std de x",x.mean_std)
Output :
normalization de x minmax_sym
Mean_std de x None
normalization de x custom
Mean_std de x ((0.333, 0.333, 0.333), (0.333, 0.333, 0.333))
This pull request includes
[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Before, mean_std_norm used _resnet_mean_std by default, therefore you could only use resnet normalization. Now you can use any custom normalization.
Output :
Output :
This pull request includes