Take an image and a vector as example, you cannot combine both tensors directly; instead you may treat them as different modes, and have a multi-head network talking them as inputs:

im_head: have a conv module with the image as input
vec_head: have a plain mlp module with the vector as input

Now you can explore a few ways of combining them:

flatten the im_head output, then concat it with the vec_head output, or
flatten the im_head output, add a linear so that it comes out the same shape as vec_head, then do element-wise addition
more generally, taking from 2, you can do FiLM: https://distill.pub/2018/feature-wise-transformations/ 1


Once combined, you can further pass through more MLPs then to whatever output architecture you need.