Einsum numpy: productos de punto anidados

tengo dosn-por-k-por-3 matricesa yb, p.ej.,

import numpy as np

a = np.array([
    [
        [1, 2, 3],
        [3, 4, 5]
    ],
    [
        [4, 2, 4],
        [1, 4, 5]
    ]
    ])
b = np.array([
    [
        [3, 1, 5],
        [0, 2, 3]
    ],
    [
        [2, 4, 5],
        [1, 2, 4]
    ]
    ])

y le gusta calcular el producto punto de todos los pares de "trillizos", es decir,

np.sum(a*b, axis=2)

Una mejor manera de hacerlo es quizáseinsum, pero parece que no puedo entender bien los índices.

¿Alguna pista aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta