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 成一个算子(这个优化会导致训练和推理的输出精度不一致)