|
|
|
@ -82,6 +82,13 @@ bool IsValidKernelInfo(const std::shared_ptr<CNode> &kernel_node, const kernel::
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
if (AnfAlgo::GetCNodeName(kernel_node) == "Adam") {
|
|
|
|
|
auto input_num = AnfAlgo::GetInputTensorNum(kernel_node);
|
|
|
|
|
if (AnfAlgo::GetPrevNodeOutputFormat(kernel_node, input_num - 1) !=
|
|
|
|
|
kernel_build_info.GetInputFormat(input_num - 1)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (AnfAlgo::GetCNodeName(kernel_node) == prim::kPrimCast->name()) {
|
|
|
|
|
return AnfAlgo::GetOutputInferDataType(kernel_node, 0) == kernel_build_info.GetOutputDeviceType(0) &&
|
|
|
|
|
AnfAlgo::GetPrevNodeOutputInferDataType(kernel_node, 0) == kernel_build_info.GetInputDeviceType(0);
|
|
|
|
|