megengine.jit.trace.dump

trace.dump(file, *, arg_names=None, output_names=None, append=False, keep_var_name=1, keep_opr_name=False, keep_param_name=False, keep_opr_priority=False, strip_info_file=None, append_json=False, optimize_for_inference=True, **kwargs)[源代码]

序列化被追溯 (trace) 的模型并保存到文件。

参数
  • file – 输出文件,可以是文件对象或文件名

  • arg_names – 被追溯(traced)函数的输入张量的名字。

  • output_names – 被追溯(traced)函数的输出张量的名字,如果未指明则使用默认名字。

  • append – 是否在 file 后追加输出。仅当 file 是文件名时可用。

  • keep_var_name (int) – 保留变量名的级别:

  • keep_opr_name (bool) – 是否要保留算子的名字

  • keep_param_name (bool) – 是否要保留参数的名字,为了加载模型后可以简单地对参数做操作

  • keep_opr_priority (bool) – 是否保留算子的优先级设置

  • strip_info_file – 路径地址或文件句柄。如果不为空,则导出的代码条信息会被写入``strip_info_file``中。

  • append_json – 当 strip_info_file 非空时会做检查。如果是真,代码条信息就会被添加到 strip_info_file 的尾部;如果是假,就会覆盖掉 strip_info_file.

  • optimize_for_inference – 打开推理优化,如果是False则关闭所有优化选项。默认:True

关键字参数
  • enable_io16xc32 –

    是否使用float16作为算子间I/O的数据精度,同时float32作为内部计算的数据精度。注意输出变量的类型也随之更改为float16。

  • enable_ioc16 –

    是否使用float16同时作为算子间I/O和内部计算的数据精度。

  • enable_hwcd4 –

    是否使用NHWCD4数据格式。在某些OpenCL设备上,会提高计算速度。

  • enable_nchw88 –

    是否使用NCHW88数据格式。当前用于X86 AVX后端。

  • enable_nchw44 –

    是否使用NCHW44数据格式。当前用于arm后端。

  • enable_nchw44_dot –

    是否使用NCHW4_dot数据格式。当前用于armv8.2+dotprod后端。

  • enable_nchw4 –

    是否使用NCHW4数据格式。当前用于nvidia后端(基于cudnn)。

  • enable_nchw32 –

    是否使用NCHW32数据格式。当前与tensorcore用于nvidia后端(基于cudnn)。

  • enable_chwn4 –

    是否使用CHWN4数据格式。当前与tensorcore用于nvidia后端。

  • enable_fuse_conv_bias_nonlinearity:是否融合 conv bias nonlinearty 算子

    成一个算子。

  • enable_fuse_conv_bias_with_z:

    推理阶段是否在nvidia后端对输入z融合 CONV + bias 成一个算子(这个优化会导致训练和推理的输出精度不一致)