[Relay]What does relay.take() mean? Is it a copy or a reference?

Hi,@AndrewZhaoLuo ,I also have a problem about relay.take

I have to both do argmax and max to the same tensor as following

tensor1 = relay.op.argmax(prob, axis=2, keepdims=True)
tensor2 = relay.op.max(prob, axis=2, keepdims=True)

And they cost too much time since the prob tensor is very large.

Can I use relay.take() and tensor1 to get tensor2 from prob? Or Can I get both tensor1/tensor2 from a single function?