a is not tensor([4,4,3]), but tensor([[4,4,3]])
so result is tensor([[12,12,6]]).
i get tensor([12,12,6]).

That’s slightly confusing. You want to element-wise multiply tensor ([[4,4,3]]) with ([3, 3, 2]) but get a tensor([ 12,  12,   6])?
Just use the view method to drop one dimension. E.g., result = (a * b).view(-1)