If we use on-attribute change policy for numpy.ndarray or torch tensor, tensor torch, it works because the all the ndarray.
However, for PIL image, it is an image class, there are no intermediate nodes that only one attribute changes. For example from the RGB color to grayscale, in one step with two attribute changes.
RGB channel first to grayscale without channel by .convert('L')
uint8 0-255 to float 0-1 by one step var/255, cannot split
RGB channel first to grayscale without channel by
.convert('L')
var/255
, cannot split