OfflineCompile【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/geProduct Support StatusProductSupport StatusAtlas A3 Training Series Products/Atlas A3 Inference Series Products√Atlas A2 Training Series Products/Atlas A2 Inference Series Products√Module Importfrom ge.offline_compile import ( build_initialize, build_finalize, build_model, save_model, bundle_build_model, bundle_save_model, GraphWithOptions, ModelBuffer ) from ge.error import GeErrorFunctionality DescriptionOffline compilation module provides the capability to compile computation graphs into offline models (.omfiles). Supports single graph compilation (build_model) and multi-graph bundle compilation (bundle_build_model).Usage flow:Callbuild_initializeto initialize offline compilation resources.Callbuild_modelto compile single graph, or callbundle_build_modelto compile multiple graphs into bundle offline model.Callsave_modelorbundle_save_modelto save compilation result as.omfile.Callbuild_finalizeto release offline compilation resources.Configuration inbuild_optionshas higher priority thanglobal_optionsinbuild_initialize.When GE underlying interface execution fails,build_initialize,build_model,save_model,bundle_build_model,bundle_save_modelwill throwGeError.GeErrorinherits fromRuntimeError, exception information contains GE internal error information and interface context.Data ClassesGraphWithOptionsA combination of a graph and its corresponding compilation options, used in bundle compilation scenarios.dataclass class GraphWithOptions: graph: Graph build_options: Dict[str, str]AttributeTypeDescriptiongraphGraphComputation graph object to be compiledbuild_optionsDict[str, str]Compilation options dictionary corresponding to this graph, keys and values are strings, default is empty dictionaryClassesModelBufferOffline model buffer class, used to store compiled offline model data. This class does not support direct instantiation, returned bybuild_modelorbundle_build_model.Method/AttributeDescriptionlength (property)Gets model buffer length (bytes), returns intget_length()Gets model buffer length (bytes), returns intFunction Prototypesbuild_initializedef build_initialize(global_options: Optional[dict] None) - NoneInitializes resources required for offline compilation.build_finalizedef build_finalize() - NoneReleases offline compilation resources.build_modeldef build_model(graph: Graph, build_options: Optional[dict] None) - ModelBufferCompiles single computation graph into offline model, model data saved in memory.save_modeldef save_model(output_file: str, model: ModelBuffer) - NoneSerializes offline model in memory into.omfile.bundle_build_modeldef bundle_build_model(graph_with_options: List[GraphWithOptions]) - ModelBufferCompiles multiple graphs into bundle offline model.bundle_save_modeldef bundle_save_model(output_file: str, model: ModelBuffer) - NoneSerializes bundle offline model in memory into.omfile.Parameter Descriptionbuild_initializeParameterTypeRequiredDescriptionglobal_optionsOptional[dict]NoGlobal compilation configuration dictionary, keys and values are strings. Default is None, means no additional configuration passedbuild_modelParameterTypeRequiredDescriptiongraphGraphYesComputation graph object to be compiledbuild_optionsOptional[dict]NoGraph-level compilation configuration dictionary, keys and values are strings. Configuration priority see constraint description. Default is Nonesave_modelParameterTypeRequiredDescriptionoutput_filestrYesBase name of output model file. Generated offline model file name automatically has.omsuffix. If file name contains OS and architecture information, then this OM file can only be used in corresponding OS and architecture runtime environmentmodelModelBufferYesOffline model buffer objectbundle_build_modelParameterTypeRequiredDescriptiongraph_with_optionsList[GraphWithOptions]YesList containing multipleGraphWithOptions, each element contains a computation graph and its compilation options. List must contain 2 or more graphsbundle_save_modelParameterTypeRequiredDescriptionoutput_filestrYesBase name of output model file. Generated offline model file name automatically has.omsuffix. If file name contains OS and architecture information, then this OM file can only be used in corresponding OS and architecture runtime environmentmodelModelBufferYesBundle offline model buffer objectReturn Value Descriptionbuild_modelReturn ValueTypeDescriptionmodelModelBufferBuffer object containing compiled offline model databundle_build_modelReturn ValueTypeDescriptionmodelModelBufferBuffer object containing compiled bundle offline model dataOther Functionsbuild_initialize,build_finalize,save_model,bundle_save_modelhave no return value.Constraint DescriptionBefore using offline compilation module, must callbuild_initializeto initialize resources, after use must callbuild_finalizeto release resources.Keys and values inbuild_optionsmust be string type.graph_with_optionslist inbundle_build_modelmust contain 2 or more graphs.ModelBufferobjects do not support copy and deep copy, and do not support direct instantiation.output_fileparameter insave_modelandbundle_save_modelis base name of output file, system automatically adds.omsuffix.Configuration inbuild_optionshas higher priority thanglobal_optionsinbuild_initialize.When GE underlying interface execution fails, will throw GeError, exception information contains GE internal error information and interface context.Usage Examplefrom ge.offline_compile import ( build_initialize, build_finalize, build_model, save_model, bundle_build_model, bundle_save_model, GraphWithOptions ) from ge.graph import Graph # Initialize offline compilation resources build_initialize({log_level: 0}) # Single graph compilation model build_model(graph, {input_format: ND}) save_model(output_model, model) print(fModel size: {model.length} bytes) # Multi-graph bundle compilation gwo_list [ GraphWithOptions(graph1, {input_format: ND}), GraphWithOptions(graph2, {input_format: NCHW}), ] bundle_model bundle_build_model(gwo_list) bundle_save_model(bundle_output, bundle_model) # Release offline compilation resources build_finalize()【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考