話管理API文檔)
Session【免費(fèi)下載鏈接】geGEGraph Engine是面向昇騰的圖編譯器和執(zhí)行器提供了計(jì)算圖優(yōu)化、多流并行、內(nèi)存復(fù)用和模型下沉等技術(shù)手段加速模型執(zhí)行效率減少模型內(nèi)存占用。 GE 提供對(duì) PyTorch、TensorFlow 前端的友好接入能力并同時(shí)支持 onnx、pb 等主流模型格式的解析與編譯。項(xiàng)目地址: https://gitcode.com/cann/ge產(chǎn)品支持情況產(chǎn)品是否支持Atlas A3 訓(xùn)練系列產(chǎn)品/Atlas A3 推理系列產(chǎn)品√Atlas A2 訓(xùn)練系列產(chǎn)品/Atlas A2 推理系列產(chǎn)品√模塊導(dǎo)入from ge.session import Session from ge.error import GeError功能說(shuō)明Session 類(lèi)用于管理圖的編譯和執(zhí)行會(huì)話。支持同步執(zhí)行run_graph和異步執(zhí)行 run_graph_with_stream_async。異步執(zhí)行場(chǎng)景下可通過(guò) register_external_allocator 注冊(cè)自定義內(nèi)存分配器。 不支持拷貝和深拷貝。類(lèi)定義class Session: def __init__(self, options: Optional[dict] None) - None def add_graph(self, graph_id: int, graph: Graph, options: Optional[dict] None) - None def remove_graph(self, graph_id: int) - None def run_graph(self, graph_id: int, inputs: List[Tensor]) - List[Tensor] def run_graph_with_stream_async(self, graph_id: int, stream: int, inputs: List[Tensor]) - List[Tensor] def register_external_allocator(self, stream: int, allocator: Allocator) - None def unregister_external_allocator(self, stream: int) - None函數(shù)說(shuō)明__init__def __init__(self, options: Optional[dict] None) - None功能說(shuō)明創(chuàng)建會(huì)話實(shí)例可傳入配置字典進(jìn)行初始化。若不傳入配置則使用默認(rèn)配置創(chuàng)建會(huì)話。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明optionsOptional[dict]可選會(huì)話配置字典鍵值對(duì)均為字符串類(lèi)型。不傳入時(shí)使用默認(rèn)配置創(chuàng)建會(huì)話。返回值說(shuō)明無(wú)返回值。約束說(shuō)明options 必須為 dict 類(lèi)型或 None傳入其他類(lèi)型將拋出 TypeError。會(huì)話創(chuàng)建失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。Session 不支持拷貝copy和深拷貝deepcopy嘗試拷貝將拋出 RuntimeError。add_graphdef add_graph(self, graph_id: int, graph: Graph, options: Optional[dict] None) - None功能說(shuō)明將圖添加到會(huì)話中支持傳入額外的編譯選項(xiàng)。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明graph_idint必選圖的唯一標(biāo)識(shí)用于在會(huì)話中區(qū)分不同的圖。graphGraph必選待添加的圖對(duì)象。optionsOptional[dict]可選圖編譯配置字典鍵值對(duì)均為字符串類(lèi)型。不傳入時(shí)使用默認(rèn)配置。返回值說(shuō)明無(wú)返回值。約束說(shuō)明graph_id 必須為 int 類(lèi)型否則拋出 TypeError。graph 必須為 Graph 類(lèi)型否則拋出 TypeError。options 必須為 dict 類(lèi)型或 None否則拋出 TypeError。添加圖失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。remove_graphdef remove_graph(self, graph_id: int) - None功能說(shuō)明從會(huì)話中移除指定圖。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明graph_idint必選待移除圖的唯一標(biāo)識(shí)。返回值說(shuō)明無(wú)返回值。約束說(shuō)明graph_id 必須為 int 類(lèi)型否則拋出 TypeError。移除圖失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。run_graphdef run_graph(self, graph_id: int, inputs: List[Tensor]) - List[Tensor]功能說(shuō)明同步執(zhí)行指定圖傳入輸入張量列表返回輸出張量列表。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明graph_idint必選待執(zhí)行圖的唯一標(biāo)識(shí)。inputsList[Tensor]必選輸入張量列表列表中所有元素必須為 Tensor 類(lèi)型。返回值說(shuō)明返回值類(lèi)型說(shuō)明List[Tensor]圖執(zhí)行后的輸出張量列表。約束說(shuō)明graph_id 必須為 int 類(lèi)型否則拋出 TypeError。inputs 中所有元素必須為 Tensor 類(lèi)型否則拋出 TypeError。圖執(zhí)行失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。run_graph_with_stream_asyncdef run_graph_with_stream_async(self, graph_id: int, stream: int, inputs: List[Tensor]) - List[Tensor]功能說(shuō)明在指定 stream 上異步執(zhí)行圖傳入輸入張量列表返回輸出張量列表。輸出張量的內(nèi)存分配優(yōu)先使用 通過(guò) register_external_allocator 注冊(cè)的外部分配器若未注冊(cè)外部分配器GE 將自動(dòng)使用內(nèi)置分配器。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明graph_idint必選待執(zhí)行圖的唯一標(biāo)識(shí)。streamint必選Stream 地址用于指定異步執(zhí)行的流。inputsList[Tensor]必選輸入張量列表列表中所有元素必須為 Tensor 類(lèi)型。返回值說(shuō)明返回值類(lèi)型說(shuō)明List[Tensor]圖執(zhí)行后的輸出張量列表。約束說(shuō)明graph_id 必須為 int 類(lèi)型否則拋出 TypeError。stream 必須為 int 類(lèi)型否則拋出 TypeError。inputs 必須為 list 類(lèi)型且所有元素必須為 Tensor 類(lèi)型否則拋出 TypeError。若該 stream 未注冊(cè)外部分配器且默認(rèn)分配器注冊(cè)失敗將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。圖執(zhí)行失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。register_external_allocatordef register_external_allocator(self, stream: int, allocator: Allocator) - None功能說(shuō)明為指定 stream 注冊(cè)外部?jī)?nèi)存分配器用于管理異步執(zhí)行場(chǎng)景下的設(shè)備內(nèi)存分配。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明streamint必選Stream 地址。allocatorAllocator必選外部?jī)?nèi)存分配器實(shí)例須為 Allocator 抽象基類(lèi)的子類(lèi)實(shí)例。返回值說(shuō)明無(wú)返回值。約束說(shuō)明stream 必須為 int 類(lèi)型否則拋出 TypeError。allocator 必須為 Allocator 實(shí)例否則拋出 TypeError。注冊(cè)失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文。同一 stream 重復(fù)注冊(cè)會(huì)覆蓋之前的外部分配器。unregister_external_allocatordef unregister_external_allocator(self, stream: int) - None功能說(shuō)明注銷(xiāo)指定 stream 上注冊(cè)的外部?jī)?nèi)存分配器。參數(shù)說(shuō)明參數(shù)名類(lèi)型必選/可選說(shuō)明streamint必選Stream 地址。返回值說(shuō)明無(wú)返回值。約束說(shuō)明stream 必須為 int 類(lèi)型否則拋出 TypeError。注銷(xiāo)失敗時(shí)將拋出 GeError異常信息包含 GE 內(nèi)部錯(cuò)誤信息和接口上下文?!久赓M(fèi)下載鏈接】geGEGraph Engine是面向昇騰的圖編譯器和執(zhí)行器提供了計(jì)算圖優(yōu)化、多流并行、內(nèi)存復(fù)用和模型下沉等技術(shù)手段加速模型執(zhí)行效率減少模型內(nèi)存占用。 GE 提供對(duì) PyTorch、TensorFlow 前端的友好接入能力并同時(shí)支持 onnx、pb 等主流模型格式的解析與編譯。項(xiàng)目地址: https://gitcode.com/cann/ge創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考