(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-15
(54)【発明の名称】ニューラルネットワークモデル変換方法、モデル精度位置決め方法、および装置
(51)【国際特許分類】
G06N 3/08 20060101AFI20220908BHJP
【FI】
G06N3/08 120
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021570957
(86)(22)【出願日】2021-02-18
(85)【翻訳文提出日】2022-01-27
(86)【国際出願番号】 CN2021076754
(87)【国際公開番号】W WO2021169844
(87)【国際公開日】2021-09-02
(31)【優先権主張番号】202010129010.0
(32)【優先日】2020-02-28
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520180323
【氏名又は名称】上▲海▼商▲湯▼智能科技有限公司
【氏名又は名称原語表記】SHANGHAI SENSETIME INTELLIGENT TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 1605A, Building 3, 391 Guiping Road, Xuhui District, Shanghai 200233 China
(74)【代理人】
【識別番号】110000729
【氏名又は名称】特許業務法人 ユニアス国際特許事務所
(72)【発明者】
【氏名】▲羅▼ 培超
(72)【発明者】
【氏名】徐 ▲遲▼
(72)【発明者】
【氏名】▲張▼ 行程
(57)【要約】
本発明では、ニューラルネットワークモデル変換方法、モデル精度位置決め方法、および装置が提案される。ニューラルネットワークモデル変換方法に係る技術案によれば、モデル変換装置は、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を自動的に取得することができ、ニューラルネットワークモデル変換の精度検証効率が向上することとなる。モデル精度位置決めに係る技術案によれば、モデル精度位置決め装置は、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、
前記モデル変換装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップと、を含む、
ことを特徴とするニューラルネットワークモデル変換方法。
【請求項2】
前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
第1プロセスで前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得することを含み、
前記方法は、
前記第1プロセスで第2プロセスを生成するステップと、
前記第1プロセスで前記第2プロセスを呼び出し、前記第2プロセスで前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理を実行することで、第2推理結果を取得するステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップは、
前記第1推理結果と前記第2推理結果との差異がプリセット誤差範囲内にある場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定し、あるいは、前記第1推理結果と前記第2推理結果との差異が前記プリセット誤差範囲を超える場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定するステップを含む、
ことを特徴とする請求項1または2に記載の方法。
【請求項4】
前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、前記モデル変換装置が前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、
前記モデル変換装置が前記ターゲットネットワーク層の情報を出力するステップと、をさらに含む、
ことを特徴とする請求項1乃至3の何れか一項に記載の方法。
【請求項5】
前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、
前記モデル変換装置が前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立することと、
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定することと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記モデル変換装置は、前記第1ニューラルネットワークモデルに対してモデル変換処理を再実行し、前記モデル変換処理を再実行する過程では、前記第1ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得し、および/または、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記モデル変換装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
前記モデル変換装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、
前記モデル変換装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む、
ことを特徴とする請求項1乃至6の何れか一項に記載の方法。
【請求項8】
モデル精度位置決め装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、
前記モデル精度位置決め装置が前記ターゲットネットワーク層の情報を出力するステップと、を含む、
ことを特徴とするモデル精度位置決め方法。
【請求項9】
前記方法は、前記モデル精度位置決め装置が前記モデル変換処理により前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するステップをさらに含み、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップを含む、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップは、
前記モデル精度位置決め装置が前記マッピング関係に基づいて前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データを順次比較することと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データ間の差異がプリセット誤差範囲を超えることに応答して、前記対応するネットワーク層のうちの前記第2ニューラルネットワークモデルに属するネットワーク層を前記ターゲットネットワーク層として特定することと、を含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記モデル精度位置決め装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、
前記モデル精度位置決め装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む、
ことを特徴とする請求項8乃至10の何れか一項に記載の方法。
【請求項12】
ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、
前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するように構成される検証ユニットと、を含む、
ことを特徴とするモデル精度位置決め方法。
【請求項13】
前記変換ユニットは、第1プロセスで前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成され、
前記装置は、
前記第1プロセスで第2プロセスを生成するように構成される生成ユニットと、
前記第1プロセスで前記第2プロセスを呼び出し、前記第2プロセスで前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理を実行することで、第2推理結果を取得するように構成される推理ユニットと、をさらに含む、
ことを特徴とする請求項12に記載の装置。
【請求項14】
前記検証ユニットは、前記第1推理結果と前記第2推理結果との差異がプリセット誤差範囲内にある場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定するように構成され、および/または、
前記検証ユニットは、前記第1推理結果と前記第2推理結果との差異が前記プリセット誤差範囲を超える場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定するように構成される、
ことを特徴とする請求項12または13に記載の装置。
【請求項15】
前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される位置決めユニットと、
前記ターゲットネットワーク層の情報を出力するように構成される出力ユニットと、をさらに含む、
ことを特徴とする請求項12乃至14の何れか一項に記載の装置。
【請求項16】
前記位置決めユニットは、
前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するように構成される確立ユニットと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するように構成される特定ユニットと、を含む、
ことを特徴とする請求項15に記載の装置。
【請求項17】
前記モデル変換装置は、前記第1ニューラルネットワークモデルに対してモデル変換処理を再実行し、前記モデル変換処理を再実行する過程では、前記第1ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得し、および/または、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する、
ことを特徴とする請求項16に記載の装置。
【請求項18】
ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、
前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される位置決めユニットと、
前記ターゲットネットワーク層の情報を出力するように構成される出力ユニットと、を含む、
ことを特徴とするモデル精度位置決め装置。
【請求項19】
プログラム命令が格納されたメモリと、前記メモリに格納されたプログラム命令を呼び出して、請求項1乃至11の何れか一項に記載の方法を実行するように構成されるプロセッサと、を含む、ことを特徴とする電子デバイス。
【請求項20】
前記コンピュータ読み取り可能な記憶媒体には命令が格納され、この命令がコンピュータで実行される際に、コンピュータが請求項1乃至11の何れか一項に記載の方法を実行することとなる、ことを特徴とするコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工知能(artiphicial intelligence,AI)の技術分野に関し、特にニューラルネットワークモデル変換方法、モデル精度位置決め方法、および装置に関する。
【0002】
<関連出願の相互参照>
本出願は、2020年2月28日に中国特許庁に提出された、出願番号が202010129010.0である中国特許出願の優先権を主張しており、当該中国特許出願の全文が援用により本発明に組み込まれるものとする。
【背景技術】
【0003】
現在、業界では様々な深層学習モデルのフレームワークが開発され、各フレームワークには独自のネットワーク構造定義およびツールキットがある。異なるフレームワークでは、トレーニング、配置、プラットフォーム互換性などの面でそれぞれのメリットがあるため、深層学習モデルのフレームワークを変換しなければならない場合がよくある。ニューラルネットワークモデルの変換とは、あるフレームワークで定義されたニューラルネットワークモデルを別のフレームワーク下に変換することを指す。
【0004】
しかし、ニューラルネットワークモデルが変換された後、プログラマが手動でモデル精度を検証しなければならないため、精度検証効率が低い。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明では、ニューラルネットワークモデルの変換に関する技術案が提案される。
【課題を解決するための手段】
【0006】
第1態様により、ニューラルネットワークモデル変換方法が提案され、前記ニューラルネットワークモデル変換方法は、モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、モデル変換装置が前記モデル入力データに基づいて前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップと、を含む。
【0007】
モデル変換装置は、ユーザ命令に従ってモデル変換処理を行うことができ、当該ユーザ命令は、ソース・フレームワーク下の第1ニューラルネットワークモデルをターゲット・フレームワーク下に変換するように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。モデル変換装置は、内部の操作命令、例えばモデル変換命令に従ってモデル変換処理を行うこともでき、当該内部の操作命令は、ソース・フレームワーク下の第1ニューラルネットワークモデルをターゲット・フレームワーク下に変換するように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。
【0008】
1つの実施可能な形態では、モデル変換装置は、第1ニューラルネットワークモデルに対してモデル変換処理を行う過程において、前記第1ニューラルネットワークモデルで前記モデル入力データを処理して得られた第1推理結果を取得する。
【0009】
1つの実施可能な形態では、モデル変換装置は前記第1推理結果をローカルに格納する。
【0010】
1つの実施可能な形態では、モデル変換装置は、前記第2ニューラルネットワークモデルで前記モデル入力データを処理することで、第2推理結果を取得する。
【0011】
1つの実施可能な形態では、モデル変換装置は、第1推理結果と第2推理結果を比較することで、第2ニューラルネットワークモデルの精度検証結果を取得する。
【0012】
1つの実施可能な形態では、前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、第1プロセスで前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得することを含み、前記方法は、前記第1プロセスで第2プロセスを生成するステップと、前記第1プロセスで前記第2プロセスを呼び出し、前記第2プロセスで前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理を実行することで、第2推理結果を取得するステップと、をさらに含む。
【0013】
1つの実施可能な形態では、前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップは、前記第1推理結果と前記第2推理結果との差異がプリセット誤差範囲内にある場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定し、あるいは、前記第1推理結果と前記第2推理結果との差異が前記プリセット誤差範囲を超える場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定するステップを含む。
【0014】
1つの実施可能な形態では、前記方法は、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、前記モデル変換装置が前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、前記モデル変換装置が前記ターゲットネットワーク層の情報を出力するステップと、をさらに含む。
【0015】
1つの実施可能な形態では、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、前記モデル変換装置が前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立することと、前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定することと、を含む。
【0016】
1つの実施可能な形態では、前記ターゲットネットワーク層は、第2ニューラルネットワークモデルに含まれる複数のネットワーク層のうち、精度の不整列が初めて出現したネットワーク層である。
【0017】
別の実施可能な形態では、前記ターゲットネットワーク層は、前記第2ニューラルネットワークモデルにおける精度の不整列が出現した複数のネットワーク層である。例えば、精度の不整列が初めて出現したネットワーク層に加えて、前記ネットワーク層の後続ネットワーク層も含む。
【0018】
1つの実施可能な形態では、前記ターゲットネットワーク層の情報は、前記ターゲットネットワーク層のマーク、パラメータ、出力データ、および当該出力データの、第1ニューラルネットワークモデルにおける前記ターゲットネットワーク層に対応するネットワーク層の出力データとの誤差のうちの少なくとも1つを含む。
【0019】
1つの実施可能な形態では、前記モデル変換装置は、前記第1ニューラルネットワークモデルに対してモデル変換処理を再実行し、前記モデル変換処理を再実行する過程では、前記第1ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得し、および/または、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する。
【0020】
1つの実施可能な形態では、前記モデル変換装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、前記モデル変換装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、前記モデル変換装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む。
【0021】
第2態様により、モデル変換装置が提案され、前記モデル変換装置は、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するように構成される検証ユニットと、を含む。
【0022】
第3態様により、電子デバイスが提案され、前記電子デバイスは、プログラム命令が格納されたメモリと、前記メモリに格納されたプログラム命令を呼び出して、第1態様または第1態様の何れか1つの実施可能な形態に記載の方法を実行するように構成されるプロセッサと、を含む。
【0023】
第4態様により、コンピュータ読み取り可能な記憶媒体が提案され、前記コンピュータ読み取り可能な記憶媒体は、前記コンピュータ読み取り可能な記憶媒体には命令が格納され、この命令がコンピュータで実行される際に、コンピュータが上記の第1態様または第1態様の何れか1つの実施可能な形態に記載の方法を実行する。
【0024】
第5態様により、命令を含むコンピュータ・プログラム製品が提案され、前記コンピュータ・プログラム製品は、コンピュータで実行される際に、コンピュータが上記の第1態様または第1態様の何れか1つの実施可能な形態に記載の方法を実行する。
【0025】
本発明のニューラルネットワークモデルの変換に係る技術案によれば、次の技術効果が達成される。
【0026】
ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を自動的に取得することができ、ニューラルネットワークモデル変換の精度検証効率が向上することとなる。
【0027】
本出願の実施例では、モデル精度位置決めに関する技術案がさらに提案される。
【0028】
第6態様により、モデル精度位置決め方法が提案される、前記モデル精度位置決め方法は、モデル精度位置決め装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、前記モデル精度位置決め装置が前記ターゲットネットワーク層の情報を出力するステップと、を含む。
【0029】
第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないことが既知した場合、モデル精度位置決め装置は、ユーザ命令に従ってモデル精度位置決めを行うことができ、当該ユーザ命令は、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。例えば、ユーザは、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないことを結果として取得した場合、当該ユーザ命令をモデル精度位置決め装置に送信する。モデル精度位置決め装置は、内部の操作命令、例えばモデル精度位置決め命令に従ってモデル精度位置決めを行うこともできる。例えば、モデル精度位置決め装置は、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないという命令を取得したと、モデル精度位置決め命令をトリガーすることとなる。当該内部の操作命令は、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。1つの実施可能な形態では、前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理により、前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得する。
【0030】
1つの実施可能な形態では、前記モデル変換処理の過程において、前記第1ニューラルネットワークモデルで前記モデル入力データを処理して得られた各ネットワーク層の出力データを取得する。
【0031】
1つの実施可能な形態では、前記ターゲットネットワーク層は、第2ニューラルネットワークモデルに含まれる複数のネットワーク層のうち、精度の不整列が初めて出現したネットワーク層である。
【0032】
別の実施可能な形態では、前記ターゲットネットワーク層は、前記第2ニューラルネットワークモデルにおける精度の不整列が出現した複数のネットワーク層である。例えば、精度の不整列が初めて出現したネットワーク層に加えて、前記ネットワーク層の後続ネットワーク層も含む。
【0033】
1つの実施可能な形態では、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データを比較することで、ターゲットネットワーク層を特定する。
【0034】
1つの実施可能な形態では、前記第2ニューラルネットワークモデルに含まれるネットワーク層と前記第1ニューラルネットワークモデルにおける対応するネットワーク層との出力データでの差異がプリセット誤差範囲を超えると、このネットワーク層が精度で整列しないものとして見なされる。
【0035】
1つの実施可能な形態では、前記ターゲットネットワーク層の情報は、前記ターゲットネットワーク層のマーク、パラメータ、出力データ、および当該出力データの、第1ニューラルネットワークモデルにおける前記ターゲットネットワーク層に対応するネットワーク層の出力データとの誤差のうちの少なくとも1つを含む。
【0036】
1つの実施可能な形態では、前記方法は、前記モデル精度位置決め装置が前記モデル変換処理により前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するステップをさらに含み、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップを含む。
【0037】
1つの実施可能な形態では、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップは、前記モデル精度位置決め装置が前記マッピング関係に基づいて前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データを順次比較することと、前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データ間の差異がプリセット誤差範囲を超えることに応答して、前記対応するネットワーク層のうちの前記第2ニューラルネットワークモデルに属するネットワーク層を前記ターゲットネットワーク層として特定することと、を含む。
【0038】
1つの実施可能な形態では、前記モデル精度位置決め装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、前記モデル精度位置決め装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む。
【0039】
第7態様により、モデル精度位置決め装置が提案され、前記モデル精度位置決め装置は、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される位置決めユニットと、前記ターゲットネットワーク層の情報を出力するように構成される出力ユニットと、を含む。
【0040】
第8態様により、電子デバイスが提案され、前記電子デバイスは、プログラム命令が格納されたメモリと、前記メモリに格納されたプログラム命令を呼び出して、第6態様または第6態様の何れか1つの実施可能な形態に記載の方法を実行するように構成されるプロセッサと、を含む。
【0041】
第9態様により、コンピュータ読み取り可能な記憶媒体が提案される、前記コンピュータ読み取り可能な記憶媒体は、前記コンピュータ読み取り可能な記憶媒体には命令が格納され、この命令がコンピュータで実行される際に、コンピュータが上記の第6態様または第6態様の何れか1つの実施可能な形態に記載の方法を実行する。
【0042】
第10態様により、命令を含むコンピュータ・プログラム製品が提案され、前記コンピュータ・プログラム製品は、コンピュータで実行される際に、コンピュータが上記の第6態様または第6態様の何れか1つの実施可能な形態に記載の方法を実行する。
【発明の効果】
【0043】
本発明のモデル精度位置決めに係る技術案によれば、次の技術効果が達成される。
【0044】
ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【図面の簡単な説明】
【0045】
【
図1】本発明の実施例で提案するニューラルネットワークモデル変換方法のフローチャートである。
【
図2】本発明の実施例で提案するニューラルネットワークモデル変換過程の概略図である。
【
図3】本発明の実施例で提案するニューラルネットワークモデル変換方法の別のフローチャートである。
【
図4】本発明の実施例で提案するターゲットネットワーク層の位置決め過程において得られたネットワークトポロジの概略図である。
【
図5】本発明の実施例で提案するモデル精度位置決め方法のフローチャートである。
【
図6】本発明の実施例で提案するモデル精度位置決め方法の別のフローチャートである。
【
図7】本発明の実施例で提案するモデル変換装置構成の概略図である。
【
図8】本発明の実施例で提案するモデル精度位置決め装置構成の概略図である。
【
図9】本発明の実施例で提案する電子デバイスのハードウェア構成の概略図である。
【発明を実施するための形態】
【0046】
以下では、本発明の実施例による技術案について本発明の実施例に関する図面を参照しながら明晰かつ完全に説明する。言うまでもなく、本明細書に記載される実施例は、本発明の実施例の全部ではなく、その一部に過ぎない。本発明の実施例に基づいて当技術分野の通常の技術者が創造的な労働をせずに得られる全ての他の実施例は、本発明の保護範囲内に入るものとする。
【0047】
本発明で用いられる用語「および/または」は、相関対象の相関関係を説明するためのものに過ぎず、3種の関係が存在し得ることを示し、例えば、Aおよび/またはBは、Aが単独で存在する場合と、AとBが同時に存在する場合と、Bが単独で存在する場合と、の3種の場合を示すとは、理解されるべきであろう。また、本明細書で用いられる記号「/」は一般に、前後の相関対象が「または」の関係にあることを示す。本発明で用いられる用語「第1」、「第2」などは、特定の順序を記述するためではなく、異なる対象を区別するためのものである。
【0048】
図1は、本発明の実施例で提案するニューラルネットワークモデル変換方法のフローチャートであり、
図1に示すように、当該方法は、次のステップを含む。
【0049】
S101:モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得する。
【0050】
異なるフレームワークでは、トレーニング、配置、プラットフォーム互換性などの面でそれぞれのメリットがあるため、ニューラルネットワークモデルのフレームワークを変換することができる。各フレームワークには独自のネットワーク構造定義およびツールキットがある。ニューラルネットワークモデルの変換とは、あるフレームワークで定義されたニューラルネットワークモデルを別のフレームワーク下に変換することを指し、例えば、tensorflowフレームワーク下のニューラルネットワークモデルをpytorchフレームワーク下に変換したり、カスタムフレームワーク下のニューラルネットワークモデルをpytorchやtensorflowなどの汎用的なフレームワーク下に変換したり、逆にしたりする、などが挙げられる。変換前のニューラルネットワークモデルに対応するフレームワークを「ソース・フレームワーク」と呼び、変換後のニューラルネットワークモデルに対応するフレームワークを「ターゲット・フレームワーク」と呼び、本発明の実施例では、ソース・フレームワークおよびターゲット・フレームワークの具現化について制限されない。
【0051】
モデル変換装置は、ユーザ命令に従ってモデル変換処理を行うことができ、当該ユーザ命令は、ソース・フレームワーク下の第1ニューラルネットワークモデルをターゲット・フレームワーク下に変換するように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。モデル変換装置は、内部の操作命令、例えばモデル変換命令に従ってモデル変換処理を行うこともでき、当該内部の操作命令は、ソース・フレームワーク下の第1ニューラルネットワークモデルをターゲット・フレームワーク下に変換するように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。ここでは、第1ニューラルネットワークモデルは、汎用的なニューラルネットワークモデルで、任意の機能を持つニューラルネットワークモデルであってもよい。当該第1ニューラルネットワークモデルは、1つまたは複数のネットワーク層を含み、例えば、畳み込み層、プーリング層、全結合層、正規化層などが挙げられる。当該ソース・フレームワーク下の第1ニューラルネットワークモデルは、ソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層の構造記述ファイルなどを含み、当該構造記述ファイルでネットワーク層の名称、層のインデックスなどを記述する。当該モデル入力データとは、ニューラルネットワークモデル推理に用いられるモデル入力データを指し、テストデータと呼ばれてもよい。当該モデル入力データは、1枚の画像、1段の文字などであってもよい。当該ターゲット・フレームワークの情報は、ターゲット・フレームワークのマーク、フォーマット、ツールキットなどを含む。
【0052】
S102:モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得する。
【0053】
ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するには、ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行い、即ち第1ニューラルネットワークモデルをターゲット・フレームワーク下に変換する必要がある。
図2は、本発明の実施例で提案するニューラルネットワークモデル変換過程の概略図であり、モデル変換装置(ニューラルネットワークモデル変換ツールとも呼ばれる)を利用してニューラルネットワークモデルのフレームワークを変換することができる。ニューラルネットワークモデル変換ツールを利用してソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層をそれぞれターゲット・フレームワークのフォーマットに変換することで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルにおける各ネットワーク層を取得して、ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得する。ここでは、第1ニューラルネットワークモデルにおける1つのネットワーク層は、第2ニューラルネットワークモデルにおける1つまたは複数のネットワーク層に変換された可能性があり、第2ニューラルネットワークモデルにおける1つのネットワーク層は、第1ニューラルネットワークモデルにおける1つまたは複数のネットワーク層に対応する可能性もあり、本発明の実施例ではこれについて制限されない。
【0054】
一部の実施例では、モデル変換装置は、第1ニューラルネットワークモデルに対して上記のモデル変換処理を行う過程において、第1ニューラルネットワークモデルでのモデル入力データへの推理過程を実行することで、第1推理結果、例えば
図2に示す出力1を取得することができる。選択的には、当該推理結果を第1推理結果としてローカルに格納または記録することができる。当該第1推理結果を第2ニューラルネットワークモデルの精度検証に利用することができる。換言すれば、第1ニューラルネットワークモデルでのモデル入力データへの推理結果を取得するにはモデル変換過程中で十分であり、推理過程をもう一回実行することが不要である。それにより、精度検証の効率が向上することとなる。
【0055】
別の一部の実施例では、モデル変換装置は、モデル入力データを第1ニューラルネットワークモデルに再入力して、第1ニューラルネットワークモデルでのモデル入力データへの推理過程を再実行することで、第1推理結果を取得することもできる。
【0056】
別の一部の実施例では、モデル変換装置は、第1ニューラルネットワークモデルでのモデル入力データへの第1推理結果を予め格納する可能性がある。
【0057】
モデル変換装置は、ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得する。具体的には、先ず、モデル変換装置は、第1ニューラルネットワークモデルに対してモデル解析処理を行うことで、第1ニューラルネットワークモデルのネットワークトポロジ図を取得する。選択的には、当該モデル解析処理は、第1ニューラルネットワークモデルでのモデル入力データへの推理または他の方法で取得されることができ、当該ネットワークトポロジ図は、計算図とも呼ばれ、第1ニューラルネットワークモデルにおける各ネットワーク層、および各ネットワーク層間の接続関係を含むことができ、例えば
図4に示すようなネットワークトポロジ構造が挙げられる。ここでは、当該ネットワークトポロジ図は各ネットワーク層の出力を含まなくてもよく、このようにすれば、モデル変換効率の向上には有利である。
【0058】
その次に、モデル変換装置は、ネットワークトポロジ図およびターゲット・フレームワークの情報に基づいて第2ニューラルネットワークモデルを取得する。モデル変換装置は、第1ニューラルネットワークのネットワークトポロジ図を取得した後、ターゲット・フレームワークには独自のネットワーク構造定義およびツールキットがあるので、第1ニューラルネットワークのネットワークトポロジ図に基づいて、ターゲット・フレームワークのネットワーク構造定義および/またはツールキットを利用して、当該第1ニューラルネットワークのネットワークトポロジ図に対して適応性ネットワーク構築を行うことで、第2ニューラルネットワークモデルを取得することができる。
【0059】
S103:モデル変換装置が第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれでモデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を取得する。
【0060】
ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得した後、上記のモデル入力データを第2ニューラルネットワークモデルに入力し、当該モデル入力データを利用して当該第2ニューラルネットワークモデルにおける各ネットワーク層で推理を一回実行し、前のネットワーク層から出力された推理結果を次のネットワーク層の入力データとして利用し、このようにすれば、最後に第2ニューラルネットワークモデルでの最終的な推理結果、即ち第2推理結果を取得することができる。
【0061】
当該第1推理結果は、ソース・フレームワーク下の第1ニューラルネットワークモデルでモデル入力データを処理して得られた最後の層から出力された推理結果または後ろからのある層の意義ある推理結果であり、相応的には、当該第2推理結果は、ターゲット・フレームワーク下の第2ニューラルネットワークモデルでモデル入力データを処理して得られた最後の層から出力された推理結果または後ろからのある層の意義ある推理結果であるとは理解されるべきであろう。本発明の実施例ではこれについて制限されない。
【0062】
図2に示すように、モデル入力データをソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルにそれぞれ入力すると、出力1(即ち上記の第1推理結果)および出力2(即ち上記の第2推理結果)がそれぞれ取得されることとなる。
【0063】
第1推理結果および第2推理結果を取得した後、当該第1推理結果および第2推理結果は同じモデル入力データを利用して第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれで推理を実行して得られたので、当該第1推理結果および第2推理結果に基づき、例えば当該第1推理結果と第2推理結果を比較することで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルの精度検証結果を取得することができる。さらに例えば、第2推理結果のうちの複数のパラメータ値と第1推理結果のうちの対応するパラメータ値とを1対1マッチングすることで、マッチング結果、即ち上記の精度検証結果を取得することもできる。一部の実施例では、当該精度検証結果は、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルとのモデル精度での比較結果、例えば、精度で整列するか、または精度で整列しないことを示す場合があり、あるいは、当該精度検証結果は、第2ニューラルネットワークモデルのモデル精度が予期基準または設定基準を満たすか否か、例えば、精度が基準に達するか、または精度が基準に達しない、などを示す場合もあり、本発明の実施例ではこれについて制限されない。
【0064】
一部の実施例では、当該精度検証結果を出力してもよいし、第2ニューラルネットワークモデルの情報を保存してもよい。本発明の実施例はこれに制限されるものではない。
【0065】
図2に示すように、ソース・フレームワーク下のニューラルネットワークモデルの出力1およびターゲット・フレームワーク下のニューラルネットワークモデルの出力2に基づいて、精度の検証を行う。
【0066】
本発明の実施例で提案するニューラルネットワークモデル変換方法によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を自動的に取得することができ、ニューラルネットワークモデル変換の精度検証効率が向上することとなる。
【0067】
図3は、本発明の実施例で提案するニューラルネットワークモデル変換方法の別のフローチャートであり、
図3に示すように、当該方法は、次のステップを含む。
【0068】
S201:モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得する。
【0069】
このステップの具現化は、
図1に示される実施例におけるステップS101を参照できる。
【0070】
S202:第1プロセスでソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得し、第1ニューラルネットワークモデルでモデル入力データを処理して得られた第1推理結果を記録する。
【0071】
このステップの一部の具現化は、
図1に示される実施例におけるステップS102を参照できる。
【0072】
上記のモデル変換過程は第1プロセスで行われる。
【0073】
S203:第1プロセスで第2プロセスを生成する。
【0074】
同じモデル入力データを利用して第2ニューラルネットワークモデルで推理を実行する場合、推理実行過程中のリソース衝突を防止するために、上記の第1プロセスで新プロセス、即ち第2プロセスを生成することができ、この第2プロセスは上記の第1プロセスとは占用するリソースが異なる。
【0075】
マルチプロセスの呼び出しの面では、ニューラルネットワークモデル変換ツールおよびソース・フレームワーク下の第1ニューラルネットワークモデルが一般的に、あるプラットフォームに基づいて開発されたものであるが、ニューラルネットワークモデルのフレームワーク変換を行う時に、異なるターゲット・フレームワークによって異なる実行方法を選択するとは、理解されるべきであろう。このため、生成された当該第2プロセスは、システム環境下のプロセスであっても、当該プラットフォーム下のプロセスであってもよい。一部の実施例では、ニューラルネットワークモデル変換ツールおよびソース・フレームワークがPythonプラットフォームに基づいて開発されたものであってもよく、ターゲット・フレームワークがCaffeフレームワークである場合、CaffeではpycaffeのPythonインターフェースが提供されるので、Pythonの多重処理(multiprocessing)モジュールを利用して新プロセスを生成してPython環境下でターゲット・フレームワークを引き続き利用することができる。一部の実施例では、ニューラルネットワークモデル変換ツールおよびソース・フレームワークがPythonプラットフォームに基づいて開発されたものであってもよく、ターゲット・フレームワークではコマンドライン形式の呼び出しがサポートされる時に、Pythonのosモジュールのos.systemを利用してシステム環境下で新プロセス実行命令を生成してターゲット・フレームワークを起動することができる。
【0076】
新プロセスを生成し、この新プロセスで第2ニューラルネットワークモデルでのモデル入力データへの推理を実行することで、推理過程中において第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが同じプロセスで幾つかのシステムを呼び出す時に衝突することに起因するプログラムのクラッシュを回避することができる。推理過程の信頼性が向上することとなる。
【0077】
S204:第1プロセスで第2プロセスを呼び出し、第2プロセスで第2ニューラルネットワークモデルでのモデル入力データへの処理を実行することで、第2推理結果を取得する。
【0078】
第1プロセスで新たに生成された第2プロセスを呼び出し、上記のモデル入力データを第2ニューラルネットワークモデルに入力し、当該モデル入力データを利用して当該第2ニューラルネットワークモデルにおける各ネットワーク層で推理を一回実行し、前のネットワーク層から出力された推理結果を次のネットワーク層の入力データとして利用し、このようにすれば、最後に第2ニューラルネットワークモデルでの最終的な推理結果、即ち第2推理結果を取得することができる。
【0079】
S205:第1推理結果と第2推理結果との差異がプリセット誤差範囲内にあるか否かを判断し、YESであればステップS206に進む一方、NOであればS207に進む。
【0080】
S206:第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定する。
【0081】
S207:第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定する。
【0082】
第1推理結果および第2推理結果を取得した後、当該第1推理結果および第2推理結果は同じモデル入力データを利用して第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれで推理を実行して得られたので、当該第1推理結果および第2推理結果に基づいて、ターゲット・フレームワーク下の第2ニューラルネットワークモデルの精度検証結果を取得することができる。具体的には、第1推理結果と第2推理結果との差異がプリセット誤差範囲内にある場合、第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定する。第1推理結果と第2推理結果との差異がプリセット誤差範囲を超える場合、第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定する。
【0083】
S208:第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、モデル変換装置が第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めする。
【0084】
第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定した場合、第1ニューラルネットワークモデルと第2ニューラルネットワークモデルとの精度の不整列が初めて出現したネットワーク層を位置決めする必要があり、即ち推理結果の不一致が初めて出現したネットワーク層を位置決めする必要があり、この位置決めされたネットワーク層は、ターゲットネットワーク層と呼ばれる。ここでは、当該ターゲットネットワーク層は、第2ニューラルネットワークモデルに含まれる複数のネットワーク層のうち、精度の不整列が初めて出現したネットワーク層である。あるいは、当該ターゲットネットワーク層は、第2ニューラルネットワークモデルに含まれる複数のネットワーク層のうち、第1ニューラルネットワークモデルにおける対応するネットワーク層の出力データとの差異がプリセット誤差範囲を超える初めてのネットワーク層である。
【0085】
ニューラルネットワークモデル変換ツールの効率を向上させるために、上記のニューラルネットワークモデルの精度検証過程では一般的にどの層の推理結果(出力データとも呼ばれる)も保存しない。精度検証結果として、精度で整列しない場合、ニューラルネットワークモデル変換ツールは、精度問題を特定するために、ニューラルネットワークモデルの変換および推理を再実行する。換言すると、モデル変換装置は、第1ニューラルネットワークモデルに対してモデル変換処理を再実行する。ニューラルネットワークモデルの各層の出力データ量が大きいので、一般的には、ニューラルネットワークモデルの各層の出力データをメモリに保存するのではなく、出力データをローカル化し、即ちローカルに保存する。したがって、モデル変換処理を再実行する過程では、第1ニューラルネットワークモデルにおける各ネットワーク層の出力データがローカルに保存される。あるネットワーク層の精度を検証する時に、当該ネットワーク層の出力データをローカルからメモリにロードする。
【0086】
ニューラルネットワークモデル変換ツールを利用してソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層をそれぞれターゲット・フレームワークのフォーマットに変換する過程では、ソース・フレームワークはこのモデル入力データを利用して第1ニューラルネットワークモデルで推理を一回実行するので、第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層の接続関係を取得することができる。その次に、モデル変換装置は、第1ニューラルネットワークモデルのネットワークトポロジ図に基づいて、ターゲット・フレームワークのネットワーク構造定義およびツールキットを利用して、この第1ニューラルネットワークモデルのネットワークトポロジ図に対して適応的に配置することで、第2ニューラルネットワークモデルを取得することができる。したがって、さらに、モデル変換処理を再実行する過程では、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立することもできる。ここでは、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係は、1対多、多対1、または1対1とすることができ、相応的には、ターゲットネットワーク層は、1つまたは複数のネットワーク層とすることができる。
【0087】
その後に、同じモデル入力データを第2ニューラルネットワークモデルに入力し、第2ニューラルネットワークモデルでモデル入力データを処理した過程中の各ネットワーク層の出力データを記録する。
【0088】
モデル変換装置は、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データと、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を取得した後、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよびマッピング関係に基づいて、第2ニューラルネットワークモデルにおける精度の不整列が初めて出現したターゲットネットワーク層を特定することができる。
【0089】
具体的には、精度位置決め過程において、精度の不整列が初めて出現したターゲットネットワーク層を正確に位置決めするために、第1ニューラルネットワークモデルにおける各ネットワーク層に番号を設定する。この番号は昇順とすることができ、それによって、精度問題を特定する際に、第1ニューラルネットワークモデルにおける各ネットワーク層を、第1ニューラルネットワークモデルにおける複数のネットワーク層の番号で順次呼び出すことができる。
【0090】
呼び出された各ネットワーク層に対して、前のネットワーク層から出力された推理結果を次のネットワーク層に入力して推理を実行することで、各ネットワーク層の推理結果を取得する。そして、各ネットワーク層の番号に対応付けて各ネットワーク層の推理結果をローカルに格納する。さらに、各ネットワーク層の推理結果にもマークを付ける。1つのネットワーク層には複数の入力がある可能性がある。各層から出力された推理結果のみが保存され、何故かと言うと、最初の入力データ以外の他の層の入力が何れも前の層の出力であるので、第1ニューラルネットワークモデルの最初の入力と各層の出力が記録されれば、すべての層の入出力が記録されるのに相当するからである。
図4は、本発明の実施例で提案するターゲットネットワーク層の位置決め過程において得られたネットワークトポロジの概略図であり、当該ニューラルネットワークモデルは、畳み込み層、活性化関数、正規化層、Eltwise層、プーリング層などの複数のネットワーク層を含む。初期入力データがニューラルネットワークモデルの初めてのネットワーク層に入力された後、各ネットワーク層の出力は次のネットワーク層の入力として利用される。当該ニューラルネットワークモデルの推理結果は、初期入力データ、入出力データ1~10を含む。
【0091】
第1ニューラルネットワークモデルにおける各ネットワーク層を個別にターゲット・フレームワーク下に変換することで、第2ニューラネットワークモデルを取得する。同じモデル入力データを第2ニューラネットワークモデルに入力してから、各層の入力を利用してモデルの各層に対して第2ニューラネットワークモデルでの推理結果を取得してローカルに保存し、保存時に各ネットワーク層の番号をインデックスとする。勿論、ターゲット・フレームワーク下の推理は同様に新プロセスで行われる。
【0092】
ニューラルネットワークモデルにおける各ネットワーク層に対してソース・フレームワークおよびターゲット・フレームワーク下での推理結果を取得した後、ソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層の推理結果とターゲット・フレームワーク下の第2ニューラルネットワークモデルにおける対応するネットワーク層の推理結果を、各ネットワーク層の番号で順次比較することで、第2ニューラルネットワークモデルにおける第1ニューラルネットワークモデルとの精度の不整列が初めて出現したネットワーク層、即ちターゲットネットワーク層を位置決めすることができる。
【0093】
S209:モデル変換装置がターゲットネットワーク層の情報を出力する。
【0094】
モデル変換装置は、ターゲットネットワーク層を特定した後、このターゲットネットワーク層の情報を出力することができる。このターゲットネットワーク層の情報は、ネットワーク層のマーク、パラメータ、入力データ、出力結果などを含む。管理者またはユーザは、このターゲットネットワーク層の情報に基づいて精度の不整列となった原因を分析することができる。
【0095】
本発明の実施例で提案するニューラルネットワークモデル変換方法によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を自動的に取得することができ、ニューラルネットワークモデル変換の精度検証効率が向上することとなる。また、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【0096】
ソース・フレームワーク下のニューラルネットワークモデルがターゲット・フレームワーク下に変換された場合、ニューラルネットワークモデルに同じモデル入力データを与えて、ソース・フレームワークの出力とターゲット・フレームワークの出力との偏差が誤差範囲内にあるか否かを判断する。誤差範囲内でなければ、ニューラルネットワークモデルにおけるどのネットワーク層によって2つのフレームワークでの推理結果が異なるようになるかを特定する必要がある。現在、オープンソースされたニューラルネットワークモデル変換ツールでは、ニューラルネットワークモデルの変換前後での出力精度が一致するか否かが検証されておらず、ユーザが手動で2つのフレームワーク下で保存結果を実行してから照合しなければならない。精度が一致しない場合、ユーザは経験によってニューラルネットワークモデルを修正し、修正済みのニューラルネットワークモデルにおける一部の層に関する結果を出力し、2つのフレームワーク下の推理結果の不一致を招いたネットワーク層を位置決めしなければならない。このような方法では、多くの時間がかかり、なお、一部の比較的大きなニューラルネットワークモデルの場合、位置決めは一般的に非常に困難である。
【0097】
図5は、本発明の実施例で提案するモデル精度位置決め方法のフローチャートであり、当該方法は、次のステップを含む。
【0098】
S301:モデル精度位置決め装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得する。
【0099】
本実施例に係るモデル精度位置決め装置は、上記の実施例に係るモデル変換装置、ニューラルネットワークモデル変換ツールとは名称で違うだけで、同じ機能を実現することができる。第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないことが既知した場合、モデル精度位置決め装置は、ユーザ命令に従ってモデル精度位置決めを行うことができ、当該ユーザ命令は、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。例えば、ユーザは、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないことを結果として取得した場合、当該ユーザ命令をモデル精度位置決め装置に送信する。モデル精度位置決め装置は、内部の操作命令、例えばモデル精度位置決め命令に従ってモデル精度位置決めを行うこともできる。例えば、モデル精度位置決め装置は、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルが精度で整列しないという命令を取得したと、モデル精度位置決め命令をトリガーすることとなる。当該内部の操作命令は、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように命令するために用いられ、ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を含む。
【0100】
このステップの具現化は、
図1に示される実施例におけるステップS101、または
図3に示される実施例におけるステップS201を参照できる。
【0101】
S302:モデル精度位置決め装置が第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得する。
【0102】
このステップの具現化は、
図1に示される実施例におけるステップS102、または
図3に示される実施例におけるステップS202を参照できる。
【0103】
S303:モデル精度位置決め装置が第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれでモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めする。
【0104】
モデル精度位置決め装置は、第1ニューラルネットワークモデルに対して上記のモデル変換処理を行う過程において、第1ニューラルネットワークモデルでのモデル入力データへの推理過程を実行することで、第1ニューラルネットワークモデルでモデル入力データを処理して得られた各ネットワーク層の出力データを取得することができる。選択的には、第1ニューラルネットワークモデルにおける各ネットワーク層の出力データをローカルに格納または記録することができる。
【0105】
別の一部の実施例では、モデル精度位置決め装置は、モデル入力データを第1ニューラルネットワークモデルに再入力して、第1ニューラルネットワークモデルでのモデル入力データへの推理過程を再実行することで、第1ニューラルネットワークモデルでモデル入力データを処理して得られた各ネットワーク層の出力データを取得することもできる。
【0106】
別の一部の実施例では、モデル精度位置決め装置は、第1ニューラルネットワークモデルでモデル入力データへの推理を実行して得られた各ネットワーク層の出力データを予め格納する場合もある。
【0107】
ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得した後、上記のモデル入力データを第2ニューラルネットワークモデルに入力し、当該モデル入力データを利用して当該第2ニューラルネットワークモデルにおける各ネットワーク層で推理を一回実行し、前のネットワーク層から出力された推理結果を次のネットワーク層の入力データとして利用し、このようにすれば、第2ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得することができる。
【0108】
第1推理結果および第2推理結果を取得した後、当該第1推理結果および第2推理結果は同じモデル入力データを利用して第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれで推理を実行して得られたので、当該第1推理結果および第2推理結果に基づき、例えば当該第1推理結果と第2推理結果を比較することで、ターゲット・フレームワーク下の第2ニューラルネットワークモデルの精度検証結果を取得することができる。さらに例えば、第2推理結果のうちの複数のパラメータ値と第1推理結果のうちの対応するパラメータ値とを1対1マッチングすることで、マッチング結果、即ち上記の精度検証結果を取得することもできる。一部の実施例では、当該精度検証結果は、第2ニューラルネットワークモデルと第1ニューラルネットワークモデルとのモデル精度での比較結果、例えば、精度で整列するか、または精度で整列しないことを示す場合があり、あるいは、当該精度検証結果は、第2ニューラルネットワークモデルのモデル精度が予期基準または設定基準を満たすか否か、例えば、精度が基準に達するか、または精度が基準に達しない、などを示す場合もあり、本発明の実施例ではこれについて制限されない。
【0109】
第1ニューラルネットワークモデルにおける各ネットワーク層の出力結果および第2ニューラルネットワークモデルにおける各ネットワーク層の出力結果を取得した後、当該第1ニューラルネットワークモデルにおける各ネットワーク層の出力結果および第2ニューラルネットワークモデルにおける各ネットワーク層の出力結果は、同じモデル入力データを利用して第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルのそれぞれで推理を実行して得られたので、当該第1ニューラルネットワークモデルにおける各ネットワーク層の出力結果および第2ニューラルネットワークモデルにおける各ネットワーク層の出力結果に基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができる。
【0110】
1つの形態では、当該ターゲットネットワーク層は、第2ニューラルネットワークモデルに含まれる複数のネットワーク層のうち、精度の不整列が初めて出現したネットワーク層である。具体的には、第2ニューラルネットワークモデルに含まれる複数のネットワーク層と第1ニューラルネットワークモデルにおける対応するネットワーク層との出力データでの差異がプリセット誤差範囲を超えると、このネットワーク層が精度で整列しないものとして見なされる。
【0111】
別の形態では、ターゲットネットワーク層は、第2ニューラルネットワークモデルにおける精度の不整列が出現した複数のネットワーク層である。例えば、精度の不整列が初めて出現したネットワーク層に加えて、ネットワーク層の後続ネットワーク層も含む。後続ネットワーク層の層数は、予め設定することができる。
【0112】
具体的には、ソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層の推理結果とターゲット・フレームワーク下の第2ニューラルネットワークモデルにおける対応するネットワーク層の推理結果を順次比較することで、第2ニューラルネットワークモデルにおける第1ニューラルネットワークモデルとの精度の不整列が初めて出現したネットワーク層、即ちターゲットネットワーク層を位置決めすることができる。
【0113】
S304:モデル精度位置決め装置がターゲットネットワーク層の情報を出力する。
【0114】
モデル精度位置決め装置は、ターゲットネットワーク層を特定した後、このターゲットネットワーク層の情報を出力することができる。このターゲットネットワーク層の情報は、ターゲットネットワーク層のマーク、パラメータ、出力データ、および当該出力データの、第1ニューラルネットワークモデルにおけるターゲットネットワーク層に対応するネットワーク層の出力データとの誤差などを含む。管理者またはユーザは、このターゲットネットワーク層の情報に基づいて精度の不整列となった原因を分析することができる。
【0115】
本発明の実施例で提案するモデル精度位置決め方法によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【0116】
図6は、本発明の実施例で提案するモデル精度位置決め方法の別のフローチャートであり、当該方法は、次のステップを含む。
【0117】
S401:モデル精度位置決め装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得する。
【0118】
このステップの具現化は、
図1に示される実施例におけるステップS101、
図3に示される実施例におけるステップS201、または
図5に示される実施例におけるステップS301を参照できる。
【0119】
S402:モデル精度位置決め装置が第1ニューラルネットワークモデルでのモデル入力データへの処理によりネットワークトポロジ図を確立し、このネットワークトポロジ図が第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含む。
【0120】
モデル精度位置決め装置は、第1ニューラルネットワークモデルでのモデル入力データへの処理によりネットワークトポロジ図を確立し、このネットワークトポロジ図が第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含む。ニューラルネットワークモデル変換ツールを利用してソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層をそれぞれターゲット・フレームワークのフォーマットに変換する過程では、ソース・フレームワークはこのモデル入力データを利用して第1ニューラルネットワークモデルで推理を一回実行することで、第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を取得することができる。上記の第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係より、第1ニューラルネットワークモデルのネットワークトポロジ図が構成される。
【0121】
S403:モデル精度位置決め装置が、ネットワークトポロジ図およびターゲット・フレームワークの情報に基づいて第2ニューラルネットワークモデルを取得し、第1ニューラルネットワークモデルでモデル入力データを処理する過程中の各ネットワーク層の出力データを記録し、さらにモデル変換処理により第1ニューラルネットワークにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する。
【0122】
モデル精度位置決め装置は、第1ニューラルネットワークのネットワークトポロジ図を取得した後、ターゲット・フレームワークには独自のネットワーク構造定義およびツールキットがあるので、第1ニューラルネットワークのネットワークトポロジ図に基づいて、ターゲット・フレームワークのネットワーク構造定義およびツールキットを利用して、当該第1ニューラルネットワークのネットワークトポロジ図に対して適応的に配置することで、第2ニューラルネットワークモデルを取得することができる。
【0123】
ニューラルネットワークモデル変換ツールを利用してソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層をそれぞれターゲット・フレームワークのフォーマットに変換する過程では、ソース・フレームワークはこのモデル入力データを利用して第1ニューラルネットワークモデルで推理を一回実行するので、第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層の接続関係を取得することができる。その次に、モデル精度位置決め装置は、第1ニューラルネットワークモデルのネットワークトポロジ図に基づいて、ターゲット・フレームワークのネットワーク構造定義およびツールキットを利用して、この第1ニューラルネットワークモデルのネットワークトポロジ図に対して適応的に配置することで、第2ニューラルネットワークモデルを取得することができる。したがって、さらに、モデル変換処理を実行する過程では、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立することもできる。ここでは、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係は、1対多、多対1、または1対1とすることができ、相応的には、ターゲットネットワーク層は、1つまたは複数のネットワーク層とすることができる。
【0124】
S404:モデル精度位置決め装置が第2ニューラルネットワークモデルでモデル入力データを処理することで、第2ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得する。
【0125】
このステップの具現化は、
図1に示される実施例におけるステップS103、または
図3に示される実施例におけるステップS203を参照できる。
【0126】
本実施例では、第2ニューラルネットワークモデルにおける各ネットワーク層の出力データが記録される一方、
図1または
図3に示される実施例では、第2ニューラルネットワークモデルでの最後の推理結果、即ち第2ニューラルネットワークモデルにおける最後のネットワーク層の出力データが記録される点で相違する。
【0127】
S405:モデル精度位置決め装置が第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよびマッピング関係に基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定する。
【0128】
モデル精度位置決め装置は、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データと、第1ニューラルネットワークモデルにおけるネットワーク層と第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を取得した後、第1ニューラルネットワークモデルおよび第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよびマッピング関係に基づいて、第2ニューラルネットワークモデルにおける精度の不整列が初めて出現したターゲットネットワーク層を特定することができる。
【0129】
具体的には、精度位置決め過程において、精度の不整列が初めて出現したターゲットネットワーク層を正確に位置決めするために、第1ニューラルネットワークモデルにおける各ネットワーク層に番号を設定する。この番号は昇順とすることができ、それによって、精度問題を特定する際に、第1ニューラルネットワークモデルにおける各ネットワーク層を、第1ニューラルネットワークモデルにおける複数のネットワーク層の番号で順次呼び出すことができる。
【0130】
呼び出された各ネットワーク層に対して、前のネットワーク層から出力された推理結果を次のネットワーク層に入力して推理を実行することで、各ネットワーク層の推理結果を取得する。そして、各ネットワーク層の番号に対応付けて各ネットワーク層の推理結果をローカルに格納する。さらに、各ネットワーク層の推理結果にもマークを付ける。1つのネットワーク層には複数の入力がある可能性がある。各層から出力された推理結果のみが保存され、何故かと言うと、最初の入力データ以外の他の層の入力が何れも前の層の出力であるので、第1ニューラルネットワークモデルの最初の入力と各層の出力が記録されれば、すべての層の入出力が記録されるのに相当するからである。
図4は、ニューラルネットワークモデル変換済みの精度で整列しない場合のターゲットネットワーク層の位置決め過程の例示的な概略図であり、当該ニューラルネットワークモデルは、畳み込み層、活性化関数、正規化層、Eltwise層、プーリング層などの複数のネットワーク層を含む。初期入力データがニューラルネットワークモデルの初めてのネットワーク層に入力された後、各ネットワーク層の出力は次のネットワーク層の入力として利用される。当該ニューラルネットワークモデルの推理結果は、初期入力データ、入出力データ1~10を含む。
【0131】
第1ニューラルネットワークモデルにおける各ネットワーク層を個別にターゲット・フレームワーク下に変換することで、第2ニューラネットワークモデルを取得する。同じモデル入力データを第2ニューラネットワークモデルに入力してから、各層の入力を利用してモデルの各層に対して第2ニューラネットワークモデルでの推理結果を取得してローカルに保存し、保存時に各ネットワーク層の番号をインデックスとする。勿論、ターゲット・フレームワーク下の推理は同様に新プロセスで行われる。
【0132】
ニューラルネットワークモデルにおける各ネットワーク層に対してソース・フレームワークおよびターゲット・フレームワーク下での推理結果を取得した後、ソース・フレームワーク下の第1ニューラルネットワークモデルにおける各ネットワーク層の推理結果とターゲット・フレームワーク下の第2ニューラルネットワークモデルにおける対応するネットワーク層の推理結果を、各ネットワーク層の番号で順次比較することで、第2ニューラルネットワークモデルにおける第1ニューラルネットワークモデルとの精度の不整列が初めて出現したネットワーク層、即ちターゲットネットワーク層を位置決めすることができる。
【0133】
S406:モデル精度位置決め装置がターゲットネットワーク層の情報を出力する。
【0134】
このステップの具現化は、
図5に示される実施例におけるステップS304を参照できる。
【0135】
本発明の実施例で提案するモデル精度位置決め方法によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【0136】
本発明の実施例では、
図7に示すように、上記のニューラルネットワークモデル変換方法と同じ構想に基づくモデル変換装置がさらに提案され、当該装置1000は、次の構成部分を含む。
【0137】
取得ユニット11:ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される。
【0138】
変換ユニット12:前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される。
【0139】
検証ユニット13:前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するように構成される。
【0140】
1つの形態では、前記変換ユニット12は、第1プロセスで前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される。
【0141】
前記装置は、次の構成部分をさらに含む。
【0142】
生成ユニット14:前記第1プロセスで第2プロセスを生成するように構成される。
【0143】
推理ユニット15:前記第1プロセスで前記第2プロセスを呼び出し、前記第2プロセスで前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理を実行することで、第2推理結果を取得するように構成される。
【0144】
別の形態では、前記検証ユニット13は、前記第1推理結果と前記第2推理結果との差異がプリセット誤差範囲内にあると、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定するように構成され、あるいは、
【0145】
前記検証ユニット13は、前記第1推理結果と前記第2推理結果との差異が前記プリセット誤差範囲を超えると、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定するように構成される。
【0146】
さらに別の形態では、前記装置は、次の構成部分をさらに含む。
【0147】
位置決めユニット16:前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される。
【0148】
出力ユニット17:前記ターゲットネットワーク層の情報を出力するように構成される。
【0149】
さらに別の形態では、前記位置決めユニット16は、次の構成要素を含む。
【0150】
確立ユニット161:前記第1ニューラルネットワークにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するように構成される。
【0151】
特定ユニット162:前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するように構成される。
【0152】
さらに別の形態では、前記モデル変換装置は、前記第1ニューラルネットワークモデルに対してモデル変換処理を再実行し、ここでは、前記モデル変換処理を再実行する過程では、前記第1ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得し、および/または、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する。
【0153】
さらに別の形態では、前記変換ユニット12は、前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得するように構成され、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含む。
【0154】
上記の各ユニットに関する具現化は、
図1または
図3に示されるニューラルネットワークモデル変換方法における関連記載を参照でき、ここでは重複に説明しないものとする。
【0155】
本発明の実施例で提案するモデル変換装置によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた推理結果に基づいて、第2ニューラルネットワークモデルの精度検証結果を自動的に取得することができ、ニューラルネットワークモデル変換の精度検証効率が向上することとなる。
【0156】
本発明の実施例では、
図8に示すように、上記のモデル精度位置決め方法と同じ構想に基づくモデル精度位置決め装置がさらに提案され、当該装置2000は、次の構成部分を含む。
【0157】
取得ユニット21:ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される。
【0158】
変換ユニット22:前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される。
【0159】
位置決めユニット23:前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される。
【0160】
出力ユニット24:前記ターゲットネットワーク層の情報を出力するように構成される。
【0161】
1つの形態では、前記ターゲットネットワーク層の情報は、前記ターゲットネットワーク層のマーク、パラメータ、出力データ、および当該出力データの、第1ニューラルネットワークモデルにおける前記ターゲットネットワーク層に対応するネットワーク層の出力データとの誤差のうちの少なくとも1つを含む。
【0162】
さらに別の形態では、前記装置は、次の構成部分をさらに含む。
【0163】
第1確立ユニット25:前記モデル変換処理により、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するように構成される。
【0164】
前記位置決めユニット23は、前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される。
【0165】
さらに別の形態では、前記位置決めユニット23は、次の構成要素を含む。
【0166】
呼び出しユニット231:前記マッピング関係に基づいて、前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データを順次比較するように構成される。
【0167】
特定ユニット232:前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データ間の差異がプリセット誤差範囲を超えることに応答して、前記対応するネットワーク層のうちの前記第2ニューラルネットワークモデルに属するネットワーク層を前記ターゲットネットワーク層として特定するように構成される。
【0168】
さらに別の形態では、前記変換ユニット22は、次の構成要素を含む。
【0169】
第2確立ユニット221:前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を構築するように構成され、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含む。
【0170】
第2取得ユニット222:前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得するように構成される。
【0171】
上記の各ユニットに関する具現化は、
図5または
図6に示される実施例における具体的な記載を参照でき、ここでは重複に説明しないものとする。
【0172】
本発明の実施例で提案するモデル精度位置決め装置によれば、ソース・フレームワーク下の第1ニューラルネットワークモデルおよびターゲット・フレームワーク下の第2ニューラルネットワークモデルのそれぞれで同じモデル入力データを処理して得られた各ネットワーク層の出力データに基づいて、第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めすることができ、精度で整列しないネットワーク層を正確に位置決めすることができる。
【0173】
図9は、電子デバイスのハードウェア構成の概略図であり、当該電子デバイスは、上記のニューラルネットワークモデル変換方法/モデル精度位置決め方法を実行するように構成される。上記の方法の一部または全体は、ハードウェアによって実現されてもよいし、ソフトウェアやファームウェアによって実現されてもよい。
【0174】
選択的には、当該電子デバイスは具現化される際にチップまたは集積回路であってもよい。
【0175】
選択的には、上記の実施例に係るニューラルネットワークモデル変換方法/モデル精度位置決め方法の一部または全体は、ソフトウェアやファームウェアによって実現される場合、
図9で提案する電子デバイス3000によって実現することができる。
図9に示すように、当該電子デバイス3000は、次の構成部分を含む。
【0176】
メモリ33、プロセッサ34(装置のプロセッサ34は1つまたは複数であってもよいが、
図9ではプロセッサ34が1つあることを例にとる)に加えて、入力装置31、出力装置32をさらに含む。本実施例では、入力装置31、出力装置32、メモリ33、プロセッサ34は、バスまたは他の方法によって接続され、
図9では、バスによって接続されることを例にとる。
【0177】
さらに、プロセッサ34は、
図1、
図3、
図5、
図6に係る方法ステップを実行するように構成される。
【0178】
選択的には、上記のニューラルネットワークモデル変換方法/モデル精度位置決め方法のプログラムは、メモリ33に格納される。当該メモリ33は、物理的に独立したユニットであっても、プロセッサ34に集積されたユニットであってもよい。当該メモリ33は、データの格納に用いられてもよい。
【0179】
選択的には、上記の実施例に係るニューラルネットワークモデル変換方法/モデル精度位置決め方法の一部または全体がソフトウェアによって実現される場合、当該電子デバイスにはプロセッサのみが含まれてもよい。プログラムを格納するためのメモリは、当該電子デバイスと別途に配置され、プロセッサは、回路または電線を介してメモリに接続され、メモリに格納されたプログラムを読み出して実行するように構成される。
【0180】
プロセッサは、中央処理装置(central processing unit,CPU)、ネットワーク・プロセッサ(network processor,NP)、またはWLAN(Wireless Local Area Network)デバイスであってもよい。
【0181】
プロセッサは、ハードウェアチップをさらに含んでもよい。上記のハードウェアチップは、特定用途向け集積回路(application-specific integrated circuit,ASIC)、プログラム可能論理回路(programmable logic device,PLD)、またはそれらの組合せであってもよい。上記のPLDは、結合プログラム可能論理回路(complex programmable logic device,CPLD)、現場プログラム可能ゲートアレイ(field-programmable gate array,FPGA)、汎用アレイロジック(generic array logic,GAL)、またはそれらの任意の組合せであってもよい。
【0182】
メモリは、揮発性メモリ(volatile memory)、例えばランダム・アクセス・メモリ(random-access memory、RAM)を含んでもよいし、不揮発性メモリ(non-volatile memory)、例えばフラッシュメモリ(flash memory)、ハードディスク(hard disk drive、HDD)、またはソリッドステート・ハードディスク(solid-state drive、SSD)などを含んでもよい。さらに、メモリは、上記のタイプのメモリの組合せを含んでもよい。
【0183】
本発明の1つまたは複数の実施例は、方法、システム、またはコンピュータ・プログラム製品として具体化できることは、本技術分野の技術者には明らかであろう。したがって、本発明の1つまたは複数の実施例は、完全なハードウェア実施例、完全なソフトウェア実施例、またはソフトウェアとハードウェアを組み合わせた実施例の形態をとることができる。さらに、本発明の1つまたは複数の実施例は、コンピュータ使用可能プログラム・コードが組み込まれた、1つまたは複数のコンピュータ使用可能記憶媒体(ディスクストレージ、CD-ROM、光ストレージなどを含むが、これらに制限されない)で実行されるコンピュータ・プログラム製品の形態をとることができる。
【0184】
本発明の実施例では、コンピュータ・プログラムが格納されたコンピュータ読み取り可能な記憶媒体がさらに提案され、前記プログラムがプロセッサで実行される際に、本発明の任意1つの実施例で説明されたニューラルネットワークモデル変換方法のステップ、および/または、本発明の任意1つの実施例で説明されたモデル精度位置決め方法のステップが実現されることとなる。
【0185】
本発明における各実施例は何れも漸進の方式で説明されたものであり、各実施例間の同じまたは類似部分については互いに参照でき、各実施例では他の実施例との相違点が重点的に説明された。特に、上記の装置実施例については、方法実施例に基本的に類似するため、説明が比較的簡単で、両者の関連部分は方法実施例の関連記載を参照すればよい。
【0186】
以上では、本発明における特定的な実施例について説明した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載される行為またはステップを実施例と異なる順序で実行することができ、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または連続的な順序が必ずしも必要としない。一部の実施形態においては、マルチタスク処理および並列処理も許され、あるいは有利となる可能性もある。
【0187】
本発明に説明された主題および機能的動作に係る実施例は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアまたはファームウェア、本発明に開示される構造およびそれらの構造的同等物を含むコンピュータハードウェア、またはそれらのうちの1つまたは複数の組合せで実現することができる。本発明に説明された主題に係る実施例は、1つまたは複数のコンピュータ・プログラム、即ちデータ処理装置による実行またはデータ処理装置の動作制御のため有形の非一時的プログラム・キャリア上に符号化されたコンピュータ・プログラム指令のうちの1つまたは複数のモジュールとして実装されることができる。代替的または追加的には、プログラム指令は、人為的に生成された伝播信号、例えば機械によって生成された電気的信号、光学的信号、または電磁的信号に符号化されることができ、該信号は、データ処理装置により実行できるように情報を符号化して好適な受信機装置に送信するために生成されるものである。コンピュータ記憶媒体は、機械読み取り可能な記憶デバイス、機械読み取り可能な記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せであってもよい。
【0188】
本発明に説明された処理および論理フローが1つまたは複数のコンピュータ・プログラムを実行する1つまたは複数プログラム可能なコンピュータにより実行され、それによって、入力データによる操作をして出力を生成して、対応する機能を実行することができる。また、前記処理および論理フローは専用の論理回路、例えば現場プログラム可能ゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)によって実行されてもよく、さらに、装置も専用の論理回路として実装されてもよい。
【0189】
コンピュータ・プログラムの実行に好適なコンピュータは、例えば汎用および/または専用マイクロプロセッサ、もしくは任意のその他のタイプの中央処理装置を含む。通常、中央処理装置は、読み取り専用メモリおよび/またはランダム・アクセス・メモリから指令およびデータを受け取る。コンピュータの基本的な構成要素は、指令を実施または実行するための中央処理装置と、指令およびデータを格納するための1つまたは複数のメモリデバイスを含む。通常、コンピュータは、データを格納するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスクまたは光ディスクなどをさらに含み、あるいは、この大容量記憶デバイスに操作可能に結合されて、この大容量記憶デバイスからデータを受信するか、この大容量記憶デバイスにデータを伝送するか、またはその両方を行う。然し、コンピュータは、このようなデバイスを必ずしも備えるわけではない。また、コンピュータは、別のデバイスに組み込まれてもよく、ほんの幾つかの例を挙げるとすれば、例えば、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオまたはビデオ・プレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバー、またはユニバーサルシリアルバス(USB)フラッシュドライブなどの携帯記憶デバイスが挙げられる。
【0190】
コンピュータ・プログラム指令およびデータの格納に適合するコンピュータ読み取り可能な媒体は、すべての形の不揮発性メモリ、媒体、メモリデバイスを含み、例えば、半導体メモリデバイス(例えば、EPROM、EEPROM、フラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることができる。
【0191】
本発明は実施に係る細部をたくさん含むが、これらの細部は、発明の範囲または保護請求する範囲への制限と理解されるべきではなく、主として特別に開示された具体的な実施例の特徴を記述するために用いられる。本発明における複数の実施例で説明された若干の特徴は、単一の実施例において組み合わせられて実施されることもできる。一方、単一の実施例で説明された様々な特徴は、複数の実施例で別々に実施されるか、または任意の適切なサブ組合せで実施されることもできる。また、特徴については、上記のように、幾つかの組合せにおいて作用を奏し且つ最初にこのように保護請求されるが、場合によって保護請求する組合せからの1つまたは複数の特徴が当該組合せから削除されてもよく、保護請求する組合せがサブ組合せまたはサブ組合せの変形を対象としてもよい。
【0192】
同様に、図面では特定的な順序で操作が説明されるが、これは、それらの操作が図示された特定的な順序で実行されるかまたは順次に実行されること、または例示されたすべての操作が実行されることで、望まれる結果を実現するものと理解されるべきでない。場合によっては、マルチタスクおよび並列処理が有利となる可能性もある。さらに、上記の実施例における様々なシステム・モジュールと構成要素の分離は、すべての実施例ではそのような分離が必要となるものと理解されるべきでなく、説明されたプログラム構成要素とシステムは通常、単一のソフトウェア製品に統合されてもよいし、複数のソフトウェア製品にパッケージングされてもよいとは、理解されるべきである。
【0193】
上記のように、主題となる特定的な実施例について記述した。その他の実施例は、添付の特許請求の範囲内にあるものとする。場合によっては、特許請求の範囲に記載される動作は異なる順序で実行されてもよく、それにしても望まれる結果を実現することができる。また、図面で描写されたプロセスについて、望まれる結果の実現には、図示される特定的な順序または順次順序が必ずしも必要としない。一部の実施形態においては、マルチタスクおよび並列処理が有利となる可能性もある。
【0194】
上記は、本発明の1つまたは複数の実施例のうちの好適な実施例に過ぎず、本発明の1つまたは複数の実施例を制限するものではない。本発明の1つまたは複数の実施例の精神および原則を逸脱することなく行われるすべての修正、等同な置換や改良などは、本発明の1つまたは複数の実施例で保護請求する範囲内に含まれるものとする。
【手続補正書】
【提出日】2022-01-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
モデル変換装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、
前記モデル変換装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップと、を含む、
ことを特徴とするニューラルネットワークモデル変換方法。
【請求項2】
前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
第1プロセスで前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得することを含み、
前記方法は、
前記第1プロセスで第2プロセスを生成するステップと、
前記第1プロセスで前記第2プロセスを呼び出し、前記第2プロセスで前記第2ニューラルネットワークモデルでの前記モデル入力データへの処理を実行することで、第2推理結果を取得するステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するステップは、
前記第1推理結果と前記第2推理結果との差異がプリセット誤差範囲内にある場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列すると特定し、あるいは、前記第1推理結果と前記第2推理結果との差異が前記プリセット誤差範囲を超える場合、前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定するステップを含む、
ことを特徴とする請求項1または2に記載の方法。
【請求項4】
前記第2ニューラルネットワークモデルの精度検証結果として、精度で整列しないと特定したことに応答して、前記モデル変換装置が前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、
前記モデル変換装置が前記ターゲットネットワーク層の情報を出力するステップと、をさらに含む、
ことを特徴とする請求項1乃至3の何れか一項に記載の方法。
【請求項5】
前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、
前記モデル変換装置が前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立することと、
前記モデル変換装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定することと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記モデル変換装置は、前記第1ニューラルネットワークモデルに対してモデル変換処理を再実行し、前記モデル変換処理を再実行する過程では、前記第1ニューラルネットワークモデルにおける各ネットワーク層の出力データを取得し、および/または、前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立する、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記モデル変換装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
前記モデル変換装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、
前記モデル変換装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む、
ことを特徴とする請求項1乃至6の何れか一項に記載の方法。
【請求項8】
モデル精度位置決め装置がソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するステップと、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップと、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップと、
前記モデル精度位置決め装置が前記ターゲットネットワーク層の情報を出力するステップと、を含む、
ことを特徴とするモデル精度位置決め方法。
【請求項9】
前記方法は、前記モデル精度位置決め装置が前記モデル変換処理により前記第1ニューラルネットワークモデルにおけるネットワーク層と前記第2ニューラルネットワークモデルにおけるネットワーク層とのマッピング関係を確立するステップをさらに含み、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするステップは、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップを含む、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける各ネットワーク層の出力データおよび前記マッピング関係に基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を特定するステップは、
前記モデル精度位置決め装置が前記マッピング関係に基づいて前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データを順次比較することと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルにおける対応するネットワーク層の出力データ間の差異がプリセット誤差範囲を超えることに応答して、前記対応するネットワーク層のうちの前記第2ニューラルネットワークモデルに属するネットワーク層を前記ターゲットネットワーク層として特定することと、を含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記モデル精度位置決め装置が前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するステップは、
前記モデル精度位置決め装置が前記第1ニューラルネットワークモデルでの前記モデル入力データへの処理によりネットワークトポロジ図を確立し、前記ネットワークトポロジ図が前記第1ニューラルネットワークモデルにおけるネットワーク層の情報およびネットワーク層間の接続関係を含むことと、
前記モデル精度位置決め装置が前記ネットワークトポロジ図および前記ターゲット・フレームワークの情報に基づいて前記第2ニューラルネットワークモデルを取得することと、を含む、
ことを特徴とする請求項8乃至10の何れか一項に記載の方法。
【請求項12】
ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、
前記ソース・フレームワーク下の第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理して得られた第1推理結果および第2推理結果に基づいて、前記第2ニューラルネットワークモデルの精度検証結果を取得するように構成される検証ユニットと、を含む、
ことを特徴とするモデル精度位置決め方法。
【請求項13】
ソース・フレームワーク下の第1ニューラルネットワークモデル、モデル入力データ、およびターゲット・フレームワークの情報を取得するように構成される取得ユニットと、
前記第1ニューラルネットワークモデルに対してモデル変換処理を行うことで、前記ターゲット・フレームワーク下の第2ニューラルネットワークモデルを取得するように構成される変換ユニットと、
前記第1ニューラルネットワークモデルおよび前記第2ニューラルネットワークモデルのそれぞれで前記モデル入力データを処理する過程中の各ネットワーク層の出力データに基づいて、前記第2ニューラルネットワークモデルにおける精度で整列しないターゲットネットワーク層を位置決めするように構成される位置決めユニットと、
前記ターゲットネットワーク層の情報を出力するように構成される出力ユニットと、を含む、
ことを特徴とするモデル精度位置決め装置。
【請求項14】
プログラム命令が格納されたメモリと、前記メモリに格納されたプログラム命令を呼び出して、請求項1乃至11の何れか一項に記載の方法を実行するように構成されるプロセッサと、を含む、ことを特徴とする電子デバイス。
【請求項15】
前記コンピュータ読み取り可能な記憶媒体には命令が格納され、この命令がコンピュータで実行される際に、コンピュータが請求項1乃至11の何れか一項に記載の方法を実行することとなる、ことを特徴とするコンピュータ
読み取り可能な記憶媒体。
【国際調査報告】