Предоставленный оператор einsum
эквивалентен (используя np.moveaxis
):
patches_imgs_test = np.moveaxis(patches_imgs_test, 1, -1)
, за которым следует:
predictions = np.moveaxis(predictions, -1, 1)
По сути, перемещение Вторая ось до конца, а затем положить его обратно в результаты.
В данном случае это патчи изображений, сбрасываемых в нейронную сеть. Вторая и четвертая оси являются фактическими патчами, поэтому код помещает их в конец перед передачей в NN, в то время как первая и третья оси являются данными местоположения.