天天看點

mindspore.ops.Pow()等算子不能處理float64類型的資料

Software Environment:

-- MindSpore r1.2 GPU ( pip install this package)

-- Python 3.7.5

-- Linux Ubuntu 18.04

顯示卡1660ti  nvidia

Intel i7 cpu

代碼:

import mindspore
from mindspore import Tensor
import mindspore.ops as ops
import numpy as np
from mindspore import context

#context.set_context(mode=context.PYNATIVE_MODE, device_target='GPU')
context.set_context(mode=context.GRAPH_MODE, device_target='GPU')

input_x = Tensor(np.array([[1.0], [2.0], [4.0]]), mindspore.float32)
input_y = 3
_pow = ops.Pow()
_mean = ops.ReduceMean()
#out = _pow(input_x, input_y)
out = _mean(input_x)


print(out)
print(out.dtype)      

運作結果:

mindspore.ops.Pow()等算子不能處理float64類型的資料

如果把資料的類型該為float64, 則報錯:

input_x = Tensor(np.array([[1.0], [2.0], [4.0]]), mindspore.float64)      

代碼:

mindspore.ops.Pow()等算子不能處理float64類型的資料
mindspore.ops.Pow()等算子不能處理float64類型的資料
import mindspore
from mindspore import Tensor
import mindspore.ops as ops
import numpy as np
from mindspore import context

#context.set_context(mode=context.PYNATIVE_MODE, device_target='GPU')
context.set_context(mode=context.GRAPH_MODE, device_target='GPU')

input_x = Tensor(np.array([[1.0], [2.0], [4.0]]), mindspore.float64)
input_y = 3
_pow = ops.Pow()
_mean = ops.ReduceMean()
#out = _pow(input_x, input_y)
out = _mean(input_x)


print(out)
print(out.dtype)      

View Code

系統提示:

mindspore.ops.Pow()等算子不能處理float64類型的資料

[ERROR] DEVICE(11003,python):2021-07-07-13:08:40.312.582 [mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:118] SelectAkgKernel] Not find op[ReduceMean] in akg

[ERROR] DEVICE(11003,python):2021-07-07-13:08:40.312.602 [mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:347] PrintUnsupportedTypeException] Select GPU kernel op[ReduceMean] fail! Incompatible data type!

The supported data types are in[float32], out[float32]; in[float16], out[float16]; , but get in [float64 ] out [float64 ]

Traceback (most recent call last):

  File "/home/devil/mindSpore_Projects/3.py", line 15, in <module>

    out = _mean(input_x)

  File "/home/devil/anaconda3/envs/mindspore/lib/python3.7/site-packages/mindspore/ops/operations/math_ops.py", line 331, in __call__

    output = _run_op(self, self.name, args)

  File "/home/devil/anaconda3/envs/mindspore/lib/python3.7/site-packages/mindspore/common/api.py", line 75, in wrapper

    results = fn(*arg, **kwargs)

  File "/home/devil/anaconda3/envs/mindspore/lib/python3.7/site-packages/mindspore/ops/primitive.py", line 559, in _run_op

    output = real_run_op(obj, op_name, args)

TypeError: mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:347 PrintUnsupportedTypeException] Select GPU kernel op[ReduceMean] fail! Incompatible data type!