Deserialize
产品支持情况
头文件
#include <graph/arg_desc_info.h>
函数功能
ArgsFormat的反序列化接口。
函数原型
static std::vector<ArgDescInfo> Deserialize(const AscendString &args_str)
参数说明
返回值
返回ArgsFormat。
失败时,返回空的vector。
约束说明
字符串必须是ArgsFormat的序列化结果。
调用示例
graphStatus Mc2GenTaskCallback(const gert::ExeResGenerationContext *context, std::vector<std::vector<uint8_t>> &tasks) {
....
// 更改原AI Core任务的ArgsFormat
auto aicore_task = KernelLaunchInfo::LoadFromData(context, tasks.back());
auto aicore_args_format_str = aicore_task.GetArgsFormat();
auto aicore_args_format = ArgsFormatSerializer::Deserialize(aicore_args_format_str);
size_t i = 0UL;
for (; i < aicore_args_format.size(); i++) {
if (aicore_args_format[i].GetType() == ArgDescType::kIrInput ||
aicore_args_format[i].GetType() == ArgDescType::kInputInstance) {
break;
}
}
aicore_args_format.insert(aicore_args_format.begin() + i, ArgDescInfo::CreateHiddenInput(HiddenInputSubType::kHcom));
aicore_task.SetArgsFormat(ArgsFormatSerializer::Serialize(aicore_args_format).GetString());
tasks.back() = aicore_task.Serialize();
return SUCCESS;
}