Ok I managed to figure this out 
with the following:
torch.einsum(“ik,klm->ilm”, probabilities, spectrograms)
@InnovArul you undertood me wrong. Each of the rows in the probabilities matrix is a probability vector with 49 values. Now I multiply in an inner-product manner with the 49 spectrograms to get a weigted spectrogram of size [x, y]. Since the probability matrix has 49 rows I get an overall 49 weighted spectrograms so out size is [49, x, y]
I just realized einsum and this is a SUPER powerful tool! I highly recommend to any deep learning practitioner to use it