diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/tile_cpu_kernel.cc b/mindspore/ccsrc/backend/kernel_compiler/cpu/tile_cpu_kernel.cc index f3769ac05c..e94b6ead29 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/tile_cpu_kernel.cc +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/tile_cpu_kernel.cc @@ -27,7 +27,10 @@ void TileCPUKernel::InitKernel(const CNodePtr &kernel_node) { std::vector multiples_me = AnfAlgo::GetNodeAttr>(kernel_node, "multiples"); (void)std::transform(multiples_me.begin(), multiples_me.end(), std::back_inserter(multiples_), [](const int64_t &value) { return static_cast(value); }); - dtype_ = AnfAlgo::GetPrevNodeOutputInferDataType(kernel_node, 0); + dtype_ = AnfAlgo ::GetPrevNodeOutputDeviceDataType(kernel_node, 0); + if (dtype_ == kTypeUnknown) { + dtype_ = AnfAlgo::GetPrevNodeOutputInferDataType(kernel_node, 0); + } } bool TileCPUKernel::Launch(const std::vector &inputs,