I have a large dataset where my input is an $M$-dimensional tensor, and each input has a corresponding $N$-dimensional output. My goal is to train a method to learn outputs from the millions of inputs (i.e. tensors) in my database. Each of the elements composing the input and output tensors are simply floating point numbers, and this is essentially a regression task. In my specific case, $M$ and $N$ are $3$ and $2$, respectively (e.g. input is $20 \times 20 \times 20$ and output is $100 \times 100$). But generalized approaches are sought, if possible.
Based on past questions, there are suggestions to possibly convert the data into a single vector, although this appears to lose information about structural features (e.g. profiles). I'm also looking into convolutional neural networks, but treatment of multi-dimensional outputs appears missing. Overall, I am searching for methods and/or packages that can handle tensors of variable size as inputs and outputs (i.e. to perform a mapping in $M$-dimensions to $N$-dimensions).