!12118 support switch layer for pynative

From: @chujinjin
Reviewed-by: @zhoufeng54,@kisnwang
Signed-off-by: @kisnwang
pull/12118/MERGE
mindspore-ci-bot 4 years ago committed by Gitee
commit 60595d2988

@ -161,6 +161,20 @@ class Tensor(Tensor_):
return bool(data[0])
raise ValueError("The truth value of an array with several elements is ambiguous.")
def __index__(self):
data = self.asnumpy()
if not (data.dtype == "int8"
or data.dtype == "int16"
or data.dtype == "int32"
or data.dtype == "int64"
or data.dtype == "bool"):
raise ValueError("Only integer tensors of a single element can be converted to an index.")
if data.shape == ():
return int(data)
if data.shape == (1,):
return int(data[0])
raise ValueError("Only integer tensors of a single element can be converted to an index.")
def __pos__(self):
return self

Loading…
Cancel
Save