Map tensor values to another tensor

Question:

Hi everyone I have two tensors, one tensor has as values the indicies to another tensor which contain the values I want mapped for example:

a = tensor([0, 2, 5, 1, 0, 0, 4, 3, 0, 0, 0, 2,2,1])
b = tensor([1.5, 2.7, 1.8, 7.0, 3.9, 10.0])

I would like to produce a new tensor in which the values of b replace the index values in a as such:

new_tensor = tensor([1.5, 1.8, 10.0, 2.7, 1.5, 1.5, ... ])

Id like to do it without performing some time of for loop. If there is a pytorch/linear away to tackle the mapping that’d be great.

Asked By: Chris

||

Answers:

>>> b[a]
tensor([ 1.5000,  1.8000, 10.0000,  2.7000,  1.5000,  1.5000,  3.9000,  7.0000,
         1.5000,  1.5000,  1.5000,  1.8000,  1.8000,  2.7000])
Answered By: August
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.