(57)【要約】  汎用機械学習モデルの生成方法、装置、コンピュータ設備および記憶媒体に係る。その方法は、機械学習タスクのタスクパラメータを取得することと、タスクパラメータに対して分類処理を実行してタスク命令とモデルパラメータを取得することと、データタイプに従ってタスク命令とモデルパラメータを収集してスタックデータとヒープデータを取得することと、スタックデータとヒープデータを統合して汎用機械学習モデルを取得することとを含む。本方法により、対応する汎用モデルのコンパイル結果が実行中のアルゴリズムで直接実行され、繰り返しコンパイルが回避されるため、機械学習アルゴリズムにおける実現の効率が大幅に向上し、コンパイルから実行結果を取得するまでの時間が短縮される。【選択図】図１
2021526670.tif 000002
【特許請求の範囲】
【請求項１】
汎用機械学習モデルの生成方法であって、
機械学習タスクのタスクパラメータを獲得することと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得することと、
前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得することと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得することとを含む方法。
【請求項２】
請求項１に記載の方法であって、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含み、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する前記ステップは、
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得することと、
前記計算パラメータに対して分類処理を行い、モデルパラメータを取得することを含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法であって、前記計算パラメータを分類処理して、モデルパラメータを取得する前記ステップは、
前記計算パラメータを前処理して、前処理モデルパラメータを取得することと、
前記計算パラメータに従ってハードウェアパラメータを取得することと、
前記計算パラメータからデータ属性パラメータを抽出することとを含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法であって、前記タスク命令およびモデルパラメータをデータタイプに従って収集して、スタックデータおよびヒープデータを取得する前記ステップは、
前記タスク命令に対して分類処理を行い、タスク命令ヒープデータを取得することと、
前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得することと、
前記モデルパラメータスタックデータを収集して、前記スタックデータを取得することと、
前記モデルパラメータヒープデータおよびタスク命令ヒープデータに対して収集し、前記ヒープデータを取得することとを含むことを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する前記ステップは、
共有属性に従ってモデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得することと、
共有可能なモデルパラメータを収集して、モデルパラメータヒープデータを取得することと、
前記共有不可なモデルパラメータを収集して、モデルパラメータスタックデータを取得することとを含むことを特徴とする方法。
【請求項６】
請求項４に記載の方法であって、前記モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含み、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する前記ステップは、
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得することと、
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することと、
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得することと、
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することとを含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する前記ステップは、
前記タスク命令に従って、静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得することと、
前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得することと、
前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することと、
前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得することと、
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを統合することとを含むことを特徴とする。
【請求項８】
請求項７に記載の方法であって、前記計算パラメータから、データ属性パラメータを抽出する前記ステップは、
計算パラメータの入力データ属性、出力データ属性、および中間結果一時スペース属性を取得することと、
前記入力データの属性から前記入力データのデータ量を抽出し、前記入力データの記憶スペースを割り当てることと、
前記出力データの属性から前記出力データのデータ量を抽出し、前記出力データの記憶スペースを割り当てることと、
前記中間結果一時スペース属性から中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てることと、
前記入力データの記憶スペースと出力データの記憶スペースをヒープデータとして格納し、前記中間結果一時記憶スペースをスタックデータとして格納することとを含むことを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する前記ステップは、
スタックデータレイアウト情報に従って前共有不可なモデルパラメータと前記中間結果一時記憶スペースを統合して、前記スタックデータブロックを取得することを含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、前記計算パラメータに従って、ハードウェアパラメータを取得する前記ステップは、
ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納することを含むことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する前記ステップは、
前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとを統合し、前記連続した静的データブロックを取得することを含むことを特徴とする方法。
【請求項１２】
請求項８に記載の方法であって、前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合し、連続した的データブロックを取得する前記ステップは、
前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合し、前記連続した動的データブロックを取得することを含むことを特徴とする方法。
【請求項１３】
汎用機械学習モデルの生成装置であって、
機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールとを備える装置。
【請求項１４】
請求項１３に記載の装置であって、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含み、
前記分類処理モジュールは、
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するために用いられるタスク命令生成モジュールと、
前記計算パラメータに対し分類処理を行い、モデルパラメータを取得するために用いられるモデルパラメータ生成モジュールとを備えることを特徴とする装置。
【請求項１５】
請求項１４に記載の装置であって、前記モデルパラメータ生成モジュールは、
共有可能なモデルパラメータを収集して、モデルパラメータスタックデータを取得するために用いられるモデルパラメータスタックデータ生成モジュールと、
前記共有不可なモデルパラメータを収集して、モデルパラメータヒープデータを取得するために用いられるモデルパラメータヒープデータ生成モジュールとを備えることを特徴とする装置。
【請求項１６】
請求項１５に記載の装置であって、前記モデルパラメータヒープデータ生成モジュールは、
静的な前記モデルパラメータヒープデータを収集して、モデルパラメータ静的データを取得するために用いられるモデルパラメータ静的データ生成モジュールと、
動的な前記モデルパラメータヒープデータを収集して、モデルパラメータ動的データを取得するために用いられるモデルパラメータ動的データ生成モジュールとを備えることを特徴とする装置。
【請求項１７】
請求項１５に記載の装置であって、前記モデルパラメータ生成モジュールは、
前記計算パラメータを前処理して、前処理モデルパラメータを取得するために用いられる前処理モジュールと、
前記計算パラメータに従ってハードウェアパラメータを取得するために用いられるハードウェアパラメータ生成モジュールと、
前記計算パラメータからデータ属性パラメータを抽出するために用いられる属性抽出モジュールとをさらに備えることを特徴とする装置。
【請求項１８】
請求項１７に記載の装置であって、前記タスク命令は、タスク命令ヒープデータを含み、前記パラメータ収集器は、
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得するために用いられるスタックデータ収集器と、
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することために用いられるモデルパラメータ動的データ収集器と、
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得するために用いられるモデルパラメータ静的データ収集器とを備えることを特徴とする装置。
【請求項１９】
請求項１８に記載の装置であって、前記モデル生成モジュールは、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することを特徴とする装置。
【請求項２０】
コンピュータプログラムを格納するメモリとプロセッサとを備えるコンピュータ設備であって、前記プロセッサは前記コンピュータプログラムを実行する際に請求項１〜１２のいずれの一項に記載の方法のステップを実現することを特徴とするコンピュータ設備。
【請求項２１】
コンピュータプログラムを格納するコンピュータ可読記憶媒体であって、前記コンピュータプログラムをプロセッサによって実行する際に、請求項１〜１２のいずれの一項記載の方法のステップを実現する実現することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本出願は、２０１８年１１月３０日に出願した出願番号は２０１８１１４５９８５３．６で、発明名は「汎用機械学習モデルファイル解析方法、装置、記憶媒体」と、出願番号は２０１８１１４５９６７９．５で、発明名は「汎用機械学習モデルファイルの生成方法、装置、記憶媒体」と、出願番号は２０１８１１４５７７１９．２で、発明名は「機械学習セカンダリモデルファイルの生成方法、装置、記憶媒体」と、出願番号は２０１８１１４５６２４６．４で、発明名は「汎用機械学習セカンダリモデルファイルの解析方法、装置、記憶媒体」との中国特許出願の優先権と、２０１８年６月８日に出願した出願番号は２０１８１０５８９３９０．９で、発明名は「汎用機械学習モデルファイルの生成方法、装置、記憶媒体」および出願番号は２０１８１０５８８６２３．３で、発明名は「汎用機械学習モデルファイルの実行方法、装置、記憶媒体」の中国特許出願の優先権を主張し、参考としてここで全文を引用する。
【０００２】
［技術分野］
本出願は、人工知能の分野に係り、特に、汎用機械学習モデル、モデルファイルの生成方法、装置および記憶媒体に関する。
【背景技術】
【０００３】
人工知能技術の発展に伴い、さまざまな機械学習アルゴリズムが登場する。従来の機械学習アルゴリズムを開発プラットフォームで実行する際に、各実行を最初にコンパイルする必要がある。ただし、機械学習プロセスでアルゴリズムを繰り返しコンパイルする回数が多くの原因で、コンパイルプロセスに時間がかかり、アルゴリズム実行の効率が低下する。
【発明の概要】
【０００４】
これにより、機械学習モデルに用いられる生成と、実行と、使用方法と、装置と、記憶媒体とを開示し、それにより、機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の取得までの時間が短縮される。
【０００５】
汎用機械学習モデル生成方法であって、前記方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得すること。
【０００６】
一実施例では、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する前記ステップは以下を含む。
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得する。
前記計算パラメータに対して分類処理を行い、モデルパラメータを取得すること。
【０００７】
一実施例では、前記計算パラメータに対し分類処理を行い、モデルパラメータを取得する前記ステップは以下を含む。
前記計算パラメータを前処理して、前処理モデルパラメータを取得する。
前記計算パラメータに従ってハードウェアパラメータを取得する。
前記計算パラメータからデータ属性パラメータを抽出すること。
【０００８】
一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する前記ステップは以下を含む。
前記タスク命令に対して分類処理を行い、タスク命令ヒープデータを取得する。
前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する。
前記モデルパラメータスタックデータを収集して、前記スタックデータを取得する。
前記モデルパラメータヒープデータを収集して、前記ヒープデータを取得する。
【０００９】
一実施例では、前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する前記ステップは以下を含む。
共有属性に従ってモデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。
共有可能なモデルパラメータを収集して、モデルパラメータヒープデータを取得する。
前記共有不可なモデルパラメータを収集して、モデルパラメータスタックデータを取得する。
【００１０】
一実施例では、前記モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する前記ステップは以下を含む。
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得する。
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得する。
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得する。
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する。
【００１１】
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを組み合わせてから、汎用機械学習モデルを取得する前記ステップは以下を含む。
前記タスク命令に従って、静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得する。
前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する。
前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得する。
前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する。
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを統合する。
【００１２】
一実施例では、前記計算パラメータからデータ属性パラメータを抽出する前記ステップは以下を含む。
計算パラメータの入力データ属性、出力データ属性、および中間結果一時スペース属性を取得する。
前記入力データの属性から前記入力データのデータ量を抽出し、前記入力データの記憶スペースを割り当てる。
前記出力データの属性から前記出力データのデータ量を抽出し、前記出力データの記憶スペースを割り当てる。
前記中間結果一時スペース属性から中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てる。
前記入力データの記憶スペースと出力データの記憶スペースをヒープデータとして格納し、前記中間結果一時記憶スペースをスタックデータとして格納する。
【００１３】
一実施例では、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する前記ステップは以下を含む。
スタックデータレイアウト情報に従って前記共有不可なモデルパラメータと中間結果一時記憶スペースを統合して、前記スタックデータブロックを取得する。
【００１４】
一実施例では、前記計算パラメータに従ってデータ属性パラメータを取得する前記ステップは以下を含む。
ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納する。
【００１５】
一実施例では、前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する前記ステップは以下を含む。
前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、共用可能なモデルパラメータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとを統合し、前記連続した静的データブロックを取得する。
【００１６】
一実施例では、前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合し、連続した動的データブロックを取得する前記ステップは以下を含む。
前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合し、前記連続した動的データブロックを取得する。
【００１７】
一汎用機械学習モデルファイルの生成装置については、前記生成装置は、
機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールとを備える装置。
【００１８】
一実施例では、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記分類処理モジュールは、
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するために用いられるタスク命令生成モジュールと、
前記計算パラメータに対し分類処理を行い、モデルパラメータを取得するために用いられるモデルパラメータ生成モジュールとを備えることを特徴とする装置。
【００１９】
一実施例では、前記モデルパラメータ生成モジュールは、
共有可能なモデルパラメータを収集して、モデルパラメータスタックデータを取得するために用いられるモデルパラメータスタックデータ生成モジュールと、
前記共有不可なモデルパラメータを収集して、モデルパラメータヒープデータを取得するために用いられるモデルパラメータヒープデータ生成モジュールとを備える。
【００２０】
一実施例では、前記モデルパラメータヒープデータ生成モジュールは、
静的な前記モデルパラメータヒープデータを収集して、モデルパラメータ静的データを取得するために用いられるモデルパラメータ静的データ生成モジュールと、
動的な前記モデルパラメータヒープデータを収集して、モデルパラメータ動的データを取得するために用いられるモデルパラメータ動的データ生成モジュールとを備える。
【００２１】
一実施例では、前記モデルパラメータ生成モジュールは、
前記計算パラメータを前処理して、前処理モデルパラメータを取得するために用いられる前処理モジュールと、
前記計算パラメータに従ってハードウェアパラメータを取得するために用いられるハードウェアパラメータ生成モジュールと、
前記計算パラメータからデータ属性パラメータを抽出するために用いられる属性抽出モジュールとをさらに備える。
【００２２】
一実施例では、前記タスク命令は、タスク命令ヒープデータを含み、前記パラメータ収集器は、
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得するために用いられるスタックデータ収集器と、
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することために用いられるモデルパラメータ動的データ収集器と、
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得するために用いられるモデルパラメータ静的データ収集器とを備えることを特徴とする装置。
【００２３】
一実施例では、前記モデル生成モジュールは、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することに用いられる。
【００２４】
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００２５】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【００２６】
汎用機械学習モデルの実行方法であって、前記方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
【００２７】
本出願の実施例は汎用機械学習モデルの実行装置を提供し、前記装置は、
汎用機械学習モデルを取得するためのモデル取得モジュールと、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解モジュールと、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュールとを備える。
【００２８】
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、
汎用機械学習モデルにおける共有可能なデータをスタックデータに分解する。
スタックデータをスタック領域に割り当てる。
汎用機械学習モデルにおける共有不可なデータをヒープデータに分解する。
前記ヒープデータをヒープ領域に割り当てる。
【００２９】
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ領域を複数のスタックデータ領域におけるデータを含む。
前記スタックデータをスタック領域に割り当て、スタック領域データを取得する前記ステップはさらに以下を含む。
前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てる。
【００３０】
一実施例では、前記モデルパラメータスタックデータをスタックデータヒープ領域に割り当てる前記ステップは以下を含む。
前記モデルパラメータスタックデータに必要な占有記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第１の記憶スペースのサイズを取得する。
前記モデルパラメータスタック領域の記憶スペースが割り当てられ、前記モデルパラメータスタック領域の記憶スペースは第１の記憶スペースのサイズ以上である。
【００３１】
一実施例では、前記方法はさらに以下を含む。
実行フェーズにおいて変更したヒープデータは、モデルパラメータ動的データとして格納される。
実行フェーズにおいて変化しないヒープデータはモデルパラメータ静的データとして格納される。
【００３２】
一実施例では、前記ヒープデータをヒープ領域に割り当てる前記ステップは以下を含む。
前記ヒープデータをヒープ領域に割り当てる前記ステップは以下を含む。
前記ヒープ領域を、モデルパラメータ動的ヒープ領域およびモデルパラメータ動的ヒープ領域に分割する。
前記モデルパラメータ動的データを前記モデルパラメータ動的ヒープ領域に割り当てる。
前記モデルパラメータ静的データを前記モデルパラメータ静的ヒープ領域に割り当てる。
【００３３】
一実施例では、前記モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てる前記ステップは以下を含む。
前記モデルパラメータ動的データの記憶スペースと前記入力データの記憶スペースと前記出力データの記憶スペースとを加算し、第２の記憶スペースのサイズを取得する。
前記モデルパラメータ動的ヒープ領域の記憶スペースが割り当てられ、前記動的データヒープ領域の記憶スペースは第２の記憶スペースのサイズ以上である。
【００３４】
一実施例では、前記モデルパラメータ静的ヒープ領域の記憶スペースは、前記デルパラメータ静的データの記憶スペース以上である。
【００３５】
一実施例では、前記モデルパラメータ静的データは、タスク命令ヒープデータを含む。
【００３６】
一実施例では、前記ヒープデータをヒープ領域に割り当て、ヒープ領域データを取得する前記ステップはさらに以下を含む。
前記ヒープデータをヒープ領域に割り当てる前記ステップはさらに以下を含む。
前記モデルパラメータ動的ヒープ領域と前記モデルパラメータ静的ヒープ領域とは、連続した記憶スペースに割り当てられる。
【００３７】
一実施例では、前記ヒープ領域内のデータは、前記モデルパラメータ動的データと、前記モデルパラメータ静的データと、前記入力データと、前記出力データとを含む。
【００３８】
一実施例では、前記スタック領域データと前記ヒープ領域データと入力データとに従って出力データを計算して取得する前記ステップはさらに以下を含む。
前記ヒープ領域から前記出力データを抽出する。
前記出力データを出力する。
【００３９】
汎用機械学習モデルの生成装置であって、その特徴は、
汎用機械学習モデルを取得するためのモデル取得モジュールと、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解モジュールと、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュールとを備える。
【００４０】
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュールは以下を含む。
スタック領域データ配布モジュールは、汎用機械学習モデルにおける共有不可なデータをスタックデータに分解するために用いられる。
ヒープ領域データ配布モジュールは、汎用機械学習モデルにおける共有可能なデータをヒープデータに分解するために用いられる。
【００４１】
一実施例では、前記スタック領域データ配布モジュールは、さらに前記スタックデータをスタック領域に割り当てるために用いられる。
【００４２】
一実施例では、前記ヒープ領域データ配布モジュールは、さらに前記ヒープデータをヒープ領域に割り当てるために用いられる。
【００４３】
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ配布モジュールは前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てることためにさらに用いられる。
【００４４】
一実施例では、前記ヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。前記ヒープ領域データ配布モジュールは、
前記モデルパラメータ静的データをモデルパラメータ静的ヒープ領域に割り当てるために用いられるモデルパラメータ静的データ配布モジュールと、
前記モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てるために用いられるモデルパラメータ動的データ配布モジュールと、を備える。
【００４５】
一実施例では、前記結果出力モジュールはさらに、
前記ヒープ領域から前記出力データを抽出するためのデータ抽出モジュールと、
前記出力データを出力するためのデータ出力モジュールとを備える。
【００４６】
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００４７】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【００４８】
汎用機械学習モデルファイルの生成方法であり、汎用機械学習モデルファイルは汎用機械学習モデルと、モデルディレクトリを含む。前記生成方法は以下を含む。
前記汎用機械学習モデルを取得する。
前記汎用機械学習モデルの格納オフセット量を計算する。
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、前記モデルディレクトリを生成する。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
【００４９】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する前記ステップは以下を含む。
前記汎用機械学習モデルのファイルヘッダおよびファイルテールを取得する。
前記ファイルヘッダと、前記モデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記汎用機械学習モデルファイルを生成する。
【００５０】
一実施例では、前記汎用機械学習モデルの格納オフセット量を計算する前記ステップは以下を含む。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数とを取得する。
前記汎用機械学習モデルの保存順序を取得する。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数と、前記汎用機械学習モデルの保存順序とに従って、各前記汎用機械学習モデルの格納オフセット量を毎に計算する。
【００５１】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップは以下を含む。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するステップは以下を含む。
前記汎用機械学習モデルファイルの識別コードを作成する。
前記識別コードと、前記汎用機械学習モデルと、前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
【００５２】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するステップは以下を含む。
汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号を作成する。
汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
【００５３】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
汎用機械学習モデルファイルの誤り訂正符号を作成する。
汎用機械学習モデルファイルの誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【００５４】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
前記汎用機械学習モデルファイルが占めた記憶スペースのサイズを計算する。
前記汎用機械学習モデルと、前記汎用機械学習モデルファイルとが占めた記憶スペースのサイズと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【００５５】
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルの格納オフセット量を計算する。
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【００５６】
汎用機械学習モデルファイルの生成装置であり、汎用機械学習モデルファイルは汎用機械学習モデルと、モデルディレクトリを含む。前記生成装置は、
モデルフィラーと、ディレクトリジェネレータと、ファイルジェネレータとを備える。前記モデルフィラーは、前記ディレクトリジェネレータと接続し、前記ファイルジェネレータは、それぞれ前記モデルフィラーと、前記ディレクトリジェネレータと接続する。
前記モデルフィラーは、前記汎用機械学習モデルを取得するために用いられる。
前記ディレクトリジェネレータは、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータは、前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
【００５７】
一実施例において、前記モデルフィラーは、前記汎用機械学習モデルをファイルジェネレータに順番に格納するためにさらに用いられる。
【００５８】
一実施例では、前記ファイルジェネレータは、ファイルヘッダジェネレータおよびファイルテールジェネレータをさらに含み、前記ファイルヘッダジェネレータは、前記ディレクトリジェネレータに接続されており、前記ファイルテールジェネレータは前記モデルフィラーに接続されている。
【００５９】
一実施例では、前記ファイルヘッダジェネレータは、機械学習モデルファイルの識別コードを作成するために用いられ、前記汎用機械学習モデルファイルの識別コードと、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【００６０】
一実施例では、前記ファイルテールジェネレータは、前記汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号を作成するために用いられる。
【００６１】
一実施例では、前記生成装置は、ファイルサイズ計算器をさらに備え、前記ファイルサイズ計算器は、前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記汎用機械学習モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
【００６２】
一汎用機械学習モデルファイル生成装置については、前記生成装置は、
機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールと、
前記汎用機械学習モデルの格納オフセット量を計算するために用いられる格納オフセット量計算モジュールと、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、前記モデルディレクトリを生成するモデルディレクトリ生成モジュールと、
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するために用いられるファイル生成モジュールとを備える。
【００６３】
一実施例では、前記ファイルサイズ計算器は、モデルストレージ最適化器に接続される。メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００６４】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【００６５】
機械学習セカンダリモデルファイルの生成方法であって、前記機械学習セカンダリモデルファイルはセカンダリモデルとセカンダリモデルディレクトリを含み、前記生成方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。
前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【００６６】
一実施例では、前記汎用機械学習モデルにストレージ最適化プロセスを実行し、セカンダリモデルを生成する前記ステップは、前記汎用機械学習モデルを圧縮処理および／または暗号化処理してセカンダリモデルを生成することを含む。
【００６７】
一実施例では、前記セカンダリモデルと前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
前記機械学習セカンダリモデルファイルのファイルヘッダおよびファイルテールを取得する。
前記ファイルヘッダと、前記セカンダリモデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記機械学習セカンダリモデルファイルを生成する。
【００６８】
一実施例では、前記セカンダリモデルの格納オフセット量を計算する前記ステップは以下を含む。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数とを取得する。
前記セカンダリモデルの保存順序を取得する。
各前記セカンダリモデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数と、前記セカンダリモデルの保存順序とに従って、各セカンダリモデルの格納オフセット量を毎に計算する。
【００６９】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
機械学習セカンダリモデルファイルの識別コードを作成する。
前記モデルファイル識別コードと、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【００７０】
一実施例では、前記セカンダリモデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成することは以下を含む。
前記セカンダリモデルファイルのチェックディジットおよび／または誤り訂正符号を作成する。前記機械学習セカンダリモデルファイルのチェックディジットおよび／または誤り訂正符号と、前記セカンダリモデルと、前記セカンダリディレクトリとに従って汎用機械学習セカンダリファイルを生成する。
【００７１】
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータを分類して、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【００７２】
機械学習セカンダリモデルファイルの生成装置であって、前記機械学習セカンダリモデルファイルはセカンダリモデルとセカンダリモデルディレクトリを含み、その装置は、
セカンダリモデルフィラーと、モデルストレージ最適化器と、ディレクトリジェネレータと、ファイルジェネレータとを備える。前記モデルフィラーは、前記ディレクトリジェネレータと接続し、前記ファイルジェネレータは、それぞれ前記モデルフィラーと、前記ディレクトリジェネレータと接続し、前記モデルストレージ最適化器は、前記モデルフィラーと接続する。
前記セカンダリモデルフィラーは、汎用機械学習モデルを取得するために用いられる。
前記モデルストレージ最適化器は、前記汎用機械学習モデルに対してストレージ最適化処理を実行し、セカンダリモデルを生成する。
前記ディレクトリジェネレータは、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータは、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【００７３】
一実施例において、前記セカンドモデルフィラーは、前記セカンドモデルをファイルジェネレータに順番に格納するためにさらに用いられる。
【００７４】
一実施例では、前記ファイルジェネレータは、ファイルヘッダジェネレータおよびファイルテールジェネレータをさらに含み、前記ファイルヘッダジェネレータは、前記ディレクトリジェネレータに接続されており、前記ファイルテールジェネレータは前記セカンダリモデルフィラーに接続されている。
【００７５】
一実施例では、前記ファイルヘッダジェネレータは、セカンダリモデルの識別コードを作成するために用いられ、前記識別コードと、前記汎用機械学習モデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【００７６】
一実施例では、前記ファイルテールジェネレータは、前記機械学習セカンダリモデルファイルのチェックディジットおよび／または誤り訂正符号を作成するために用いられる。
【００７７】
一実施例では、前記生成装置は、ファイルサイズ計算器をさらに備え、前記ファイルサイズ計算器は、前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
【００７８】
一実施例では、前記ファイルサイズ計算器は、モデルストレージ最適化器に接続される。
【００７９】
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００８０】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【００８１】
汎用機械学習モデルファイルの解析方法であり、汎用機械学習モデルファイルは汎用機械学習モデルと、セカンダリモデルディレクトリを含む。
前記方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。
前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。
【００８２】
一実施例では、前記汎用機械学習モデルファイルを取得するステップは以下を含む。
前記汎用機械学習モデルファイルの識別コードを取得する。
前記識別コードが事前設定された規則に適合するか否かを検出する。
前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
【００８３】
一実施例では、前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルのチェックディジットを取得する。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
【００８４】
一実施例では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、チェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行し、それは以下を含む。
誤り訂正符号を取得する。
前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。
前記エラー訂正された汎用機械学習モデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する。
前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
【００８５】
一実施例では、前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルにおけるターゲットのセカンダリモデルの格納オフセット量を取得する。
前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。
【００８６】
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。
前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。
【００８７】
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
汎用機械学習モデルファイルの解析装置であり、汎用機械学習モデルファイルは汎用機械学習モデルと、セカンダリモデルディレクトリを含む。
【００８８】
その装置の特徴は、モデル配信器と、ファイル取得器と、ディレクトリ解析器と、モデルリーダとを備える。前記ディレクトリ解析器は、それぞれ前記ファイル取得器と、前記モデルリーダとに接続されている。
前記ファイル取得器は、汎用機械学習モデルファイルを取得するために用いられる。
前記モデル配信器は、前記汎用機械学習モデルファイルにおけるセカンダリモデルディレクトリを読み取り、前記セカンダリモデルディレクトリに従ってターゲット二次モデルを読み取り、また、前記ターゲットのセカンダリモデルを復元し、ターゲットの汎用機械学習モデルを取得するために用いられる。
前記ディレクトリ解析器は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダは、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００８９】
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【００９０】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【００９１】
一汎用機械学習モデル解析方法については、その方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む。
【００９２】
一実施例では、前記汎用機械学習モデルファイルを取得するステップは以下を含む。
前記汎用機械学習モデルファイルのファイル識別コードを取得する。
前記ファイル識別コードが事前設定された規則に適合するか否かを検出する。
前記ファイル識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
【００９３】
一実施例では、前記ファイル識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルのチェックディジットを取得する。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
【００９４】
一実施例では、前記訂正演算は以下を含む。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する前記ステップは以下を含む。
誤り訂正符号が取得される。
前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。
前記エラー訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する；
前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
【００９５】
一実施例では、前記モデルディレクトリに従って対応する汎用機械学習モデルを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの格納オフセット量を取得する。
前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。
【００９６】
一汎用機械学習モデル解析方法については、その方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。
前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。
【００９７】
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。
前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。
【００９８】
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
【００９９】
一汎用機械学習モデルファイル解析装置については、その装置は、
ファイル取得器と、ディレクトリ解析器と、モデルリーダとを備える。前記ディレクトリ解析器は、それぞれ前記ファイル取得器と、前記モデルリーダとに接続されている。
前記ファイル取得器は、汎用機械学習モデルファイルを取得するために用いられる。
前記ディレクトリ解析器は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダは、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。
【０１００】
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【０１０１】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【０１０２】
本出願における１つ以上の実施例の詳細は、図面および以下の説明に記載されている。本発明の他の特徴、目的、および利点は、明細書、図面および請求範囲から明らかになるであろう。
【０１０３】
本開示の実施例における技術案又は公知技術をより明確に例示するために、実施例公知技術の説明に使用される図面を以下に簡単に説明する。以下の説明における図面は、本開示の実施例のみであることは明らかであり、当業者にとっては、開示された図面に基づいて他の図面を創造的な仕事をすることなく得ることもできる。
【図面の簡単な説明】
【０１０４】
【図１】図１は、一実施例における汎用機械学習モデル生成方法のアプリケーション環境図である。
【図２】図２は、一実施例における汎用機械学習モデル生成方法の概略フローチャートである。
【図３】図３は、一実施例における汎用機械学習モデル生成装置の概略図である。
【図４】図４は、一実施例における汎用機械学習モデル実行方法の概略フローチャートである。
【図５】図５は、一実施例における汎用機械学習モデル実行装置の概略図である。
【図６】図６は、一実施例における汎用機械学習モデルはｊｐｇ画像に対する特徴抽出を実行する概略フローチャートである。
【図７】図７は、一実施例で提供されるコンピュータ装置の内部構造図である。
【図８】図８は、一実施例における汎用機械学習モデルファイル生成方法の応用シナリオ図である。
【図９】図９は、一実施例における汎用機械学習モデル生成方法の概略フローチャートである。
【図１０】図１０は、一実施例における汎用機械学習モデル生成装置の構造概略図である。
【図１１】図１１は、一実施例における汎用機械学習モデルファイル生成方法の概略フローチャートである。
【図１２】図１２は、一実施例における前記汎用機械学習モデルの格納オフセット量を演算する概略フローチャートである。
【図１３】図１３は、一実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。
【図１４】図１４は、別の実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。
【図１５】図１５は、もう一つの実施例における汎用機械学習モデル生成方法の概略フローチャートである。
【図１６】図１６は、さらにもう一つの実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。
【図１７】図１７は、別の実施例における汎用機械学習モデル生成方法の概略フローチャートである。
【図１８】図１８は、もう一つの実施例における汎用機械学習モデル生成方法の概略フローチャートである。
【図１９】図１９は、一実施例における汎用機械学習モデルファイル生成装置構造の概略図である。
【図２０】図２０は、別の実施例における汎用機械学習モデル生成装置の構造概略図である。
【図２１】図２１は、一実施例における汎用機械学習モデル解析方法の概略フローチャートである。
【図２２】図２２は、一実施例における汎用機械学習モデルファイルを取得する概略フローチャートである。
【図２３】図２３は、一実施例における汎用機械学習モデルファイルを取得する概略フローチャートである。
【図２４】図２４は、一実施例における訂正演算を実行する概略フローチャートである。
【図２５】図２５は、一実施例における前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む概略フローチャートである。
【図２６】図２６は、一実施例における汎用機械学習モデル解析方法の概略フローチャートである。
【図２７】図２７は、別の実施例における汎用機械学習モデル解析方法の概略フローチャートである。
【図２８】図２８は、もう一つの実施例における汎用機械学習モデル解析方法の概略フローチャートである。
【図２９】図２９は、一実施例における汎用機械学習モデル解析装置の構造概略図である。
【図３０】図３０は、一実施例における汎用機械学習モデル実行装置の構造概略図である。
【図３１】図３１は、一実施例におけるコンピュータ装置の内部構造図である。
【発明を実施するための形態】
【０１０５】
以下、添付図面を参照しながら、本発明の実施例について明確に説明する。尚、以下の実施例は、本発明を具体化した一例のみであって、本発明の技術的範囲を限定する性格を有さない。本出願の範囲から逸脱することなく本出願の実施例に基づいて当業者によって得られる他のすべての実施例も、本出願の範囲である。
【０１０６】
本願は、機械学習モデルに用いられる生成と、実行と、使用方法と、装置と、記憶媒体とを開示し、それにより、機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の取得までの時間が短縮される。
【０１０７】
本出願により提供される汎用機械学習モデル生成方法は、図１に示されるようなアプリケーション環境に応用されることはできる。図１に示されるアプリケーション環境は機械学習開発プラットフォームであり、フレームワーク層１１０１と、コンパイル層１１０２と、コンバージェンス層１１０３と、ドライバ層１１０４と、ハードウェア層１１０５とを含む。
【０１０８】
一実施例では、フレームワーク層１１０１は、機械学習タスクのアルゴリズム設計条件を提供するに用いられ、ユーザが独自のニューラルネットワーク構造を構築するために便利なトレーニングおよび予測ツールを提供する。フレームワーク層１１０１は、次のステップを実現するために用いられることがわかりやすい。
ユーザが設計した機械学習アルゴリズム（例えば、ニューラルネットワーク構造）を受信する。
各サブタスクのパラメータを解析し、コンパイル層に送信し、マシン命令と関連する必要な要素を生成する。
ランタイム層に送信されて計算を実行し、最終的にユーザが必要とする機械学習タスクを完了する。
【０１０９】
一実施例では、コンパイル層１１０２は、機械学習タスクで機械命令を生成することに用いられる。具体的には、コンパイル層には、コンパイラ、高頻度演算子に対して最適化された高性能ライブラリおよび機械命令を生成できるその他のモジュールと、デバイスと、データベースとが含まれる。コンパイル層１１０２は、上位層であるフレームワーク層１１０１から送信された機械学習タスクのパラメータを受信し、それをハードウェアのバイナリ機械命令にコンパイルして生成し、下位層であるランタイム層に送信して、保存または実行するように構成されていることがわかりやすい。
【０１１０】
一実施例では、コンバージェンス層１１０３は、ドライバをさらにカプセル化するためのプログラムであり、底層の異なるハードウェアとドライバとの違いをスクリーンすることができ、上位層であるコンパイル層１１０２またはユーザに統一されたプログラムインターフェースを提供する。具体的には、コンバージェンス層１１０３は、ハードウェアとドライバの詳細を考慮せずに上位層ソフトウェアをカプセル化する。さらに、コンバージェンス層１１０３は、機械学習タスクの基本操作のプログラムインターフェース、および機械学習モデルを保存すると、ロードすると、ハードウェアで実行するとに必要な機械命令などの必要な要素を提供するため、上位層ソフトウェアとユーザは、具体的なハードウェアの相違を考慮せず、機械学習タスク自身を注目するだけで十分である。必要に応じて、コンバージェンス層から提供された機械学習タスクの基本操作用のプログラムインターフェースには、メモリ空間の割り当てと、データコピーと、起動計算と、その他の機械学習タスクの基本操作用のプログラムインターフェースと含む。
【０１１１】
一実施例では、ドライバ層１１０４は、ハードウェア層１１０５のデバイスの基本動作をパッケージ化することに用いられ、上位層であるコンバージェンス層１１０３に呼び出すことができるプログラムインターフェースを提供する。具体的には、ドライバ層１１０４の基本操作には、データストリームの入出力制御と、制御信号のハードウェアへの送信と、ハードウェアにより生成された異常信号の受信や処理と、マルチタスクの管理およびスケジューリングなどが含まれる。
【０１１２】
一実施例では、ハードウェア層１１０５は、機械学習開発プラットフォームのうちにすべてのハードウェア設備を含む。必要に応じて、ハードウェア層１１０５は、メインプロセッサ、コプロセッサ、メモリ、入力および出力デバイス、電源モジュール、およびそれらの接続デバイスを含む。ハードウェア層１１０５は、上記のデバイスに限定されないことを理解されよう。
【０１１３】
一実施例では、図２および図３を共に参照しながら、一汎用機械学習モデル生成方法および装置を提供する。一実施例では、ステップＳ１２０１で、機械学習タスクのタスクパラメータを獲得する。一実施例では、機械学習タスクのタスクパラメータは、外部インターフェースモジュール１３１０００によって取得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを取得することが理解されよう。一実施例では、ステップＳ１２０２で、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを取得する。一実施例では、モデルパラメータを、モデルパラメータ生成モジュール１３２１００により取得し、タスク命令を、タスク命令生成モジュール１３２２００により取得する。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
【０１１４】
一実施例では、ステップＳ１２０３で、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する。一実施例では、共有不可なデータをスタックデータ収集器１３３１００によって収集し、共有可能なデータをヒープデータ収集器１３３２００によって収集される。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。
【０１１５】
一実施例では、ステップＳ１２０４で、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する。具体的には、汎用機械学習モデルには優れた汎用性が備える。
【０１１６】
具体的には、汎用機械学習モデルは、上位層の異なるフレームワークと互換性があり、例えば、上位層であるフレームワーク層１１０１と、コンパイル層１１０２と、集約層１１０３などの上位層の異なるフレームワークと互換性があるが、下位層の異なるドライバ層とハードウェアと互換性がある。さらに、汎用機械学習モデルが形成された後、異なる操作コアの数や入力データのアドレスや出力データのアドレスや他の汎用機械学習モデルに従ってデータブロックを調整でき、異なる状況に適応する。
【０１１７】
具体的には、汎用機械学習モデルを生成するステップは、上記のステップに限定されず、上記のステップの実行順序に限定されず、本発明の概念に基づいて行われた変更は、本発明の請求範囲とみなされる。
【０１１８】
一実施例では、図３を参照しながら、具体的には、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを取得するステップは以下を含む。
【０１１９】
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得する。一実施例では、アルゴリズム制御パラメータはタスク命令生成モジュール１３２２００によりコンパイルされる。
【０１２０】
具体的には、アルゴリズム制御パラメータには、アルゴリズムの演算構造が含まれる。具体的には、コンパイルとは、高水準言語を機械語に変換するプロセスを指す。コンパイルプロセスはターゲットプログラムを生成するプロセスであることは理解されよう。具体的には、タスク命令には、コンピュータによって直接認識および実行される指示が含まれる。タスク命令は、バイナリエンコーディング形式を採用することは理解されよう。一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得するステップは、前記タスク命令を分類してタスク命令ヒープデータを取得することを含む。一実施例では、タスク命令ヒープデータは、タスク命令生成モジュールによって生成され、マルチコアプラットフォーム内のコア間で共有されるタスク命令データを指す。
【０１２１】
前記計算パラメータに対して分類処理を行い、モデルパラメータを取得する。一実施例では、モデルパラメータ生成モジュールによって計算パラメータが分類され、モデルパラメータを取得する。
【０１２２】
具体的には、計算パラメータは、機械学習演算における入力データおよび出力データ以外のデータを含む。必要に応じて、分類処理は、入力データと出力データに対して機械学習に必要な処理であり、例えば、前処理操作や後処理操作が含まれる。必要に応じて、分類処理は、機械学習に入力データに対して機械学習演算を実行する際に、取得する必要があるデータまたはパラメータがさらに含む。例えば、ハードウェアプラットフォーム情報など。前記分類処理操作は、前処理操作や後処理操作に限定されず、ハードウェアプラットフォーム情報の取得に限定されず、入力データおよび出力データに対して非機械学習演算を実行する他の操作も、分類処理操作に属すことが理解されよう。分類処理操作により、異なる入力データが異なるハードウェアプラットフォームで異なる操作を実行するために必要なさまざまな操作と互換性がある。分類処理操作は、さまざまなシナリオでの汎用機械学習モデルのアプリケーションを満たすために、実践プロセスで修正および補足できることが理解されよう。
【０１２３】
一実施例では、図３を参照しながら、一実施例では、モデルパラメータ生成モジュール１３２１００によって計算パラメータが分類され、モデルパラメータを取得する。一実施例では、データタイプに従って前記タスク命令およびモデルパラメータを収集し、スタックデータおよびヒープデータを取得するステップは以下を含む。前記データタイプに従ってモデルパラメータに対して分類処理を実行して、モデルパラメータスタックデータとモデルパラメータヒープデータを取得する。オプションの実施形態として、モデルパラメータ生成モジュール１３２１００により、計算パラメータに対して分類処理を実行して、モデルパラメータスタックデータとモデルパラメータヒープデータを取得する。具体的には、モデルパラメータスタックデータは、マルチコアプラットフォームのコア間で共有不可なモデルパラメータを指し、モデルパラメータヒープデータは、マルチコアプラットフォームのコア間で共有可能なモデルパラメータを指す。具体的には、モデルパラメータスタックデータは、モデルパラメータスタックデータ生成モジュールにより取得され、モデルパラメータヒープデータは、モデルパラメータヒープデータ生成モジュールにより取得する。
【０１２４】
計算パラメータを分類して、モデルパラメータを取得するステップには、計算パラメータを前処理して前処理されたモデルデータを取得することが含まれる。一実施例では、前処理モジュール１３２１２１によって計算パラメータを前処理する。一実施例では、計算パラメータに対して実行される前処理操作は、計算パラメータに対するフォーマット変換操作、分割操作、および分類操作を含む。必要に応じて、前処理操作は、フォーマット変換操作、分割操作、および分類操作に限定されず、計算パラメータに対して実行される他の操作も前処理操作である。
【０１２５】
一実施例では、計算パラメータが分類処理され、モデルパラメータを取得するステップは、前記計算パラメータに従ってハードウェアパラメータを取得することを含む。ある可能な実施形態として、ハードウェアパラメータ生成モジュール１３２１２２は、ハードウェアパラメータを生成するために用いられる。一実施例では、ハードウェアパラメータは、ＧＰＵのモデル番号、ＣＵＤＡコアの数、非共有キャッシュサイズ、共有キャッシュサイズ、メモリアクセス帯域幅などのハードウェアデバイスの固定パラメータを含む。
【０１２６】
一実施例では、計算パラメータが分類処理され、モデルパラメータを取得するステップは、前記計算パラメータからデータ属性パラメータを抽出することを含む。ある可能な実施形態として、属性パラメータ抽出モジュール１３２１２３は、前記計算パラメータからデータの属性パラメータを抽出するように構成されている。一実施例では、前記計算パラメータに従ってハードウェアパラメータを取得するステップは、ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納することを含む。一実施例では、属性パラメータは、データに特有のいくつかのプロパティを含む。例えば、入力データが画像である場合、属性パラメータは、画像サイズと、チャネル数と、占有記憶スペースと、保存フォーマットと、各ピクセルのデータタイプなどを含む。
【０１２７】
一実施例では、属性パラメータ抽出モジュール１３２１２３により、前記計算パラメータからデータ属性パラメータを抽出するステップは以下を含む。
【０１２８】
計算パラメータの入力データ属性と、出力データ属性と、中間結果一時スペース属性とを取得する。前記入力データ属性について前記入力データのデータ量を抽出し、前記入力データ記憶スペースを割り当てる。前記出力データ属性について前記出力データのデータ量を抽出し、前記出力データ記憶スペースを割り当てる。前記中間結果一時スペース属性について中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てる。前記入力データの記憶スペースおよび出力データの記憶スペースはヒープデータとして保存され、前記中間結果一時スペースはスタックデータとして保存される。
【０１２９】
一実施例では、前記データタイプに従ってモデルパラメータを分類処理し、モデルパラメータスタックデータを取得するステップは以下を含む。共有属性に従って前記モデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。前記共有不可なモデルパラメータを収集し、モデルパラメータスタックデータを取得する。一実施例では、モデルパラメータスタックデータ生成モジュール１３２１１０により、モデルパラメータスタックデータは生成される。一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得するステップは、前記モデルパラメータスタックデータを収集して、前記スタックデータを取得することを含む。一実施例では、スタックデータはスタックデータ収集器１３３１００によって収集される。スタックデータを収集することにより、共有不可なデータを統一に処理でき、機械学習モデルのスタックデータがパターン化されるため、生成された機械学習モデルは汎用性になる。
【０１３０】
一実施例では、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合して統合し、スタックデータブロックを取得するステップは、スタックデータブロックを取得するステップは、前記スタックデータレイアウト情報に従って前記共有不能なモデルパラメータと、前記中間結果一時スペースデータとは統合されることをさらに含む。
【０１３１】
一実施例では、前記データタイプに従ってモデルパラメータを分類処理し、モデルパラメータヒープデータを取得するステップは以下を含む。共有属性に従って前記モデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。前記共有可能なモデルパラメータを収集し、モデルパラメータヒープデータを取得する。一実施例では、モデルパラメータヒープデータ生成モジュール１３２１２０により前記ステップを実行し、モデルパラメータヒープデータは生成される。ヒープデータを収集することにより、共有なデータを統一に処理でき、機械学習モデルのスタックデータがパターン化されるため、生成された機械学習モデルは汎用性になる。
【０１３２】
一実施例では、モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。具体的には、モデルパラメータ静的データとは、例えば、タスク命令と、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報などの機械学習アルゴリズムの動作中に変化しないデータである。モデルパラメータの動的データとは、入力データや出力データなどの機械学習アルゴリズムの動作中に変化するデータのことである。
【０１３３】
一実施例では、前記スタックデータとヒープデータを統合して汎用機械学習モデルを取得する前記ステップは、静的データ収集器１３３２１０により、前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得することを含む。一実施例では、前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとは統合され、前記連続した静的データブロックを取得する。
【０１３４】
静的データブロックを収集することにより、静的データブロックのデータを統一に処理でき、機械学習モデルの静的データがパターン化されるため、生成された機械学習モデルは汎用性になる。
【０１３５】
一実施例では、前記スタックデータとヒープデータを統合して汎用機械学習モデルを取得する前記ステップは、動的データ収集器１３３２２０により、前記モデルパラメータ動的データをパッケージ化し統合し、連続した動的データブロックを取得することを含む。一実施例では、前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合され、前記連続した動的データブロックを取得する。動的データブロックを収集することにより、動的データブロックのデータを統一に処理でき、機械学習モデルの動的データがパターン化されるため、生成された機械学習モデルは汎用性になる。
【０１３６】
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する。ある可能な実施形態として、汎用機械学習モデルはオフラインファイルに保存される。具体的には、オフラインファイルに１つ以上の汎用機械学習モデルが含まれている。具体的には、オフラインファイル内の汎用機械学習モデルは、事前設定された規則に従って呼び出される。具体的には、オフラインファイルは、確立された規則に従ってハードディスクに保存される。ある可能な実施形態として、オフラインファイルはオンライン関数を含む。具体的には、オンライン関数はメモリに保存される。
【０１３７】
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから汎用機械学習モデルを取得する前記ステップは以下を含む。前記タスク命令に従って静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得する。前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合して統合して、前記連続した静的データブロックを取得する。前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して統合して、前記連続した動的データブロックを取得する。前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合して統合して、前記スタックデータブロックを取得する。前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとが統合される。
【０１３８】
一実施例では、アルゴリズム制御パラメータがコンパイルされて、各データブロックレイアウト情報を取得する。具体的には、データブロックレイアウト情報は、データブロックの収集と統合に用いられ、メモリ割り当てを最適化するために各データブロックは各データブロックレイアウト情報に従って保存される。ある可能な実施形態として、データブロックレイアウト情報によると、各データブロックは優先に全ブロックでストレージされる。ある可能な実施形態として、ストレージスペースは全ブロックでストレージを満たすことができない場合に、プロセッサコアの処理順序に従ってメモリ割り当ては最適化され、データブロック情報は読みやすくなる。
【０１３９】
一実施例では、汎用機械学習モデル生成方法は、さらにハードウェア専用パラメータセットの生成を含む。具体的には、ハードウェア専用パラメータセットは、関連するパラメータを事前に準備し、ハードウェアの不足を補うことで、さまざまな機械学習アルゴリズムの計算要求を満たすことを指す。
【０１４０】
一実施例では、図３を参照しながら、汎用機械学習モデルの生成装置は、機械学習タスクのタスクパラメータを取得するための外部インターフェースモジュール１３１０００と、前記タスクパラメータを分類処理を実行してタスク命令とモデルパラメータを取得するための分類処理モジュール１３２０００と、データタイプに従って前記タスク命令とモデルパラメータを収集してスタックデータとヒープデータを取得するためのパラメータ収集モジュール１３３０００と、スタックデータとヒープデータを統合して汎用機械学習モデルを取得するためのモデル生成モジュール１３４０００とを備える。
【０１４１】
前記汎用機械学習モデルの生成装置は、タスクパラメータの分類処理を実行することにより、さまざまな機械学習アルゴリズムの演算プロセスによく適合し、集約および統合プロセスによって対応する機械学習アルゴリズムの汎用モデルを取得する。前記機械学習アルゴリズムの汎用モデルにより、対応する汎用モデルのコンパイル結果が実行中のアルゴリズムで直接実行され、繰り返しコンパイルが回避されるため、機械学習アルゴリズムにおける実現の効率が大幅に向上し、コンパイルから実行結果を取得するまでの時間が短縮される。
【０１４２】
一実施例では、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含む。前記分類処理モジュール１３２０００は、前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するためのタスク命令生成モジュール１３２２００と、前記計算パラメータに対して分類処理を実行してモデルパラメータを取得するためのモデルパラメータ生成モジュール１３２１１０とを備える。
【０１４３】
一実施例では、前記モデルパラメータ生成モジュール１３２１１０は、共有可能なモデルパラメータを収集してモデルパラメータスタックデータを取得するためのモデルパラメータスタックデータ生成モジュール３２１１０と、前記共有不能なモデルパラメータを収集してモデルパラメータヒープデータを取得するためのモデルパラメータヒープデータ生成モジュール１３２１２０とを備える。
【０１４４】
一実施例では、前記モデルパラメータ生成モジュールは、前記計算パラメータを前処理して前処理モデルデータを取得するための前処理モジュール１３２１２１と、前記計算パラメータに従ってハードウェアパラメータを取得するためのハードウェアパラメータ生成モジュール１３２１２２と、前記計算パラメータからデータ属性パラメータを抽出するための属性抽出モジュール１３２１２３とをさらに備える。
【０１４５】
一実施例では、前記タスク命令はタスク命令ヒープデータを含む。前記パラメータ収集モジュール１３３０００は、前記モデルパラメータスタックデータをパッケージ化し統合して統合してスタックデータブロックを取得するためのスタックデータ収集器１３３１００と、前記モデルパラメータ動的データをパッケージ化し統合して統合して連続した動的データブロックを取得するためのモデルパラメータ動的データ収集器１３３２２０と、前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合して統合して連続した静的データブロックを取得するためのモデルパラメータ静的データ収集器１３３２１０とを備える。
【０１４６】
一実施例では、前記モデル生成モジュール１３４０００は、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することに用いられる。
【０１４７】
汎用機械学習モデル生成装置の具体的な定義については、前記汎用機械学習モデル生成方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデル装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
【０１４８】
一実施例では、図４を参照しながら、一汎用機械学習モデルの実行方法を提供する。一実施例では、汎用機械学習モデルの実行方法は以下を含む。
【０１４９】
ステップＳ１４１０では、汎用機械学習モデルを取得する。
【０１５０】
具体的には、汎用機械学習モデルは、前記汎用機械学習モデルの方法に従って生成された汎用機械学習モデルである。汎用機械学習モデル生成方法の具体的な説明については、上記を参照することができ、ここで説明は繰り返さない。
【０１５１】
ステップＳ１４２０では、前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
【０１５２】
具体的には、分類と分解の根拠は、異なるデータタイプに従って分解することである。具体的には、スタックデータとは、マルチコア開発プラットフォームのコア間で共有不可なデータを指し、ヒープデータとは、マルチコア開発プラットフォームのコア間で共有できるデータを指す。一実施例では、ステップＳ１４２０で前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、前記汎用機械学習モデルにおける共用可能なデータをスタックデータとして分解するステップＳ１４２１０と、前記汎用機械学習モデルにおける共用不可なデータをヒープデータとして分解するステップＳ１４２２０とを含む。
【０１５３】
一実施例では、前記方法は、スタックデータをスタック領域に割り当てることをさらに含む。
【０１５４】
具体的には、スタック領域とは、メモリ内の主にスタックデータを格納する記憶スペースを指す。必要に応じて、スタック領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。
【０１５５】
一実施例では、前記方法は、ヒープデータをヒープ領域に割り当てることをさらに含む。
【０１５６】
具体的には、ヒープ領域とは、メモリ内の主にヒープデータを格納する記憶スペースを指す。必要に応じて、ヒープ領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。具体的には、ヒープ領域データには、ヒープデータや各ヒープブロックレイアウト情報などのヒープ領域に格納されているデータが含まれる。
【０１５７】
ステップＳ１４３０では、スタック領域データと、ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。具体的には、ステップＳ１４３０の計算処理は、ハードウェア計算ユニットにより実行され、ステップＳ１４０３のステップの実行後、ニューラルネットワークプロセッサは、ハードウェア計算ユニットによりオフされる。具体的には、ハードウェア計算ユニットは、算術論理演算ユニット、アキュムレータ、ステータスレジスタ、汎用レジスタグループなどから構成される。算術論理演算ユニットの基本機能は、４つの演算の加算、減算、乗算、除算、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＸＯＲなどの論理演算、およびシフトと補完などの操作である。ハードウェア計算ユニットは、機械学習アルゴリズムがコンパイルされるのを待たずに、スタック領域データとヒープ領域データを取得することにより、演算を直接実行できることが理解されよう。これにより、機械学習アルゴリズムの計算効率は、汎用機械学習モデルによって向上できる。
【０１５８】
一実施例では、前記スタックデータはモデルパラメータスタックデータを含む。
【０１５９】
一実施例では、ステップＳ１４２３０では、スタックデータをスタック領域に割り当てるステップはさらに以下を含む。
【０１６０】
ステップＳ１４２３１では、前記モデルパラメータスタックデータに必要なスペースのサイズと中間結果一時記憶スペースのサイズを取得する。具体的には、モデルパラメータスタックデータに必要なスペースのサイズと中間結果一時保存スペースのサイズに応じて、モデルアドレススタックデータと中間結果一時保存スペースに記憶アドレスと記憶スペースが割り当てられる。
【０１６１】
ステップＳ１４２３２では、前記モデルパラメータスタックデータに必要な占有記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第１の記憶スペースのサイズを取得する。モデルパラメータスタックデータは、機械学習動作プロセス中に中間結果を生成するため、モデルパラメータスタックデータが占有する記憶スペースと中間結果一時記憶スペースの合計は、メモリによってモデルパラメータスタック領域に割り当てられた最小記憶スペースであることは理解されよう。
【０１６２】
一実施例では、ステップＳ１４２３３において、前記モデルパラメータスタック領域の記憶スペースが割り当てられ、前記モデルパラメータスタック領域の記憶スペースは第１の記憶スペースのサイズ以上である。具体的には、モデルパラメータスタック領域とは、モデルパラメータスタックデータを格納するために主に使用される格納領域を指す。
【０１６３】
一実施例では、実行フェーズにおいて変更したヒープデータは、モデルパラメータ動的ヒープデータとして格納され、実行フェーズにおいて変化しないヒープデータはモデルパラメータ静的ヒープデータとして格納される。モデルパラメータスタックデータとモデルパラメータヒープデータの具体的な説明については、上記汎用モデル生成方法の関連内容を参照してもよいが、ここで説明は繰り返さない。
【０１６４】
一実施例では、ステップＳ１４２４０において、前記ヒープデータをヒープ領域に割り当てる前記ステップは、モデルパラメータ動的データに必要な記憶スペースのサイズを取得するステップＳ１４２４１と、モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てるステップＳ１４２４２と、モデルパラメータ静的データをモデルパラメータ静的ヒープ領域に割り当てるステップＳ１４２４３とをさらに含む。
【０１６５】
一実施例では、ステップＳ１４２４２は、モデルパラメータ動的データを動的データヒープ領域に割り当てる前記ステップはさらに以下を含む。
【０１６６】
ステップＳ１４２４２１では、前記モデルパラメータ動的データの記憶スペースと前記入力データの記憶スペースと前記出力データの記憶スペースとを加算し、第２の記憶スペースのサイズを取得する。
【０１６７】
ステップＳ１４２４２２では、モデルパラメータ動的ヒープ領域の記憶スペースが割り当てられ、前記モデルパラメータ動的ヒープ領域の記憶スペースは第２の記憶スペースのサイズ以上である。具体的には、割り当てられたモデルパラメータ動的ヒープ領域の記憶スペースは、第２の記憶スペースのサイズ以上である。ステップＳ１４２４２２のステップにより、通常の動作を保証しながら、記憶スペースがよりスケーラブルにされる。
【０１６８】
一実施例では、ステップＳ１４２４０は、前記ヒープデータをヒープ領域に割り当て、ヒープ領域データを取得する前記ステップはさらに以下を含む。
【０１６９】
前記モデルパラメータ動的ヒープ領域と前記モデルパラメータ静的ヒープ領域とは、連続した記憶スペースに割り当てられて、連続した記憶スペースを有するヒープ領域を得る。一実施例では、前記ヒープ領域内のデータは、前記モデルパラメータ動的データと、前記モデルパラメータ静的データと、前記入力データと、前記出力データとを含む。
【０１７０】
一実施例では、モデルパラメータ静的データは、タスク命令ヒープデータを含む。具体的には、タスク命令ヒープデータは、コア間で共有できるタスク命令データを指す。
【０１７１】
一実施例では、前記モデルパラメータ静的ヒープ領域の記憶スペースは、前記デルパラメータ静的ヒープデータの記憶スペース以上である。具体的には、モデルパラメータ静的ヒープ領域の記憶スペースは、モデルパラメータ静的データが占有する記憶スペース以上である。本実施例により、モデルパラメータ静的ヒープ領域は、通常の動作を保証しながら、よりスケーラブルにされる。
【０１７２】
一実施例では、前記スタック領域データと前記ヒープ領域データと入力データとに従って出力データを計算して取得する前記ステップは、前記入力データについて前記計算が完了した後、前記ハードウェア計算ユニットをオフすることをさらに含む。具体的には、ハードウェア計算ユニットをオフすることは、機械学習操作プロセスでのコンピュータリソースの占有を減らすのに有利である。
【０１７３】
一実施例では、前記スタック領域データと前記ヒープ領域データとに従って、前記入力データを計算して出力データを取得する前記ステップは、前記ヒープ領域から前記出力データを抽出することをさらに含む。前記出力データは、開発プラットフォームの外部に送信される。一実施例では、入力データと、出力データとはヒープ領域に格納される。入力データと、出力データとはモデルパラメータ動的ヒープ領域に格納されることは理解されよう。
【０１７４】
一実施例では、図４を参照しながら、一汎用機械学習モデルの実行装置を提供する。
汎用機械学習モデルを取得するためのモデル取得モジュール１５１００と、
前記汎用機械学習モデルを分類と分解して、スタックデータおよびヒープデータを取得するためのモデル分解モジュール１５２００と、
スタック領域データと、ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュール１５４００とを備える装置である。
【０１７５】
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュール１５２００は以下を含む。
【０１７６】
スタック領域データ配布モジュール１５３１０は、汎用機械学習モデルにおける共有可能なデータをスタックデータに分解するために用いられる。必要に応じて、スタック領域データ配布モジュール１５３１０は、さらに前記スタックデータをスタック領域に割り当てるために用いられる。
【０１７７】
ヒープ領域データ配布モジュール１５３２０は、前記ヒープデータをヒープ領域に割り当てるために用いられる。必要に応じて、ヒープ領域データ配布モジュール１５３２０は、さらに汎用機械学習モデルにおける共有不可なデータをヒープデータに分解するために用いられる。
【０１７８】
一実施例では、前記スタックデータはモデルパラメータスタックデータである。一実施例では、モデルパラメータスタックデータ配布モジュールは、前記モデルパラメータスタックデータに必要な記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第１の記憶スペースのサイズを取得するための第１の記憶スペース計算モジュールと、前記モデルパラメータスタック領域の記憶スペースのサイズは第２の記憶スペースのサイズ以上のように前記モデルパラメータスタック領域の記憶スペースを割り当てるためのモデルパラメータスタックデータ配布モジュールとを備える。
【０１７９】
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュール１５２００は以下を含む。
【０１８０】
スタック領域データ配布モジュール１５３１０は、汎用機械学習モデルの共有不可なデータをスタックデータに分解するために用いられ、ヒープ領域データ配布モジュール１５３２０は、汎用機械学習モデルの共有可能なデータをヒープデータに分解するために用いられる。一実施例では、前記スタック領域データ配布モジュール１５３１０は、さらに前記スタックデータをスタック領域に割り当てるために用いられる。一実施例では、前記ヒープ領域データ配布モジュール１５３２０は、さらに前記ヒープデータをヒープ領域に割り当てるために用いられる。
【０１８１】
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ配布モジュールは前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てることためにさらに用いられる。
【０１８２】
一実施例では、前記結果出力モジュール１５４００はさらに、
前記ヒープ領域から前記出力データを抽出するためのデータ抽出モジュール１５４１０と、
前記出力データを出力するためのデータ出力モジュール１５４２０とを備える。汎用機械学習モデル実行装置の具体的な定義については、前記汎用機械学習モデル実行方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデル実行装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
【０１８３】
一実施例では、図３および図６を共に参照しながら、図６は、２層ニューラルネットワークを介したｊｐｇ形式の画像の特徴抽出の概略図を提供する。一実施例では、２層ニューラルネットワークを介して画像を抽出する方法は以下を含む。
ステップＳ１６１００では、入力画像に対して入力前処理操作を実行して、処理済みの入力画像を取得する。
【０１８４】
一実施例では、属性抽出モジュール１３２１２３は、入力画像のサイズ、データフォーマット、圧縮フォーマット情報などの入力画像属性情報を抽出し、抽出された属性情報を前処理層に送信する。具体的には、入力前処理層６１００は、入力画像属性情報に従ってｊｐｇ圧縮画像を非圧縮の元画像に復元し、データポイントに値を１つずつ割り当て、畳み込み層１６２００が画像を易く処理するようにする。
【０１８５】
ステップＳ１６２００では、前記処理された入力画像に対して畳み込み演算を実行し、畳み込み演算結果を取得する。
【０１８６】
一実施例では、畳み込み層１６２００は、画像情報に対して特徴抽出を実行する。汎用機械学習モデルは、既に図６に示す機械学習アルゴリズム実行プラットフォームのハードウェア情報に従って、対応するタスク命令を生成した。機械学習アルゴリズム実行プラットフォームに対応するハードウェアが起動された後、タスク命令は計算完了までハードウェアを制御して徐々に入力データと重みデータを取得し、畳み込み演算を行い、中間結果を取得する。具体的には、重みデータは、汎用機械学習モデルにて既にトレーニングされたデータである。一実施例では、中間結果一時スペースの属性は、特徴マップのサイズ、占有している記憶スペースのサイズなどの中間結果の属性を含む。具体的には、中間結果一時スペースの属性に従って、中間結果に適切な記憶スペースが要求される。
【０１８７】
ステップＳ１６３００では、畳み込み演算の結果が活性化されて、活性化結果が得られる。
【０１８８】
一実施例では、活性化層１６３００は、ｓｉｇｍｏｉｄ活性化関数を選択して、畳み込み結果を０と１の間でマッピングする。具体的には、汎用機械学習モデルは、既に図６に示す機械学習アルゴリズムプラットフォームのハードウェア情報に従って、対応するタスク命令を生成した。機械学習アルゴリズム実行プラットフォームに対応するハードウェアが起動された後、タスク命令は対応するハードウェアを制御して徐々に入力データと重みデータを取得し、活性化演算を行う。一実施例では、この実施例で画像認識を実行するための機械学習アルゴリズム実行プラットフォームは除算器を欠いているが、ｓｉｇｍｏｉｄ関数は除算演算を含むため、対応するパラメータはハードウェア専用のパラメータセットから呼び出される。一実施例では、必要な除数の逆数は、ハードウェアパラメータセットが事前に準備される。
【０１８９】
一実施例では、活性化層１６３００が活性化演算を実行する際に、タスク命令の制御によりハードウェアは活性化演算の実行に関するデータを取得し、ハードウェア専用パラメータセットからパラメータデータを取得する。一実施例では、タスク命令の制御によりハードウェアは、畳み込み演算が完了するまで畳み込み演算を実行し、出力データを処理する。
【０１９０】
ステップＳ１６４００では、活性化結果に対して出力前処理を実行して、最終画像を取得する。
【０１９１】
一実施例では、出力前処理層１６４００は、画像によって事前設定された保存フォーマットに従って出力データに対して出力前処理動作を実行する。一実施例では、出力画像プリセットはｊｐｇ形式で保存され、出力前処理層１６４００は出力画像のプリセット形式に従って出力画像のサイズ、圧縮形式、データ形式などを処理して最終画像を取得する。
【０１９２】
図２、図４、および図６のフローチャートにおける各ステップは矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順序で実行されるわけではないことが理解されよう。本明細書で明示的に述べられている場合を除き、これらのステップの実行は厳密に制限されておらず、ステップは他の順序で実行されてもよい。また、図２および図４におけるステップの少なくともいくつかは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同時に実行される必要はなく、異なる時刻に実行されてもよい。これらのサブステップまたは段階の実行順序も必ずしも連続的である必要はなく、他のステップまたは他のステップのサブステップまたは段階の少なくともいくつかと交替にまたは交互に実行されてもよい。
【０１９３】
一実施例では、一コンピュータ設備が提供され、当該コンピュータ設備はサーバでもよく、その内部構造図は図７に示す通りとしてもよい。当該コンピュータ設備には、システムバスで接続されたプロセッサと、メモリと、ネットワークインターフェースと、データベースとが含まれる。当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために用いられる。当該コンピュータ設備のメモリは、不揮発性記憶媒体と、内部メモリとを含む。当該不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムと、データベースとを格納する。当該内部メモリは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作環境を提供する。当該コンピュータ設備のデータベースは、汎用機械学習モデルデータを格納するために用いられる。当該コンピュータ設備のネットワークインターフェースは、ネットワーク接続を介して外部端末と通信するために用いられる。コンピュータプログラムは、汎用機械学習モデル生成方法および／または汎用機械学習モデル実行方法を実現するためにプロセッサによって実行される。
【０１９４】
本出願により提供される汎用機械学習モデルファイル生成方法は、図１に示されるようなアプリケーション環境に応用されることはできる。本出願により提供される汎用機械学習モデル生成方法は、図８に示されるようなアプリケーション環境に応用されることはできる。図８に示されるアプリケーション環境は機械学習開発プラットフォームであり、フレームワーク層２１０１と、コンパイル層２１０２と、コンバージェンス層２１０３と、ドライバ層２１０４と、ハードウェア層２１０５とを含む。
【０１９５】
一実施例では、フレームワーク層２１０１は、機械学習タスクのアルゴリズム設計条件を提供するに用いられ、ユーザが独自のニューラルネットワーク構造を構築するために便利なトレーニングおよび予測ツールを提供する。フレームワーク層２１０１は、ユーザが設計した機械学習アルゴリズム（例えば、ニューラルネットワーク構造）の受け取りと、各サブタスクのパラメータの解析し、コンパイル層に送信して機械命令と関連する必要な要素を生成することと、ランタイム層に送信して計算を実行し、最終的にユーザに必要な機械学習タスクを完成することとのステップを実現するために用いられることが理解されよう。
【０１９６】
一実施例では、コンパイル層２１０２は、機械学習タスクで機械命令を生成することに用いられる。具体的には、コンパイル層には、コンパイラ、高頻度演算子に対して最適化された高性能ライブラリおよび機械命令を生成できるその他のモジュールと、デバイスと、データベースとが含まれる。コンパイル層２１０２は、上位層であるフレームワーク層２１０１から送信された機械学習タスクのパラメータを受信し、それをハードウェアのバイナリ機械命令にコンパイルして生成し、下位層であるランタイム層に送信して、保存または実行するように構成されていることがわかりやすい。
【０１９７】
一実施例では、コンバージェンス層２１０３は、ドライバをさらにカプセル化するためのプログラムであり、底層の異なるハードウェアとドライバとの違いをスクリーンすることができ、上位層であるコンパイル層２１０２またはユーザに統一されたプログラムインターフェースを提供する。具体的には、コンバージェンス層１０３は、ハードウェアとドライバの詳細を考慮せずに上位層ソフトウェアをカプセル化する。さらに、コンバージェンス層２１０３は、機械学習タスクの基本操作のプログラムインターフェース、および機械学習モデルを保存すると、ロードすると、ハードウェアで実行するとに必要な機械命令などの必要な要素を提供するため、上位層ソフトウェアとユーザは、具体的なハードウェアの相違を考慮せず、機械学習タスク自身を注目するだけで十分である。必要に応じて、コンバージェンス層から提供された機械学習タスクの基本操作用のプログラムインターフェースには、メモリ空間の割り当てと、データコピーと、起動計算と、その他の機械学習タスクの基本操作用のプログラムインターフェースと含む。
【０１９８】
一実施例では、ドライバ層２１０４は、ハードウェア層２１０５のデバイスの基本動作をパッケージ化することに用いられ、上位層であるコンバージェンス層１０３に呼び出すことができるプログラムインターフェースを提供する。具体的には、ドライバ層２１０４の基本操作には、データストリームの入出力制御と、制御信号のハードウェアへの送信と、ハードウェアにより生成された異常信号の受信や処理と、マルチタスクの管理およびスケジューリングなどが含まれる。
【０１９９】
一実施例では、ハードウェア層２１０５は、機械学習開発プラットフォームのうちにすべてのハードウェア設備を含む。必要に応じて、ハードウェア層２１０５は、メインプロセッサ、コプロセッサ、メモリ、入力および出力デバイス、電源モジュール、およびそれらの接続デバイスを含む。ハードウェア層２１０５は、上記のデバイスに限定されないことを理解されよう。
【０２００】
一実施例では、図９および図１０を共に参照しながら、一汎用機械学習モデル生成方法および装置を提供する。一実施例では、ステップＳ１２０１で、機械学習タスクのタスクパラメータを獲得する。一実施例では、機械学習タスクのタスクパラメータは、外部インターフェースモジュール２３１０００によって取得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを生成することが理解されよう。一実施例では、ステップＳ２２０２で、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。一実施例では、モデルパラメータは、モデルパラメータ生成モジュール２３２１００により生成され、タスク命令は、タスク命令生成モジュール２３２２００により生成される。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
【０２０１】
一実施例では、ステップＳ２２０３で、前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。一実施例では、共有不可なデータをスタックデータ収集器２３３１００によって収集し、共有可能なデータをヒープデータ収集器２３３２００によって収集される。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。一実施例では、ステップＳ２２０４で、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
【０２０２】
一実施例では、図１１を参照しながら、一汎用機械学習モデル生成方法および装置を提供する。
【０２０３】
ステップＳ２４０２では、汎用機械学習モデルを取得する。必要に応じて、汎用機械学習モデルは、前述ステップＳ２２０１〜ステップＳ２２０４によって生成された汎用機械学習モデルでもよく、他のモデルファイルでもよい。
【０２０４】
ステップＳ２４０４では、前記汎用機械学習モデルの格納オフセット量を計算する。具体的には、汎用機械学習モデルは１つでも複数でも構わない。一実施例では、汎用機械学習モデルは複数である場合に、各汎用機械学習モデルの格納オフセット量を毎に計算する。
【０２０５】
ステップＳ２４０６では、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。モデルディレクトリは，汎用機械学習モデルファイル内のすべてのモデルの保存場所の記録であり、モデルディレクトリにより、迅速にターゲットモデルにインデックスできる。
【０２０６】
ステップＳ２４０８では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。本実施例における汎用機械学習モデルファイルには、汎用機械学習モデル自体だけでなく、モデルディレクトリも含まれているため、汎用機械学習モデルファイル内の汎用機械学習モデルが呼び出されると、対応するモデルが迅速に特定され、読み取られる。
【０２０７】
上記汎用機械学習モデルファイル生成方法は、取得した汎用機械モデルのディレクトリを生成することにより、汎用機械学習モデルとモデルディレクトリとに基づいて汎用機械学習モデルファイルを生成する。機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の生成までの時間が短縮される。
【０２０８】
一実施例では、図１２を参照しながら、ステップＳ２４０４において、前記汎用機械学習モデルの格納オフセット量を計算するステップは以下を含む。
【０２０９】
ステップＳ２４０４１では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数とを取得する。一実施例では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと前記汎用機械学習モデルの数とに従って、汎用機械学習モデルファイルに必要な記憶スペース占有量のサイズを生成する。
【０２１０】
ステップＳ２４０２では、前記汎用機械学習モデルの保存順序を取得する。具体的には、汎用機械学習モデルの保存順序は、事前に設定された規則に従ってもよく、保存順序をランダムに生成してもよい。具体的には、汎用機械学習モデルの保存順序が決定された後、汎用機械学習モデルは決定された保存順序に従って保存される。
【０２１１】
ステップＳ２４０４３では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数と、前記汎用機械学習モデルの保存順序とに従って、各前記汎用機械学習モデルの格納オフセット量を毎に計算する。格納オフセット量とは、汎用機械学習モデルファイルにおける各汎用機械学習モデルが格納された相対位置を指す。例えば、モデルＡ、モデルＢ、およびモデルＣは、ファイルヘッダからファイルテールの順に格納され、モデルＡのサイズは２ビットで、モデルＢのサイズは３ビットで、モデルＣのサイズは１ビットである場合に、モデルＡのオフセットは０ビットで、モデルＢのオフセットは２ビットで、モデルＣのオフセットは２＋３＝５ビットである。
【０２１２】
一実施例では、図１３を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するステップＳ２４０８は以下を含む。
【０２１３】
ステップＳ２４０８ａでは、前記汎用機械学習モデルファイルのファイルヘッダおよびファイルテールを取得する。
【０２１４】
ステップＳ２４０８ｂでは、前記ファイルヘッダと、前記モデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記汎用機械学習モデルファイルを生成する。前記ファイルヘッダとは、汎用機械学習モデルファイルの最初の一部に一定のタスクを担うデータを指し、前記ファイルテールとは、汎用機械学習モデルファイルの最後の一部に一定のタスクを担うデータを指す。
【０２１５】
別の実施例では、図１４を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するステップＳ２４０８は以下を含む。
【０２１６】
ステップＳ２４０８ｃでは、汎用機械学習モデルファイルの識別コードを作成する。具体的には、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルに添付されているキャラクタを指し、対応する機械学習モデルファイルを正確に取得するために、異なる汎用機械学習モデルファイルはファイルの識別コードによって区別できる。ステップＳ２４０８ｄでは、前記識別コードと、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、汎用機械学習モデルの識別コードは、ファイルヘッダに格納される。
【０２１７】
もう一つの実施例では、図１５を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリに従って汎用機械学習モデルファイルを生成するステップＳ２４０８は以下を含む。
【０２１８】
ステップＳ２４０８ｃでは、前記汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号を作成する。チェックディジットは、汎用機械学習モデルファイルの演算から取得され、汎用機械学習モデルファイルの正確性を検証する。一実施例では、チェックディジットは汎用機械学習モデルファイルの最後のビットに位置し、誤り訂正符号はファイル受信端で、汎用機械学習モデルファイルの伝送プロセスにおけるエラーを見つけることができ、それを修正する文字列を指す。
【０２１９】
本実施例のステップにより、汎用機械学習モデルファイルの受信についてセキュリティと安定性が向上させる。伝送プロセスに伝送エラーが発生する場合に、チェックディジットによりエラーを直ちに検出し、誤り訂正符号によりエラーを訂正して、データの安定性とフォールトトレランスが向上させ、受信エラーによる後続プロセスの対応するエラーが防止されることができる。
【０２２０】
ステップＳ２４０８ｆでは、前記汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、チェックディジットおよび／または誤り訂正符号は、汎用機械学習モデルのファイルテールに格納される。
【０２２１】
一実施例では、図１６を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリに従って汎用機械学習モデルファイルを生成するステップＳ２４０８はさらに以下を含む。
【０２２２】
ステップＳ２４０８１では、前記汎用機械学習モデルファイルが占める必要な記憶スペースのサイズを計算する。
【０２２３】
一実施例では、汎用機械学習モデルファイルは、１つまたは複数の汎用機械学習モデルを含む。別の実施例では、汎用機械学習モデルファイルは、ファイルヘッダ、ファイルトレーラ、およびモデルディレクトリをさらに含む。必要に応じて、汎用機械学習モデルファイルは、モデルディレクトリの記憶スペースサイズと複数の汎用機械学習モデルの記憶スペースサイズとの合計を含んでもよい。必要に応じて、汎用機械学習モデルファイルは、ファイルヘッダの記憶スペースサイズ、ファイルテールの記憶スペースサイズ、モデルディレクトリの記憶スペースサイズ、および複数の汎用機械学習モデルの記憶スペースサイズをさらに含んでもよい。
【０２２４】
ステップＳ２４０８２では、前記汎用機械学習モデルと、前記汎用機械学習モデルファイルとが占める必要な記憶スペースのサイズと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、汎用機械学習モデルファイルモデルディレクトリと、汎用機械学習モデルとは、順にファイルヘッダからファイルテールまでに格納される。
【０２２５】
一実施例では、図１７を参照しながら、他の汎用機械学習モデル生成方法を提供し、それは、
汎用機械学習モデルを取得するステップＳ２５０１と、前記汎用機械学習モデルに対してストレージ最適化処理を実行して、セカンダリモデルを生成するステップＳ２５０２と、前記セカンダリモデルの格納オフセット量を計算するステップＳ２５０３と、前記セカンダリモデルと前記セカンダリモデルの格納オフセット量に従ってセカンダリモデルディレクトリを生成するステップＳ２５０４と、前記セカンダリモデルと前記セカンダリモデルディレクトリに従って汎用機械学習モデルファイルを生成するステップＳ２５０５とを含む。
【０２２６】
ステップＳ２５０１は、上記の実施例におけるステップＳ２４０２の実行プロセスと同じであるため、ここで説明は繰り返さない。また、ステップＳ２５０３とステップＳ２４０４、ステップＳ２５０４とステップＳ２４０６、ステップＳ２５０５とステップＳ２４０８の違いは、実行オブジェクトが異なることであり、つまり、ステップＳ２５０３、ステップＳ２５０４、およびステップＳ２５０５の実行オブジェクトはセカンダリモデルであり、ステップＳ２４０４、ステップＳ２４０６およびステップの実行オブジェクトは汎用機械学習モデルであり、２つの実施例における前記対応するステップの実行プロセスは同じであるため、ここで説明は繰り返さない。
【０２２７】
ステップＳ２５０１〜Ｓ２５０５の方法により、元の生成された汎用機械学習モデルが最適化され、汎用機械学習モデルファイルの格納と伝送が容易になり、伝送プロセスのセキュリティと安定性が向上する。
【０２２８】
一実施例では、ステップＳ２５０２で、前記汎用機械学習モデルにストレージ最適化プロセスを実行し、セカンダリモデルを生成するステップは、前記汎用機械学習モデルを圧縮してセカンダリモデルを生成することを含む。本実施例においては、汎用機械学習モデルを圧縮することにより、汎用機械学習モデルは汎用機械学習モデルファイルに便利に格納され、それにより、対応する汎用機械学習モデルを実行する際に、対応する汎用機械学習モデルを迅速に取得することを便利になる。
【０２２９】
別の実施例では、ステップＳ２５０２で、ストレージ最適化プロセスが汎用機械学習モデルで実行され、セカンダリモデルを生成するステップは、汎用機械学習モデルを暗号化してセカンダリモデルを生成することをさらに含む。本実施例においては、汎用機械学習モデルを暗号化することにより、格納および伝送プロセスにおける汎用機械学習モデルのセキュリティを向上させることができる。
【０２３０】
一実施例では、前記セカンダリモデルと前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
【０２３１】
前記機械学習セカンダリモデルファイルのファイルヘッダおよびファイルテールを取得する。
【０２３２】
前記ファイルヘッダと、前記セカンダリモデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記機械学習セカンダリモデルファイルを生成する。
【０２３３】
一実施例では、前記セカンダリモデルの格納オフセット量を計算する前記ステップは以下を含む。
【０２３４】
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数とを取得する。
【０２３５】
前記セカンダリモデルの保存順序を取得する。
【０２３６】
各前記セカンダリモデルが占める必要な記憶スペースのサイズと、前記セカンダリモデルの数と、前記セカンダリモデルの保存順序とに従って、各セカンダリモデルの格納オフセット量を毎に計算する。
【０２３７】
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
機械学習セカンダリモデルファイルの識別コードを作成する。
前記モデルファイル識別コードと、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【０２３８】
一実施例では、前記セカンダリモデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成することは以下を含む。
【０２３９】
前記セカンダリモデルファイルのチェックディジットおよび／または誤り訂正符号を作成する。前記機械学習セカンダリモデルファイルのチェックディジットおよび／または誤り訂正符号と、前記セカンダリモデルと、前記セカンダリディレクトリとに従って汎用機械学習セカンダリファイルを生成する。
【０２４０】
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータを分類して、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
【０２４１】
もう一つの実施例では、図１８を参照しながら、もう一つの汎用機械学習モデル生成方法を提供し、その方法は以下を含む。
ステップＳ２６０１では、機械学習タスクのタスクパラメータを獲得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを生成することが理解されよう。
【０２４２】
ステップＳ２６０２では、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
【０２４３】
ステップＳ２６０３では、前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。
【０２４４】
ステップＳ２６０４では、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。具体的には、汎用機械学習モデルには優れた汎用性が備える。一実施例では、汎用機械学習モデルは、上位層の異なるフレームワークと互換性があり、例えば、上位層であるフレームワーク層２１０１と、コンパイル層２１０２と、集約層２１０３などの上位層の異なるフレームワークと互換性があるが、下位層の異なるドライバ層とハードウェアと互換性がある。さらに、汎用機械学習モデルが形成された後、異なる操作コアの数や入力データのアドレスや出力データのアドレスや他の汎用機械学習モデルに従ってデータブロックを調整でき、異なる状況に適応する。
【０２４５】
ステップＳ２６０５では、前記汎用機械学習モデルの格納オフセット量を計算する。ステップＳ２６０５では、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従ってモデルディレクトリを生成する。ステップＳ２６０７では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。本実施例におけるステップＳ２６０５と、ステップＳ２６０６と、ステップＳ２６０７とは、上記の実施例におけるステップＳ２４０５と、ステップＳ２４０６と、ステップＳ２４０８との実行プロセスと同じであるため、ここで説明は繰り返さない。
【０２４６】
一実施例では、図１８を参照しながら、モデルフィラー２７０１と、ディレクトリジェネレータ２７０２と、ファイルジェネレータ２７０３とを備える汎用機械学習モデルファイル生成装置が提供され、前記モデルフィラー２７０１と前記ディレクトリジェネレータ２７０２とは接続され、ファイルジェネレータ２７０３は前記モデルフィラー２７０１と前記ディレクトリジェネレータ２７０２とそれぞれに接続される。具体的には、前記モデルフィラー２７０１は前記汎用機械学習モデルを取得するために用いられる。
前記ディレクトリジェネレータ２７０２は、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータ２７０３は、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【０２４７】
一実施例において、前記モデルフィラー２７０１は、前記汎用機械学習モデルをファイルジェネレータに順番に格納するためにさらに用いられる。
【０２４８】
一実施例では、前記ファイルジェネレータ２７０３は、ファイルヘッダジェネレータ２７０３１およびファイルテールジェネレータ２７０３２をさらに含み、前記ファイルヘッダジェネレータ２７０３１は、前記ディレクトリジェネレータ２７０２に接続されており、前記ファイルテールジェネレータ２７０３２は前記モデルフィラー２７０１に接続されている。一実施例では、前記ファイルヘッダジェネレータ２７０３１は、機械学習モデルファイルの識別コードを作成するために用いられ、前記識別コードと、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
【０２４９】
一実施例では、前記ファイルテールジェネレータ２７０３２は、前記汎用機械学習モデルファイルのチェックディジットおよび／または誤り訂正符号を作成するために用いられる。
【０２５０】
一実施例では、前記生成装置は、モデルストレージ最適化器２７０４をさらに備え、前記モデルストレージ最適化器２７０４は、前記モデルフィラー２７０１および前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルをストレージ最適化してセカンダリモデルを生成するために用いられる。一実施例において、セカンダリモデルフィラーは、前記セカンドモデルを受信してファイルジェネレータに順番に格納するために用いられる。
【０２５１】
一実施例では、前記生成装置は、ファイルサイズ計算器２７０５をさらに備え、前記ファイルサイズ計算器２７０５は、前記ディレクトリジェネレータ２７０２と接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記汎用機械学習モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
【０２５２】
一実施例では、前記ファイルサイズ計算器２７０５は、モデルストレージ最適化器２７０４に接続される。具体的には、上記実施例における接続関係には、電気的接続または無線接続が含まれる。
【０２５３】
一実施例では、図２０を参照しながら、一汎用機械学習モデル生成装置は、以下を含む。
外部インターフェースモジュール２８０１は、機械学習タスクのタスクパラメータを取得するために用いられる。
分類処理モジュール２８０２は、前記タスクパラメータを分類処理して、タスク命令およびモデルパラメータを生成するために用いられる。
パラメータ収集モジュール２８０３は、データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられる。
モデル生成モジュール２８０４は、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられる。
格納オフセット量計算モジュール２８０５は、前記汎用機械学習モデルの格納オフセット量を計算するために用いられる。
モデルディレクトリ生成モジュール２８０６は、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成するために用いられる。
ファイル生成モジュール２８０７は、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するために用いられる。
【０２５４】
一実施例では、図２０を参照しながら、汎用機械学習モデル生成装置は、汎用機械学習モデルファイル生成装置に接続されており、前記汎用機械学習モデルファイル生成装置は、汎用機械学習モデル生成装置にて生成された汎用機械学習モデルを汎用機械学習モデルファイルに変換するために用いられる。
【０２５５】
汎用機械学習モデルファイル生成装置の具体的な定義については、前記汎用機械学習モデルファイル生成方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデルファイル生成装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
【０２５６】
一実施例では、図２１を参照しながら、もう一つの汎用機械学習モデルファイル解析方法を提供し、その方法は以下を含む。
ステップＳ２７０１では、汎用機械学習モデルを取得する。汎用機械学習モデルファイルは、ステップＳ２４０２〜ステップＳ２４０８によって生成されたモデルファイルを含む。さらに、汎用機械学習ファイルにおける汎用機械学習モデルは、ステップＳ２２０１〜ステップＳ２２０４によって生成されたモデルファイルを含む。
ステップＳ２７０２では、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。具体的には、モデルディレクトリには、上述のステップＳ２４０６により生成されたモデルディレクトリが含まれる。
ステップＳ２７０３では、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む。前記ターゲットの汎用機械学習モデルとは、汎用機械学習モデルファイルにおける取り出される汎用機械学習モデルを指す。ターゲットの汎用機械学習モデルは、ユーザの操作命令に従って決定されてもよいし、タスク実行の必要に従って決定されてもよい。
【０２５７】
一実施例では、図１５を参照しながら、汎用機械学習モデルファイルを取得するステップＳ２７０１は以下を含む。
【０２５８】
ステップＳ２７０１１では、前記汎用機械学習モデルファイルの識別コードを取得する。特に、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルの識別を容易にするために、汎用機械学習モデルファイルヘッダに位置されてもよい。具体的には、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルに添付されているキャラクタを指し、対応する機械学習モデルファイルを正確に取得するために、異なる汎用機械学習モデルファイルはファイルの識別コードを識別することによって区別できる。さらに、識別コードはステップＳ２４０８ｃで作成された汎用機械学習モデルファイルの識別コードでもよい。
【０２５９】
ステップＳ２７０１２では、前記識別コードが事前設定された規則に適合するか否かを検出する。一実施例では、事前設定された規則は、対応する汎用機械学習モデルファイルを読み取る前に取得された汎用機械学習モデルファイルの識別コードの説明情報を指す。さらに、汎用機械学習モデルファイルを取得した後、汎用機械学習モデルファイルの識別コードが説明情報と一致するか否かを検出し、一致する場合に、識別コードが事前設定された規則に適合していると判断し、一致しない場合に、識別コードが事前設定された規則に適合していると判断する。
【０２６０】
ステップＳ２７０１３では、前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。具体的には、識別コードが事前設定された規則を満たしている場合に、前記汎用機械学習モデルファイルに伝送中に異常がないことを判断できる。
【０２６１】
一実施例では、識別コードが事前設定された規則を満たしている場合に、取得した汎用機械学習モデルファイルは読み取りべきの汎用機械学習モデルファイルとは一致ではない。具体的には、識別コードが事前設定された規則を満たしていない場合に、読み込まれた汎用機械学習モデルファイルが異常であると判断され、汎用機械学習モデルファイルの解析方法は実行を停止する。
【０２６２】
一実施例では、図２３を参照しながら、汎用機械学習モデルを取得するステップＳ２７０１は以下を含む。
【０２６３】
ステップＳ２７０１４では、前記汎用機械学習モデルファイルのチェックディジットを取得する。具体的には、チェックディジットが正しい場合に、取得した汎用機械学習モデルファイルは正しいものであり、取得した汎用機械学習モデルファイルのチェックディジットをさらに検出して、汎用機械学習モデルファイルの内容が正しいか否かを判断する。
【０２６４】
ステップＳ２７０１５では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。汎用機械学習モデルファイルの内容が正しい場合に、事前設定された標準コードはチェックディジットと一致する。さらに、取得されたチェックディジットが事前設定された標準コードと一致する場合に、汎用機械学習モデルファイルの内容が正しいと判断され、逆に、取得されたチェックディジットが事前設定された標準コードと一致しない場合に、汎用機械学習モデルファイルの内容が正しくないと判断される。必要に応じて、汎用機械学習モデルファイルが正しくない場合に、エラーが生じる原因は元のファイルにエラーがあるか、元のファイルは正しいが伝送中にエラーが発生する可能性もある。
【０２６５】
一実施例では、図２４を参照しながら、ステップＳ２７０１５では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認するチェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行し、それは以下を含む。
【０２６６】
ステップＳ２７０１５ａでは、誤り訂正符号を取得する。誤り訂正符号は、上記ステップＳ２４０８ｅにより取得された誤り訂正符号であってもよい。具体的には、誤り訂正符号はファイル受信端で、汎用機械学習モデルファイルの伝送プロセスにおけるエラーを見つけることができ、それを修正する文字列を指す。
【０２６７】
ステップＳ２７０１５ｂでは、前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。具体的には、ファイルのチェックディジットが事前設定された標準コードと一致しない場合に、汎用機械学習モデルファイルの内容が正しくないと判断されると、ファイルの誤り訂正符号に従って汎用機械学習モデルに対してエラーを修正する。具体的には、誤り訂正符号は、汎用機械学習モデルファイルのファイルテールに位置してもよい。
【０２６８】
ステップＳ２７０１５ｃでは、前記エラー訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する。具体的には、エラー訂正が完了した後、エラー訂正効果を検出するために、エラー修正されたモデルファイルのチェックディジットが事前設定された標準コードと一致しているか否かをもう一度検証する。
【０２６９】
ステップＳ２７０１５ｄでは、前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。訂正した汎用機械学習モデルファイルのチェックディジットは事前設定された標準コードとは一致すると、訂正した汎用機械学習モデルファイルの内容が正しいと判断されできることは理解されよう。
【０２７０】
別の実施例では、前記汎用機械学習モデルファイル解析方法は、前記訂正した汎用機械学習モデルファイルのチェックコードが前記事前設定された標準コードと一致しない場合に、前記方法の実行を停止することをさらに含む。訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致しないと、訂正誤り訂正が失敗したと判断でき、訂正した汎用機械学習モデルにはまだエラーがあることは理解されよう。
【０２７１】
一実施例では、図２５を参照しながら、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むステップＳ２７０３は以下を含む。
【０２７２】
ステップＳ２７０３１では、前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの格納オフセット量を取得する。格納オフセット量とは、汎用機械学習モデルファイルにおける各汎用機械学習モデルが格納された相対位置を指す。例えば、モデルＡ、モデルＢ、およびモデルＣは、ファイルヘッダからファイルテールの順に格納され、モデルＡのサイズは２ビットで、モデルＢのサイズは３ビットで、モデルＣのサイズは１ビットである場合に、モデルＡのオフセットは０ビットで、モデルＢのオフセットは２ビットで、モデルＣのオフセットは２＋３＝５ビットである。
【０２７３】
ステップＳ２７０３では、前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。一実施例では、格納オフセット量に従ってターゲットの汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの位置を取得し、さらにターゲットの汎用機械学習モデルの位置に従ってターゲットの汎用機械学習モデルを読み込む。
【０２７４】
一実施例では、図２６を参照しながら、もう一つの汎用機械学習モデルファイル解析方法を提供し、その方法は以下を含む。
【０２７５】
ステップＳ２８０１では、汎用機械学習モデルを取得する。具体的には、ステップＳ２８０１の実行プロセスは、上述のステップＳ２７０１のステップと同じであり、ここで説明は繰り返さない。
【０２７６】
ステップＳ２８０２では、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。具体的には、本実施例では、汎用機械学習モデルファイルにセカンダリモデルファイルが格納されている。具体的には、本実施例におけるセカンダリモデルおよびセカンダリモデルディレクトリは、上記ステップＳ２５０１〜Ｓ２５０５を介して生成されてもよい。
【０２７７】
ステップＳ２８０３では、前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。一実施例では、前記汎用機械学習モデルファイルにおけるターゲットのセカンダリモデルの格納オフセット量を取得し、前記格納オフセット量に従って、前記ターゲットのセカンダリモデルを読み込む。ターゲットのセカンダリモデルとは、汎用機械学習モデルファイルにおける取り出される汎用機械学習モデルを指す。
【０２７８】
ステップＳ２８０４では、前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。具体的には、セカンダリモデルは、ストレージ最適化処理を行った汎用機械学習モデルである。一実施例では、ストレージ最適化プロセスの操作に従ってセカンダリモデルが復元される。例えば、ストレージ最適化プロセスが暗号化である場合に、復元操作はセカンダリモデルに対して復号することである。例えば、ストレージ最適化プロセスが圧縮である場合に、復元操作はセカンダリモデルに対して解凍することである。ストレージ最適化プロセスは暗号化と圧縮の場合に、復元操作は復号と解凍である。
【０２７９】
一実施例では、図２７を参照しながら、汎用機械学習モデルファイル解析方法はさらに以下を含む。
【０２８０】
ステップＳ２９０１では、前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。具体的には、ハードウェアパラメータ情報は、汎用機械学習モデルを実行するときに必要なハードウェア情報を指す。
【０２８１】
ステップＳ２９０２では、前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。具体的には、ハードウェアパラメータ情報に従ってデバイスプールにおけるハードウェアパラメータ情報を満たすハードウェアを照合する。一実施例では、デバイスプールは異なるハードウェアプラットフォーム内のデバイスであってもよく、デバイスプール内でハードウェアパラメータ情報を照合することにより、汎用機械学習モデルの解析プロセスまたは実行プロセスは、クロスプラットフォームで実現できる。例えば、ハードウェアパラメータ情報によると、汎用機械学習モデルファイルの実現には一つのＣＰＵと一つのＧＰＵは必要であるが、当該プラットフォームはＧＰＵがなく１つのＣＰＵだけの場合は、デバイスプールから他のＧＰＵがあるプラットフォームを探し、デバイスプールにおける異なるプラットフォーム内のハードウェアデバイスを接続して、当該汎用機械学習モデルの実行を完了する。
【０２８２】
一実施例では、図２２を参照しながら、汎用機械学習モデルファイル解析方法はさらに以下を含む。
【０２８３】
ステップＳ２９０３では、前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。具体的には、分類と分解の根拠は、異なるデータタイプに従って分解することである。具体的には、スタックデータとは、マルチコア開発プラットフォームのコア間で共有不可なデータを指し、ヒープデータとは、マルチコア開発プラットフォームのコア間で共有できるデータを指す。一実施例では、ステップＳ２９０３で前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、前記汎用機械学習モデルにおける共用可能なデータをスタックデータとして分解するステップＳ２９０３１と、前記汎用機械学習モデルにおける共用不可なデータをヒープデータとして分解するステップＳ２９０３２とを含む。
【０２８４】
ステップＳ２９０４では、前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。一実施例では、前記方法は、スタックデータをスタック領域に割り当てることをさらに含む。
【０２８５】
具体的には、スタック領域とは、メモリ内の主にスタックデータを格納する記憶スペースを指す。必要に応じて、スタック領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。一実施例では、前記方法は、ヒープデータをヒープ領域に割り当てることをさらに含む。具体的には、ヒープ領域とは、メモリ内の主にヒープデータを格納する記憶スペースを指す。必要に応じて、ヒープ領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。具体的には、ヒープ領域データには、ヒープデータや各ヒープブロックレイアウト情報などのヒープ領域に格納されているデータが含まれる。
【０２８６】
図９、図１１−１８、および図２１−２８のフローチャートにおける各ステップは矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順序で実行されるわけではないことが理解されよう。本明細書で明示的に述べられている場合を除き、これらのステップの実行は厳密に制限されておらず、ステップは他の順序で実行されてもよい。また、図９、図１１−１８、および図２１−２８におけるステップの少なくともいくつかは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同時に実行される必要はなく、異なる時刻に実行されてもよい。これらのサブステップまたは段階の実行順序も必ずしも連続的である必要はなく、他のステップまたは他のステップのサブステップまたは段階の少なくともいくつかと交替にまたは交互に実行されてもよい。
【０２８７】
一実施例では、図２９を参照しながら、もう一つの汎用機械学習モデルファイル解析装置を提供し、
その装置は、ファイル取得器２９０１と、ディレクトリ解析器２９０２と、モデルリーダ２９０３とを備える。前記ディレクトリ解析器２９０２は、それぞれ前記ファイル取得器２９０１と、前記モデルリーダ２９０３とに接続されている。
前記ファイル取得器２９０１は、汎用機械学習モデルファイルを取得するために用いられる。
前記ディレクトリ解析器２９０２は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダ２９０３は、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。
【０２８８】
一実施例では、前記ファイル取得器２９０１は、ファイルヘッダチェッカー２９０１１を備える。
【０２８９】
前記ファイルヘッダーチェッカー２９０１１は、前記汎用機械学習モデルファイルの識別コードを取得し、前記識別コードが設定された規則を満たしているか否かを検出するために用いられる。前記ファイルヘッダの識別コードが正しい場合に、前記汎用機械学習モデルファイルにモデルディレクトリを読み込む。前記ヘッダーチェッカーは次の目的でも用いられる。
【０２９０】
前記汎用機械学習モデルファイルのチェックディジットを取得し、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、チェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
【０２９１】
一実施例では、前記ファイル取得器２９０１は、ファイルテール訂正器２９０１２をさらに備える。
【０２９２】
前記ファイルテール訂正器２９０１２は、ファイルテールの誤り訂正符号を取得するために用いられ、さらに前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対して訂正して、訂正したモデルファイルを取得するために用いられる。また、前記訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証するために用いられる。前記訂正されたモデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
【０２９３】
一実施例では、前記ファイルテール訂正器２９０１２は、前記訂正したモデルファイルのチェックコードが前記事前設定された標準コードと一致しない場合に、前記方法の実行を停止するために用いられる。
【０２９４】
一実施例では、前記モデルリーダ２９０３は、前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルのオフセット量を取得し、前記オフセット量に従って、前記ターゲットの汎用機械学習モデルを読み込む。
【０２９５】
一実施例では、前記汎用機械学習モデルファイル解析装置は、モデル配信器２９０４をさらに備え、前記モデル配信器２９０４は前記ディレクトリ解析器２９０２と接続する。一実施例では、前記モデル配信器２９０４は、前記汎用機械学習モデルファイルにおけるセカンダリモデルディレクトリを読み取り、前記セカンダリモデルディレクトリに従ってターゲット二次モデルを読み取り、前記ターゲットのセカンダリモデルを解析し、汎用機械学習モデルを取得するために用いられる。
【０２９６】
一実施例では、前記汎用機械学習モデルファイル解析装置は、ハードウェアマッチャー２９０５をさらに含み、前記ハードウェアマッチャー２９０５はモデルリーダー２９０３に接続され、前記ハードウェアマッチャーは、前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取り、前記ハードウェアパラメータに従ってデバイスプールで対応するハードウェアを照合するために用いられる。
【０２９７】
一実施例では、前記汎用機械学習モデルファイル解析装置は、前記汎用機械学習実行装置２９１００に接続されており、図３０を参照しながら、前記汎用機械学習実行装置は、
汎用機械学習モデルを取得するためのモデル取得器２９１０１と、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解器２９１０２と、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力器２９１０３とを備える。
【０２９８】
汎用機械学習モデルファイル解析装置の具体的な定義については、前記汎用機械学習モデルファイル解析方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデルファイル生成装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
【０２９９】
一実施例では、一コンピュータ設備が提供され、当該コンピュータ設備は端末でもよく、その内部構造図は図３１に示す通りとしてもよい。当該コンピュータ設備には、システムバスで接続されたプロセッサと、メモリと、ネットワークインターフェースと、ディスプレイと、インプットデバイスとが含まれる。当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために用いられる。当該コンピュータ設備のメモリは、不揮発性記憶媒体と、内部メモリとを含む。当該不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムとを格納する。当該内部メモリは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作環境を提供する。当該コンピュータ設備のネットワークインターフェースは、ネットワーク接続を介して外部端末と通信するために用いられる。コンピュータプログラムは、汎用機械学習モデルファイル生成方法および／または汎用機械学習モデル解析方法を実現するためにプロセッサによって実行される。当該コンピュータ設備のディスプレイは、液晶ディスプレイまたは電子インクディスプレイであってもよく、当該コンピュータ設備のインプットデバイスは、ディスプレイ上に覆われたタッチ層であってもよいし、またはココンピュータ設備のケーシング上に設けられたボタン、トラックボールまたはタッチパッドであってもよいし、さらに外部キーボード、タッチパッド、またはマウスなどであってもよい。
【０３００】
図３１に示される構造は、本出願の解決策に関連する構造の一部のブロック図にすぎず、本出願の解決策が適用されるコンピュータ設備の制限を構成しないことが当業者には理解されるであろう。図に示されているコンポーネントよりも多いまたは少ないコンポーネントが含まれているか、一部のコンポーネントが組み合わされているか、コンポーネントの配置が異なっていることはできる。
【０３０１】
一実施例では、メモリおよびプロセッサを備えるコンピュータ装置が提供され、メモリにコンピュータプログラムを格納し、当該プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
【０３０２】
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
【０３０３】
当業者であれば、上述した実施例の様々な方法の全部または一部を関連ハードウェアに命令するためのプログラムによって達成することができ、そのプログラムをコンピュータ可読メモリに格納することができ、そのプログラムは実行される際に、上記各方法の実施例のフローを含むことを理解するであろう。本出願で提供される各実施例で使用されるメモリ、ストレージ、データベース、または他の媒体への参照には、不揮発性および／または揮発性メモリのすべてが含まれ得る。不揮発性メモリには、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリが含まれる。揮発性メモリには、ランダムアクセスメモリ（ＲＡＭ）または外部キャッシュメモリが含まれる。制限ではなく例として、ＲＡＭは、静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、同期チェーン（Ｓｙｎｃｈｌｉｎｋ）、ＤＲＡＭ（ＳＬＤＲＡＭ）、メモリバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトメモリバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、およびメモリバスダイナミックＲＡＭ（ＲＤＲＡＭ）などのさまざまな形式で利用できる。
【０３０４】
図７に示される構造は、本出願の解決策に関連する構造の一部のブロック図にすぎず、本出願の解決策が適用されるコンピュータ設備の制限を構成しないことが当業者には理解されるであろう。図に示されているコンポーネントよりも多いまたは少ないコンポーネントが含まれているか、一部のコンポーネントが組み合わされているか、コンポーネントの配置が異なっていることはできる。最後に、説明すべきは、１番目と２番目などの関係用語は、あるエンティティまたは操作を別のエンティティまたは操作から区別するためにのみ使用され、必ずしもこれらのエンティティにはこのような実際の関係や操作の間には順序がある必要とするわけではないことに注意されよう。また、用語「備える」、「含む」またはその任意の変形は、非排他的な包含を網羅する意図であり、複数の要素を含むプロセス、方法、物品、またはデバイスがそれらの要素だけでなく、明示的にリストされていない他の要素も、またはそのようなプロセス、メソッド、アイテム、またはデバイスに固有の要素も包含する。「…を含む」という語句によって定義される要素は、要素を構成するプロセス、メソッド、アイテム、またはデバイスに他の要素が存在することを除外しない。
【０３０５】
本明細書の各実施例は漸進的に説明されており、各実施例は他の実施例との違いに焦点を合わせており、各実施例の間の同じ類似部分は互いに参照され得る。
【０３０６】
開示された実施例について上記の説明は、当業者が本出願を作成または使用することを可能にする。これらの実施例に対する様々な修正は当業者には明らかであり、本明細書で定義される一般原理は、本出願の精神または範囲から逸脱することなく他の実施例で実施することができる。したがって、本出願は、本明細書に示された実施例に限定されず、本明細書に開示された原理および新規の特徴の最も広い範囲が与えられるべきである。
【図１】
2021526670.tif 000003
【図２】
2021526670.tif 000004
【図３】
2021526670.tif 000005
【図４】
2021526670.tif 000006
【図５】
2021526670.tif 000007
【図６】
2021526670.tif 000008
【図７】
2021526670.tif 000009
【図８】
2021526670.tif 000010
【図９】
2021526670.tif 000011
【図１０】
2021526670.tif 000012
【図１１】
2021526670.tif 000013
【図１２】
2021526670.tif 000014
【図１３】
2021526670.tif 000015
【図１４】
2021526670.tif 000016
【図１５】
2021526670.tif 000017
【図１６】
2021526670.tif 000018
【図１７】
2021526670.tif 000019
【図１８】
2021526670.tif 000020
【図１９】
2021526670.tif 000021
【図２０】
2021526670.tif 000022
【図２１】
2021526670.tif 000023
【図２２】
2021526670.tif 000024
【図２３】
2021526670.tif 000025
【図２４】
2021526670.tif 000026
【図２５】
2021526670.tif 000027
【図２６】
2021526670.tif 000028
【図２７】
2021526670.tif 000029
【図２８】
2021526670.tif 000030
【図２９】
2021526670.tif 000031
【図３０】
2021526670.tif 000032
【図３１】
2021526670.tif 000033
【国際調査報告】
2021526670.tif 000034
2021526670.tif 000035
2021526670.tif 000036
2021526670.tif 000037