使用Mindspore 1.8构建网络,报错:
TypeError: Operator[Print] input(String) output(Int32) is not supported. This error means the current input type is not supported, please refer to the MindSpore doc for supported types.
错误原因:
在 construct 里面 print(字符串)。Mindspore是C++写的,中间打印字符串可能导致编译错误。
另外说明:
用Jupyter时,construct() 函数中的输出在控制台,而不是时是在界面的cell输出。
解决方法:
不要打印字符串。
class TestNet(nn.Cell):
def __init__(self):
super(TestNet, self).__init__()
def construct(self, x):
print(x.shape)
print(x)
print("*********")
return ops.add(x, x)
x = ms.Tensor([1,2,3], dtype=ms.float32)
net = TestNet()
net(x)