JP2021193606A - 深層学習に基づく演算子の登録処理方法、装置及び電子機器 - Google Patents

深層学習に基づく演算子の登録処理方法、装置及び電子機器 Download PDF

Info

Publication number
JP2021193606A
JP2021193606A JP2021150346A JP2021150346A JP2021193606A JP 2021193606 A JP2021193606 A JP 2021193606A JP 2021150346 A JP2021150346 A JP 2021150346A JP 2021150346 A JP2021150346 A JP 2021150346A JP 2021193606 A JP2021193606 A JP 2021193606A
Authority
JP
Japan
Prior art keywords
operator
registered
information
type
deep learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021150346A
Other languages
English (en)
Other versions
JP7248756B2 (ja
Inventor
チャン,リュウジ
Liujie Zhang
ラン,シャン
Xiang Lan
ロ,タオ
Tao Luo
ツェン,フィファン
Huihuang Zheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021193606A publication Critical patent/JP2021193606A/ja
Application granted granted Critical
Publication of JP7248756B2 publication Critical patent/JP7248756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

【課題】人件費を大幅に減少させ、開発効率を向上させ、また、各々の新たに追加された演算子の登録完全性を確保する登録処理方法、登録処理装置、電子機器及び記憶媒体を提供する。【解決手段】深層学習に基づく演算子の登録処理方法は、登録された演算子の記述情報及び論理演算情報を取得し、論理演算情報に基づいて、登録された演算子の演算子タイプを決定し、深層学習フレームワークにおける演算子タイプに対応する予め設定された構成情報を取得し、記述情報及び構成情報に基づいて、登録された演算子が完全に登録されているか否かを検出する。【選択図】図1

Description

本願は、深層学習技術の分野及びコンピュータビジョンの分野に関し、特に深層学習に基づく演算子の登録処理方法、装置、電子機器及び記憶媒体に関する。
深層学習フレームワークには、通常、様々なテンソル計算の基本論理ユニットが含まれており、あるメカニズムを介して、その特定の計算論理を、加算演算子や畳み込み演算子などの演算子として登録する。異なる深層学習フレームワークにおける演算子のサポート程度は、データタイプ、データレイアウト、操作機器などの側面で異なり、具体的な実装に密接に関連する。演算子登録タイプの完全性は、深層学習フレームワークの使いやすさ及びコアコンピタンスに非常に重要である。
関連技術では、深層学習フレームワークにおける演算子の登録の完全性は、主にフレームワーク開発者の意識に依存しており、体系的な検出及び監視方法が乏しく、演算子のサポート程度が不十分となりやすい。
本願は、深層学習に基づく演算子の登録処理方法、装置、電子機器及び記憶媒体を提供する。
本願の第1の態様によれば、深層学習に基づく演算子の登録処理方法を提供し、登録された演算子の記述情報及び論理演算情報を取得するステップと、前記論理演算情報に基づいて前記登録された演算子の演算子タイプを決定するステップと、深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得し、前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するステップと、を含む。
本願の第2の態様によれば、深層学習に基づく演算子の登録処理装置を提供し、登録された演算子の記述情報及び論理演算情報を取得するための第1の取得モジュールと、前記論理演算情報に基づいて前記登録された演算子の演算子タイプを決定するための決定モジュールと、深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得するための第2の取得モジュールと、前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するための検出モジュールと、を含む。
本願の第3の態様によれば、電子機器を提供し、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが前記第1の態様に記載の深層学習に基づく演算子の登録処理方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
本願の第4の態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、コンピュータに前記第1の態様に記載の深層学習に基づく演算子の登録処理方法を実行させる。
本願の第5の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータに前記第1の態様に記載の深層学習に基づく演算子の登録処理方法を実行させる。
本願の技術によれば、関連技術では、深層学習フレームワークにおける演算子の登録の完全性が主にフレームワーク開発者の意識に依存しており、体系的な検出及び監視方法が乏しく、演算子のサポート程度が不十分となりやすいという問題が解決され、登録された演算子の記述情報及び論理演算情報を抽出することにより、記述情報及び論理演算情報を利用して、深層学習フレームワークにおける各々の新たに追加された演算子の登録の完全性を自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上し、また、登録された演算子の登録完全性を様々な側面(例えばデータタイプ、データレイアウト、実行機器など)で体系的に検出及び監視することで、新たに追加された各演算子の様々な側面でのサポート程度を確保することができる。
この部分に記載されている内容は、本開示の実施例の肝心な又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定するものでもないことが理解されるべきである。本開示の他の特徴は、以下の説明を通じて容易に理解される。
図面は、本解決手段をより良く理解するために使用され、本願の制限を構成するものではない。
本願の一実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。 本願の実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。 本願の具体的な一実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。 本願の別の具体的な実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。 本願のさらに別の具体的な実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。 本願の一実施例に係る深層学習に基づく演算子の登録処理装置の概略構造図である。 本願の別の実施例に係る深層学習に基づく演算子の登録処理装置の概略構造図である。 本願の実施例に係る深層学習に基づく演算子の登録処理方法を実現するための電子機器のブロック図である。
以下、図面と組み合わせて本願の例示的な実施例を説明し、理解を容易にするためにその中には本願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
なお、深層学習フレームワークには、通常、様々なテンソル計算の基本論理ユニットが含まれており、あるメカニズムを介して、その特定の計算論理を、加算演算子や畳み込み演算子などの演算子として登録する。
演算子の機能要件と使用シナリオが異なるため、異なる演算子がサポートするタイプも異なり、同じ演算子は、例えば、int8(8ビットの符号付き整数型を表す)、int32(32ビットの符号付き整数型を表す)、int64(64ビットの符号付き整数型を表す)、float(浮動小数点型データタイプ)、float32(32ビットの浮動小数点型データタイプ)、double(倍精度浮動小数点型データタイプ)、bool(ブール型変数)などのような異なるデータタイプのテンソルをサポートすることもできる一方、演算子は、異なるデータレイアウトのテンソルをサポートすることもでき、例えば、コンピュータビジョンの分野では、入力テンソルは、[NCHW]又は[NHWC]のいずれかの形式の4次元テンソルであってもよく、ここで、Nはピクチャ数、Cはチャネル数、Hはピクチャの高さ、Wはピクチャの幅である。さらに、各演算子は、例えば、CPU(Central Processing Unit、中央処理装置)、GPU(Graphics Processing Unit、グラフィックプロセッサ)のような異なるハードウェア機器上での計算の実行もサポートする。
異なる深層学習フレームワークにおける演算子のサポート程度は、データタイプ、データレイアウト、操作機器などの側面で異なり、具体的な実装に密接に関連する。演算子登録タイプの完全性は、フレームワークの使いやすさ及びコアコンピタンスに非常に重要である。関連技術では、深層学習フレームワークにおける演算子の登録完全性は、主にフレームワーク開発者の意識に依存しており、体系的な検出及び監視方法が乏しく、一部のデータタイプ、又はデータレイアウトのみをサポートする演算子が存在するなどの状況になりやすい。
関連技術では、深層学習フレームワークにおける演算子の登録完全性が、フレームワーク開発者の意識に依存し、体系的な検出及び監視方法が乏しく、演算子のサポート程度が不十分となるという問題を解決するために、本願は、深層学習に基づく演算子の登録処理方法、装置、電子機器及び記憶媒体を提供する。本願は、深層学習フレームワークにおける各々の新たに追加された演算子が、データタイプ、データレイアウト及び実行機器などの側面で完全に登録されているか否かを自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上する。
図1は、本願の一実施例に係る深層学習に基づく演算子の登録処理方法のフローチャートである。なお、本願の実施例に係る深層学習に基づく演算子の登録処理方法は、本願の実施例に係る深層学習に基づく演算子の登録処理装置に適用可能であり、当該演算子の登録処理装置は、電子機器に配置できる。
図1に示すように、当該深層学習に基づく演算子の登録処理方法は、以下のステップ101〜104を含み得る。
ステップ101において、登録された演算子の記述情報及び論理演算情報を取得する。
なお、深層学習フレームワークでは、各演算子は、通常、少なくとも記述情報と論理演算情報との2つの主要部分を含む。ここで、記述情報は、演算子の入力、出力を定義し、さらに演算子がサポートするデータタイプ、データレイアウト及び操作機器などの情報を記述するために用いられ、論理演算情報は、主に、具体的なテンソル計算論理を担当する。ただし、テンソルは、いくつかのベクトル、スカラー及び他のテンソルの間の線形関係を表す多重線形関数である。
さらに、登録メカニズムを介して、特定のデータタイプ、データレイアウト及び操作機器をサポートする演算子を、C++端子又はPython端子によって呼び出すように、深層学習フレームワークに追加してもよい。各演算子は、複数回の登録により、異なるデータタイプをサポートすることができる。
本願の実施例では、深層学習フレームワークから、登録された全ての演算子のリストを取得し、続いてリスト内の各登録された演算子をトラバースして、各登録された演算子の記述情報及び論理演算情報を取得することができる。
ステップ102において、論理演算情報に基づいて登録された演算子の演算子タイプを決定する。
ただし、本願の実施例では、演算子タイプは、少なくとも第1の演算子タイプと第2の演算子タイプとを含むことができる。ここで、第1の演算子タイプは、汎用タイプと理解され得、第2の演算子タイプは、その他のタイプと理解され得る。汎用タイプの演算子は、演算子計算論理が特定のデータタイプに強く依存することなく、演算子の操作が入力Tensor(テンソル)のデータ領域に無関係であると理解され得る。他のタイプの演算子は、非汎用タイプの演算子であり、すなわち、演算子計算論理が特定のデータタイプに依存し、演算子の操作が入力Tensor(テンソル)のデータ領域に関連すると理解され得る。
一例として、深層学習フレームワークにおける演算子は、機能により、汎用タイプの演算子とその他の演算子とに分類されてもよい。ここで、汎用タイプの演算子は、主に、算術演算タイプであって、例えば、常用の絶対値求め、指数計算、三角関数、活性化関数などの演算子と、Reduce(配列法)やインデックス演算子であって、例えば、最小値求め、平均値演算、ソート操作などの演算子とを含む。その他の演算子は、テンソル変換に関連する演算子であって、例えば、reshape(配列の構造を変更できる関数)、賦値などの演算子を含む。
演算子タイプが異なるため、異なるタイプの演算子の登録完全性上の要件が異なることが理解される。したがって、登録完全性の検出を行う前に、登録された演算子が属する演算子タイプを予め決定しておくことができる。演算子の論理演算情報が主に、具体的なテンソル計算論理を担当するため、演算子の論理演算情報を用いて登録された演算子が汎用タイプの演算子またはその他の演算子に属することを決定することができる。
本願のいくつかの実施例では、図2に示すように、ステップ102は、具体的には、以下のステップ1021〜1026を含む。
ステップ1021において、深層学習フレームワークにおける予め設定されたターゲットデータタイプに対応するターゲット計算論理を取得する。
本願の実施例では、よく見られなく、強力な計算論理を有する特定のデータタイプをホワイトリストに追加してもよく、当該ホワイトリストは、強力な計算論理を有する特定のデータタイプを含むだけでなく、各特定のデータタイプに対応するターゲット計算論理をさらに含む。選択的に、予め確立されたホワイトリストからターゲットデータタイプ及びそれに対応するターゲット計算論理を取得することができる。
ステップ1022において、論理演算情報をターゲット計算論理とマッチングする。
ステップ1023において、ターゲット計算論理に論理演算情報が含まれていない場合、登録された演算子が第1の演算子タイプであると決定する。
つまり、登録された演算子の論理演算情報に基づいて、当該登録された演算子の計算論理が特定のデータタイプに強く依存しないと判断され、すなわち、当該登録された演算子の算術演算がよく見られる算術演算である場合、当該登録された演算子が第1の演算子タイプであり、すなわち、当該登録された演算子が汎用タイプの演算子であると決定することができる。
ステップ1024において、ターゲット計算論理に論理演算情報が含まれている場合、論理演算情報に基づいて、演算子の操作が入力データに関連しているか否かを決定する。
つまり、登録された演算子の論理演算情報に基づいて、当該登録された演算子の計算論理が特定のデータタイプに強く依存すると判断された場合、論理演算情報に基づいて、当該登録された演算子の演算子操作が入力データに関連しているか否かを判断し、すなわち演算子の操作が入力テンソルのデータ領域に関連しているか否かを判断することができる。
ステップ1025において、演算子の操作が入力データに関連していない場合、登録された演算子が第1の演算子タイプであると決定する。
つまり、演算子の操作が入力テンソルのデータ領域に関連していないと判断された場合、当該登録された演算子が第1の演算子タイプであり、すなわち当該登録された演算子が汎用タイプの演算子であると決定することができる。
ステップ1026において、演算子の操作が入力データに関連している場合、登録された演算子が第2の演算子タイプであると決定する。
つまり、演算子の操作が入力テンソルのデータ領域に関連していると判断された場合、すなわち、当該登録された演算子の計算論理が特定のデータタイプに強く依存し、演算子の操作が入力テンソルのデータ領域に関連している場合、当該登録された演算子が第2の演算子タイプであり、すなわち、当該登録された演算子がその他の演算子であることが示される。
これから分かるように、演算子の論理演算情報を用いて、演算子の計算論理が特定のデータタイプに強く依存しないか否かを判断し、また、演算子の操作が入力テンソルのデータ領域に関連しているか否かを判断して、当該演算子が汎用タイプの演算子またはその他の演算子であるを決定することにより、演算子タイプに基づいて、対応する登録完全性点検ルールを用いて、演算子の登録完全性の検出を実現することを容易にする。
ステップ103において、深層学習フレームワークにおける演算子タイプに対応する予め設定された構成情報を取得する。
つまり、演算子タイプが異なるため、異なる構成情報を用いて、当該演算子が完全に登録されているか否かを検出することができる。したがって、登録された演算子の登録完全性の検出を行う場合、まず、深層学習フレームワークにおける当該登録された演算子の演算子タイプに対応する構成情報を取得することで、当該構成情報を用いて登録された演算子の登録完全性の検出を行うことを容易にすることができる。
ステップ104において、記述情報及び構成情報に基づいて、登録された演算子が完全に登録されているか否かを検出する。
選択的に、記述情報内の第1のキー情報を抽出し、構成情報内の第2のキー情報を抽出し、第1のキー情報の意味と第2のキー情報の意味が同じであるか否かを判断し、同じである場合には、当該登録された演算子が完全に登録されていると決定し、同じではない場合には、当該登録された演算子が完全に登録されていないと決定することができる。
本願のいくつかの実施例では、登録された演算子が完全に登録されていると検出された場合、登録された演算子の登録成功の提示情報を生成し、当該登録成功の提示情報をユーザに提供して、ユーザが当該提示情報により、当該新たに追加された演算子が完全に登録されていることを了解することができる。登録された演算子が完全に登録されていないと検出された場合、構成情報から欠落情報を取得し、当該欠落情報に基づいて対応する登録失敗の提示情報を生成し、当該登録失敗の提示情報をユーザに提供して、ユーザが当該登録失敗の提示情報により、当該登録された演算子が完全に登録されていない原因を了解することができる。
本願の実施例に係る深層学習に基づく演算子の登録処理方法によれば、関連技術では、深層学習フレームワークにおける演算子の登録完全性が、主にフレームワーク開発者の意識に依存しており、体系的な検出及び監視方法が乏しく、演算子のサポート程度が不十分となりやすいという問題が解決され、登録された演算子の記述情報及び論理演算情報を抽出することにより、記述情報及び論理演算情報を利用して、深層学習フレームワークにおける各々の新たに追加された演算子の登録完全性を自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上し、また登録された演算子の登録完全性を様々な側面(例えばデータタイプ、データレイアウト、実行機器など)で体系的に検出及び監視することで、各々の新たに追加された演算子の様々な側面でのサポート程度を確保することができる。
なお、異なる深層学習フレームワークにおける演算子のサポート程度は、データタイプ、データレイアウト、操作機器などの側面で異なり、具体的な実装に密接に関連する。本願は、登録された演算子の登録完全性の検出を行う場合、データタイプ、データレイアウト、操作機器などの側面でのサポート程度で検出を行うことができる。ただし、演算子がサポートするデータタイプが完全であるか否かは、当該演算子の登録完全性を検出することの必要な条件である。データタイプのサポート程度を検出することにより演算子が完全に登録されているか否かを認識する場合、演算子タイプに対応するデータ構成情報を取得し、データ構成情報に基づいて、登録された演算子がサポートするデータタイプが完全に登録されているか否かを検出することができる。具体的には、図3に示すように、当該深層学習に基づく演算子の登録処理方法は、以下のステップ301〜305を含み得る。
ステップ301において、登録された演算子の記述情報及び論理演算情報を取得する。
ステップ302において、論理演算情報に基づいて、登録された演算子の演算子タイプを決定する。
ステップ303において、記述情報に基づいて、登録された演算子がサポートするデータタイプを取得する。
本願のいくつかの実施例では、参照データタイプ情報を取得し、参照データタイプ情報に基づいて、正規表現マッチングアルゴリズムによって記述情報を解析して、登録された演算子がサポートするデータタイプを取得することができる。
記述情報は、演算子の入力、出力を定義し、演算子がサポートするデータタイプ、データレイアウト、操作機器などの情報を記述することが理解される。したがって、本実施例では、正規表現マッチングアルゴリズムにより、登録された演算子がサポートする全てのデータタイプを順番に解析することができる。
ステップ304において、深層学習フレームワークにおける演算子タイプに対応する予め設定されたデータ構成情報を取得し、データ構成情報に基づいて、データタイプが完全に登録されているか否かを検出する。
つまり、演算子タイプが異なるため、異なるデータ構成情報を用いて、当該演算子がサポートするデータタイプが完全であるか否かを検出することができる。したがって、登録された演算子がサポートするデータタイプの登録完全性の検出を行う場合、まず、深層学習フレームワークにおける当該登録された演算子の演算子タイプに対応するデータ構成情報を取得し、続いて、当該データ構成情報に基づいて、当該登録された演算子がサポートするデータタイプが完全に登録されているか否かを検出することができる。
一例として、演算子タイプが汎用タイプの演算子である場合、少なくともint32、int64、float、及びdoubleの4つのデータタイプをサポートし、すなわち、汎用タイプの演算子に対応するデータ構成情報を取得した後、当該データ構成情報に基づいて、当該登録された演算子がサポートするデータタイプが少なくともint32、int64、float、及びdoubleの4つのデータタイプを含むか否かを検出し、はいの場合、当該登録された演算子がサポートするデータタイプが完全に登録されていると決定することができ、いいえの場合、例えば、当該登録された演算子がサポートするデータタイプが、int32、int64、float、及びdoubleの4つのうち1つまたは複数足りない場合、当該登録された演算子がサポートするデータタイプが完全に登録されていないと決定することができる。
別の例として、演算子タイプが非汎用タイプの演算子である場合、少なくともint32及びint64のデータタイプ、又は、少なくともfloat及びdoubleのデータタイプを同時にサポートする。すなわち、非汎用タイプの演算子に対応するデータ構成情報を取得した後、当該データ構成情報に基づいて、当該登録された演算子がサポートするデータタイプがint32及びint64のデータタイプを含むか、又はfloat及びdoubleのデータタイプを含むかを検出し、当該登録された演算子がサポートするデータタイプがint32及びint64のデータタイプを含む、又は当該登録された演算子がサポートするデータタイプがfloat及びdoubleのデータタイプを含む場合、当該登録された演算子がサポートするデータタイプが完全に登録されていると決定することができ、いいえの場合、例えば、当該登録された演算子がサポートするデータタイプがint32又はint64のデータタイプのみを含む、又は当該登録された演算子がサポートするデータタイプがfloat又はdoubleのデータタイプのみを含む場合、当該登録された演算子がサポートするデータタイプが完全に登録されていないと決定することができる。
ステップ305において、完全に登録されている場合、登録された演算子の第1の登録成功の提示情報を生成し、完全に登録されていない場合、データ構成情報から欠落データタイプを取得し、欠落データタイプに基づいて、第1の登録失敗の提示情報を生成する。
つまり、登録された演算子がサポートするデータタイプが完全に登録されていると検出された場合、当該登録された演算子に対する第1の登録成功の提示情報を生成し、当該第1の登録成功の提示情報をユーザに提供することで、ユーザが当該提示情報により、登録された演算子がサポートするデータタイプが完全に登録されていることを了解することができる。登録された演算子がサポートするデータタイプが完全に登録されていないと検出された場合、検出結果に基づいて、演算子タイプに対応するデータ構成情報から、当該登録された演算子の欠落データタイプを決定し、当該欠落データタイプに対して、対応する登録失敗の提示情報を生成し、当該登録失敗の提示情報をユーザに提供することで、ユーザが、登録失敗の提示情報に基づいて、当該登録された演算子が完全に登録されていない原因を了解することができる。
本願の実施例に係る深層学習に基づく演算子の登録処理方法によれば、登録された演算子の記述情報及び論理演算情報を取得し、論理演算情報に基づいて登録された演算子の演算子タイプを決定し、記述情報に基づいて登録された演算子がサポートするデータタイプを取得し、続いて、深層学習フレームワークにおける演算子タイプに対応する予め設定されたデータ構成情報を取得し、データ構成情報に基づいて、データタイプが完全に登録されているか否かを検出し、完全に登録されている場合、登録された演算子の第1の登録成功の提示情報を生成し、完全に登録されていない場合、データ構成情報から欠落データタイプを取得し、欠落データタイプに基づいて第1の登録失敗の提示情報を生成する。これから分かるように、本願は、深層学習フレームワークにおける演算子の登録完全性に対する体系的な検出及び監視方法を提供し、登録された演算子の記述情報及び論理演算情報を抽出することにより、記述情報及び論理演算情報を利用して、深層学習フレームワークにおける各々の新たに追加された演算子がデータタイプの側面で完全に登録されているか否かを自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上し、また、登録された演算子のデータタイプの側面での登録完全性の検出及び監視を体系的に行うことにより、各々の新たに追加された演算子のデータタイプの側面でのサポート程度を確保することができる。
なお、演算子の登録完全性は、データレイアウトの側面で具現化することもできる。すなわち、演算子がデータタイプの側面で完全に登録されているか否かを検出する場合、演算子がデータレイアウトの側面で完全に登録されているか否かを検出することもでき、それにより演算子の登録完全性の正確性をさらに向上させることができ、演算子の登録完全性の自動検出をより具体的及び規範的にする。具体的には、本願のいくつかの実施例では、図4に示すように、図3に示すことを基に、当該深層学習に基づく演算子の登録処理方法は、以下のステップ401〜405をさらに含み得る。
ステップ401において、記述情報に基づいて、登録された演算子がサポートするデータレイアウトを取得する。
記述情報は、演算子の入力、出力を定義し、演算子がサポートするデータタイプ、データレイアウト、操作機器などの情報を記述することが理解される。したがって、本実施例では、登録された演算子がサポートするデータレイアウトを記述情報から取得することができる。なお、演算子は、異なるデータレイアウトのテンソルをサポートすることもでき、例えば、コンピュータビジョンの分野では、入力テンソルは、[NCHW]又は[NHWC]のいずれかの形式の4次元テンソルであってもよく、ここで、Nはピクチャ数、Cはチャネル数、Hはピクチャの高さ、Wはピクチャの幅である。
このため、演算子の登録完全性の検出を行う場合、演算子がデータレイアウトの側面で完全に登録されているか否かを検出することもできる。
ステップ402において、深層学習フレームワークにおける演算子タイプに対応する予め設定されたレイアウト構成情報を取得する。
つまり、演算子タイプが異なるため、異なるレイアウト構成情報を用いて、当該演算子がサポートするデータレイアウトが完全であるか否かを検出することができる。したがって、登録された演算子がサポートするデータレイアウトの登録完全性の検出を行う場合、まず、深層学習フレームワークにおける当該登録された演算子の演算子タイプに対応するレイアウト構成情報を取得し、続いて、当該レイアウト構成情報に基づいて当該登録された演算子がサポートするデータレイアウトが完全に登録されているか否かを検出することができる。
ステップ403において、レイアウト構成情報に基づいて、データレイアウトが完全に登録されているか否かを検出する。
ステップ404において、完全に登録されている場合、登録された演算子の第2の登録成功の提示情報を生成する。
ステップ405において、完全に登録されていない場合、レイアウト構成情報から欠落データレイアウトを取得し、欠落データレイアウトに基づいて、第2の登録失敗の提示情報を生成する。
本願の実施例に係る深層学習に基づく演算子の登録処理方法によれば、演算子がデータタイプの側面で完全に登録されているか否かを検出する場合、演算子がデータレイアウトの側面で完全に登録されているか否かを検出することもでき、それにより演算子の登録完全性の正確性をさらに向上させることができ、演算子の登録完全性の自動検出をより具体的及び規範的にする。
なお、演算子の登録完全性は、実行機器の側面で具現化することもできる。つまり、演算子がデータタイプの側面、及びデータレイアウトの側面で完全に登録されているか否かを検出する場合、演算子が実行機器の側面で完全に登録されているか否かを検出することもでき、それにより演算子の登録完全性の正確性をさらに向上させることができ、演算子の登録完全性の自動検出をより具体的及び規範的にする。具体的には、本願のいくつかの実施例では、図5に示すように、図4に示すことを基に、当該深層学習に基づく演算子の登録処理方法は、以下のステップ501〜505をさらに含み得る。
ステップ501において、記述情報に基づいて、登録された演算子がサポートする実行機器を取得する。
記述情報は、演算子の入力、出力を定義し、演算子がサポートするデータタイプ、データレイアウト、操作機器などの情報を記述することが理解される。したがって、本実施例では、登録された演算子がサポートする実行機器を記述情報から取得することができる。ただし、記述情報内の操作機器は、すなわち、前記実行機器である。深層学習フレームワークにおける各演算子は、例えば、実行機器CPU上で計算を実行したり、実行機器GPU上で計算を実行したりするように、異なるハードウェア機器上で計算を実行することをサポートすることが理解される。したがって、演算子が実行機器の側面で完全に登録されているか否かを検出することもできる。
ステップ502において、深層学習フレームワークにおける演算子タイプに対応する予め設定された機器構成情報を取得する。
つまり、演算子タイプが異なるため、異なる機器構成情報を用いて、当該演算子がサポートする実行機器が完全であるか否かを検出することができる。したがって、登録された演算子がサポートする実行機器の登録完全性の検出を行う場合、まず、深層学習フレームワークにおける当該登録された演算子の演算子タイプに対応する機器構成情報を取得し、続いて、当該機器構成情報に基づいて当該登録された演算子がサポートする実行機器が完全に登録されているか否かを検出することができる。
ステップ503において、機器構成情報に基づいて、実行機器が完全に登録されているか否かを検出する。
つまり、機器構成情報に基づいて、当該登録された演算子がサポートする実行機器が完全に登録されているか否かを検出することができる。例えば、汎用タイプの演算子を例として、汎用タイプの演算子がサポートする実行機器がCPU及びGPUを含むと仮定すると、登録された演算子がサポートする実行機器がCPU又はGPUのみを含む場合、当該登録された演算子がサポートする実行機器が完全に登録されていないと決定することができ、登録された演算子がサポートする実行機器がCPU及びGPUを含む場合、当該登録された演算子がサポートする実行機器が完全に登録されていると決定することができる。
ステップ504において、完全に登録されている場合、登録された演算子の第3の登録成功の提示情報を生成する。
ステップ505において、完全に登録されていない場合、機器構成情報から欠落実行機器を取得し、欠落実行機器に基づいて第3の登録失敗の提示情報を生成する。
つまり、登録された演算子がサポートする実行機器が完全に登録されていないと検出された場合、機器構成情報から当該登録された演算子の欠落実行機器を取得することができ、例えば、汎用タイプの演算子がサポートする実行機器がCPU及びGPUを含むと仮定すると、登録された演算子がサポートする実行機器がCPUのみを含む場合、当該登録された演算子の欠落実行機器がGPUであることを決定することができる。そして、欠落実行機器に基づいて、対応する第3の登録失敗の提示情報を生成し、当該第3の登録失敗の提示情報をユーザに提供することで、ユーザが、当該登録失敗の提示情報に基づいて、当該登録された演算子が完全に登録されていない原因を了解することができる。
本願の実施例に係る深層学習に基づく演算子の登録処理方法によれば、演算子がデータタイプの側面、データレイアウトの側面で完全に登録されているか否かを検出する場合、演算子が実行機器の側面で完全に登録されているか否かを検出することもでき、それにより演算子の登録完全性の正確性をさらに向上させることができ、演算子の登録完全性の自動検出をより具体的及び規範的にする。
図6は、本願の一実施例に係る深層学習に基づく演算子の登録処理装置の概略構造図である。図6に示すように、当該深層学習に基づく演算子の登録処理装置600は、第1の取得モジュール601と、決定モジュール602と、第2の取得モジュール603と、検出モジュール604と、を含み得る。
具体的には、第1の取得モジュール601は、登録された演算子の記述情報及び論理演算情報を取得する。
決定モジュール602は、論理演算情報に基づいて、登録された演算子の演算子タイプを決定する。
本願のいくつかの実施例では、決定モジュール602は、深層学習フレームワークにおける予め設定されたターゲットデータタイプに対応するターゲット計算論理を取得し、論理演算情報をターゲット計算論理とマッチングし、ターゲット計算論理に論理演算情報が含まれていない場合、登録された演算子が第1の演算子タイプであると決定し、ターゲット計算論理に論理演算情報が含まれている場合、論理演算情報に基づいて演算子の操作が入力データに関連しているか否かを決定し、演算子の操作が入力データに関連していない場合、登録された演算子が第1の演算子タイプであると決定し、演算子の操作が入力データに関連している場合、登録された演算子が第2の演算子タイプであると決定する。
第2の取得モジュール603は、深層学習フレームワークにおける演算子タイプに対応する予め設定された構成情報を取得する。
検出モジュール604は、記述情報及び構成情報に基づいて、登録された演算子が完全に登録されているか否かを検出するために用いられる。
本願のいくつかの実施例では、第2の取得モジュール603が、深層学習フレームワークにおける演算子タイプに対応する予め設定された構成情報を取得する具体的な実現プロセスは、深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたデータ構成情報を取得することであってもよい。ここで、検出モジュール604が、記述情報及び構成情報に基づいて、登録された演算子が完全に登録されているか否かを検出する具体的な実現プロセスは、記述情報に基づいて、登録された演算子がサポートするデータタイプを取得し、データ構成情報に基づいて、データタイプが完全に登録されているか否かを検出することであってもよい。
本願のいくつかの実施例では、検出モジュール604が、記述情報に基づいて、登録された演算子がサポートするデータタイプを取得する具体的な実現プロセスは、参照データタイプ情報を取得し、前記参照データタイプ情報に基づいて、正規表現マッチングアルゴリズムにより前記記述情報を解析して、前記登録された演算子がサポートするデータタイプを取得することであってもよい。
本願のいくつかの実施例では、図7に示すように、当該深層学習に基づく演算子の登録処理装置600は、生成モジュール605をさらに含み得る。生成モジュール605は、前記データタイプが完全に登録されていると検出された場合、前記登録された演算子の第1の登録成功の提示情報を生成し、前記データタイプが完全に登録されていないと検出された場合、前記データ構成情報から欠落データタイプを取得し、前記欠落データタイプに基づいて、第1の登録失敗の提示情報を生成する。
本願のいくつかの実施例では、第2の取得モジュール603は、さらに、前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたレイアウト構成情報を取得する。検出モジュール604は、さらに、前記記述情報に基づいて、前記登録された演算子がサポートするデータレイアウトを取得し、前記レイアウト構成情報に基づいて、前記データレイアウトが完全に登録されているか否かを検出する。
本願のいくつかの実施例では、第2の取得モジュール603は、さらに、前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された機器構成情報を取得し、検出モジュール604は、さらに、前記記述情報に基づいて、前記登録された演算子がサポートする実行機器を取得し、前記機器構成情報に基づいて、前記実行機器が完全に登録されているか否かを検出する。
上記実施例の装置について、その中に、各モジュールが操作を実行する具体的な方式は、当該方法に関する実施例において詳細に説明されており、ここでは説明を省略する。
本願の実施例に係る深層学習に基づく演算子の登録処理装置によれば、登録された演算子の記述情報及び論理演算情報を取得し、論理演算情報に基づいて登録された演算子の演算子タイプを決定し、記述情報に基づいて登録された演算子がサポートするデータタイプを取得し、続いて、深層学習フレームワークにおける演算子タイプに対応する予め設定されたデータ構成情報を取得し、データ構成情報に基づいて、データタイプが完全に登録されているか否かを検出し、完全に登録されている場合、登録された演算子の第1の登録成功の提示情報を生成し、完全に登録されていない場合、データ構成情報から欠落データタイプを取得し、欠落データタイプに基づいて第1の登録失敗の提示情報を生成する。これから分かるように、本願は、深層学習フレームワークにおける演算子の登録完全性に対する体系的な検出及び監視方法を提供し、登録された演算子の記述情報及び論理演算情報を抽出することにより、記述情報及び論理演算情報を利用して、深層学習フレームワークにおける各々の新たに追加された演算子がデータタイプの側面で完全に登録されているか否かを自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上し、また、登録された演算子のデータタイプの側面での登録完全性の検出及び監視を体系的に行うことにより、各々の新たに追加された演算子のデータタイプでのサポート程度を確保することができる。
本願の実施例によれば、本願は、電子機器、及び読み取り可能な記憶媒体をさらに提供する。
本願の実施例によれば、本願は、コンピュータプログラムを提供し、コンピュータプログラムは、コンピュータに本願によって提供される深層学習に基づく演算子の登録処理方法を実行させる。
図8に示すように、本願の実施例に係る深層学習に基づく演算子の登録処理方法を実現するための電子機器のブロック図である。電子機器は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。電子機器は、さらに、例えば、パーソナルデジタルプロセッシング、携帯電話、スマートフォン、ウェアラブル機器、及び他の同様のコンピューティング装置などの様々な形態のモバイル装置を表すことができる。本明細書に示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、単なる例であり、本明細書に記述及び/又は要求される本願の実現を限定することを意図しない。
図8に示すように、当該電子機器は、1つ又は複数のプロセッサ801と、メモリ802と、高速インタフェースと低速インタフェースとを含むインタフェースであって、各コンポーネントを接続するためのインタフェースとを含む。各コンポーネントは、異なるバスで互いに接続され、共通のマザーボードに実装されてもよいし、必要に応じて他の方式で実装されてもよい。プロセッサは、外部入力/出力装置(例えば、インタフェースに結合された表示機器)にGUIのグラフィック情報を表示させるようにメモリ中又はメモリ上に記憶された命令を含む命令であって、電子機器内で実行される命令を処理することができる。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを複数のメモリと共に使用することができる。同様に、それぞれが必要な動作の一部(例えば、サーバアレイ、ブレードサーバ群、又はマルチプロセッサシステムとする)を提供する複数の電子機器を接続することができる。図8では、1つのプロセッサ801を例とする。
メモリ802は、本願にて提供される非一時的なコンピュータ読み取り可能な記憶媒体である。ただし、前記メモリには、少なくとも1つのプロセッサが本願にて提供される深層学習に基づく演算子の登録処理方法を実行するように、少なくとも1つのプロセッサによって実行可能な命令が記憶されている。本願の非一時的なコンピュータ読み取り可能な記憶媒体には、本願にて提供される深層学習に基づく演算子の登録処理方法をコンピュータに実行させるためのコンピュータ命令が記憶されている。
メモリ802は、非一時的なコンピュータ読み取り可能な記憶媒体として、本願の実施例における深層学習に基づく演算子の登録処理方法に対応するプログラム命令/モジュール(例えば、図6に示される第1の取得モジュール601、決定モジュール602、第2の取得モジュール603、第3の取得モジュール604、検出モジュール605及び生成モジュール606)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶する。プロセッサ801は、メモリ802に記憶された非一時的なソフトウェアプログラム、命令及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち、上記の方法の実施例における深層学習に基づく演算子の登録処理方法を実現する。
メモリ802は、プログラム記憶領域とデータ記憶領域とを含み得て、ただし、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は、深層学習に基づく演算子の登録処理を実現するための電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含み得て、非一時的なメモリをさらに含み得て、例えば、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリ、又は他の非一時的なソリッドステート記憶装置である。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に配置されたメモリを任意選択的に含むことができ、これらの遠隔メモリは、ネットワークを介して深層学習に基づく演算子の登録処理を実現するための電子機器に接続することができる。上記のネットワークの例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。
深層学習に基づく演算子の登録処理方法を実現するための電子機器は、入力装置803と出力装置804とをさらに含み得る。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式で接続することができ、図8では、バスによる接続を例とする。
入力装置803は、入力された数字又は文字情報を受信し、また深層学習に基づく演算子の登録処理方法を実現するための電子機器のユーザ設定及び機能制御に関連するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又はそれ以上のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、表示機器、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含み得る。当該表示機器は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示機器はタッチパネルであってもよい。
ここで説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、高度プロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語で実施される。本明細書で使用されるような、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他のタイプの装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力、音声入力、又は触覚入力を含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアント及びサーバを含み得る。クライアント及びサーバは、一般に、互いに離れており、通常、通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント−サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。
本願の実施例の技術的解決手段によれば、登録された演算子の記述情報及び論理演算情報を取得し、論理演算情報に基づいて登録された演算子の演算子タイプを決定し、記述情報に基づいて登録された演算子がサポートするデータタイプを取得し、続いて、深層学習フレームワークにおける演算子タイプに対応する予め設定されたデータ構成情報を取得し、データ構成情報に基づいて、データタイプが完全に登録されているか否かを検出し、完全に登録されている場合、登録された演算子の第1の登録成功の提示情報を生成し、完全に登録されていない場合、データ構成情報から欠落データタイプを取得し、欠落データタイプに基づいて第1の登録失敗の提示情報を生成する。これから分かるように、本願は、深層学習フレームワークにおける演算子の登録完全性に対する体系的な検出及び監視方法を提供し、登録された演算子の記述情報及び論理演算情報を抽出することにより、記述情報及び論理演算情報を利用して、深層学習フレームワークにおける各々の新たに追加された演算子がデータタイプの側面で完全に登録されているか否かを自動的に検出及び監視することができ、人件費が大幅に減少し、開発効率が向上し、また、登録された演算子のデータタイプの側面での登録完全性の検出及び監視を体系的に行うことにより、各々の新たに追加された演算子のデータタイプでのサポート程度を確保することができる。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができることが理解されるであろう。例えば、本願に記載されている各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本願で開示されている技術的解決手段が所望の結果を実現することができれば、本明細書では限定しない。
上記の具体的な実施形態は、本願の保護範囲を限定するものではない。当業者であれば、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本願の保護範囲内に含まれるべきである。

Claims (17)

  1. 深層学習に基づく演算子の登録処理方法であって、
    登録された演算子の記述情報及び論理演算情報を取得するステップと、
    前記論理演算情報に基づいて、前記登録された演算子の演算子タイプを決定するステップと、
    深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得し、前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するステップと、を含む、
    ことを特徴とする深層学習に基づく演算子の登録処理方法。
  2. 前記論理演算情報に基づいて、前記登録された演算子の演算子タイプを決定するステップは、
    前記深層学習フレームワークにおける予め設定されたターゲットデータタイプに対応するターゲット計算論理を取得し、前記論理演算情報を前記ターゲット計算論理とマッチングするステップと、
    前記ターゲット計算論理に前記論理演算情報が含まれていない場合、前記登録された演算子が第1の演算子タイプであると決定するステップと、
    前記ターゲット計算論理に前記論理演算情報が含まれている場合、前記論理演算情報に基づいて、演算子の操作が入力データに関連しているか否かを決定し、演算子の操作が入力データに関連していない場合、前記登録された演算子が第1の演算子タイプであると決定し、演算子の操作が入力データに関連している場合、前記登録された演算子が第2の演算子タイプであると決定するステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得するステップは、
    深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたデータ構成情報を取得するステップを含み、
    前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するステップは、
    前記記述情報に基づいて、前記登録された演算子がサポートするデータタイプを取得するステップと、
    前記データ構成情報に基づいて、前記データタイプが完全に登録されているか否かを検出するステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  4. 前記データタイプが完全に登録されていると検出された場合、前記登録された演算子の第1の登録成功の提示情報を生成するステップと、
    前記データタイプが完全に登録されていないと検出された場合、前記データ構成情報から欠落データタイプを取得し、前記欠落データタイプに基づいて第1の登録失敗の提示情報を生成するステップと、をさらに含む、
    ことを特徴とする請求項3に記載の方法。
  5. 前記記述情報に基づいて、前記登録された演算子がサポートするデータタイプを取得するステップは、
    参照データタイプ情報を取得するステップと、
    前記参照データタイプ情報に基づいて、正規表現マッチングアルゴリズムにより前記記述情報を解析して、前記登録された演算子がサポートするデータタイプを取得するステップと、を含む、
    ことを特徴とする請求項3に記載の方法。
  6. 前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得するステップは、
    前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたレイアウト構成情報を取得するステップをさらに含み、
    前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するステップは、
    前記記述情報に基づいて、前記登録された演算子がサポートするデータレイアウトを取得するステップと、
    前記レイアウト構成情報に基づいて、前記データレイアウトが完全に登録されているか否かを検出するステップと、をさらに含む、
    ことを特徴とする請求項3に記載の方法。
  7. 前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得するステップは、
    前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された機器構成情報を取得するステップをさらに含み、
    前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するステップは、
    前記記述情報に基づいて、前記登録された演算子がサポートする実行機器を取得するステップと、
    前記機器構成情報に基づいて、前記実行機器が完全に登録されているか否かを検出するステップと、をさらに含む、
    ことを特徴とする請求項3に記載の方法。
  8. 深層学習に基づく演算子の登録処理装置であって、
    登録された演算子の記述情報及び論理演算情報を取得するための第1の取得モジュールと、
    前記論理演算情報に基づいて、前記登録された演算子の演算子タイプを決定するための決定モジュールと、
    深層学習フレームワークにおける前記演算子タイプに対応する予め設定された構成情報を取得するための第2の取得モジュールと、
    前記記述情報及び前記構成情報に基づいて、前記登録された演算子が完全に登録されているか否かを検出するための検出モジュールと、を含む、
    ことを特徴とする深層学習に基づく演算子の登録処理装置。
  9. 前記決定モジュールが、
    前記深層学習フレームワークにおける予め設定されたターゲットデータタイプに対応するターゲット計算論理を取得し、前記論理演算情報を前記ターゲット計算論理とマッチングし、
    前記ターゲット計算論理に前記論理演算情報が含まれていない場合、前記登録された演算子が第1の演算子タイプであると決定し、
    前記ターゲット計算論理に前記論理演算情報が含まれている場合、前記論理演算情報に基づいて、演算子の操作が入力データに関連しているか否かを決定し、演算子の操作が入力データに関連していない場合、前記登録された演算子が第1の演算子タイプであると決定し、演算子の操作が入力データに関連している場合、前記登録された演算子が第2の演算子タイプであると決定する、
    ことを特徴とする請求項8に記載の装置。
  10. 前記第2の取得モジュールが、
    深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたデータ構成情報を取得し、
    前記検出モジュールが、
    前記記述情報に基づいて、前記登録された演算子がサポートするデータタイプを取得し、
    前記データ構成情報に基づいて、前記データタイプが完全に登録されているか否かを検出する、
    ことを特徴とする請求項8に記載の装置。
  11. 生成モジュールをさらに含み、前記生成モジュールが、前記データタイプが完全に登録されていると検出された場合、前記登録された演算子の第1の登録成功の提示情報を生成し、前記データタイプが完全に登録されていないと検出された場合、前記データ構成情報から欠落データタイプを取得し、前記欠落データタイプに基づいて第1の登録失敗の提示情報を生成する、
    ことを特徴とする請求項10に記載の装置。
  12. 前記検出モジュールが、
    参照データタイプ情報を取得し、
    前記参照データタイプ情報に基づいて、正規表現マッチングアルゴリズムにより前記記述情報を解析して、前記登録された演算子がサポートするデータタイプを取得する、
    ことを特徴とする請求項10に記載の装置。
  13. 前記第2の取得モジュールが、さらに、前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定されたレイアウト構成情報を取得し、
    前記検出モジュールが、さらに、前記記述情報に基づいて、前記登録された演算子がサポートするデータレイアウトを取得し、前記レイアウト構成情報に基づいて、前記データレイアウトが完全に登録されているか否かを検出する、
    ことを特徴とする請求項10に記載の装置。
  14. 前記第2の取得モジュールが、さらに、前記深層学習フレームワークにおける前記演算子タイプに対応する予め設定された機器構成情報を取得し、
    前記検出モジュールが、さらに、前記記述情報に基づいて、前記登録された演算子がサポートする実行機器を取得し、前記機器構成情報に基づいて、前記実行機器が完全に登録されているか否かを検出する、
    ことを特徴とする請求項10に記載の装置。
  15. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが請求項1〜7のいずれかに記載の深層学習に基づく演算子の登録処理方法を実行できるように、前記少なくとも1つのプロセッサによって実行される、
    ことを特徴とする電子機器。
  16. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ命令は、コンピュータに請求項1〜7のいずれかに記載の深層学習に基づく演算子の登録処理方法を実行させる、
    ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
  17. コンピュータプログラムであって、
    前記コンピュータプログラムは、コンピュータに請求項1〜7のいずれかに記載の深層学習に基づく演算子の登録処理方法を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2021150346A 2020-09-29 2021-09-15 深層学習に基づく演算子の登録処理方法、装置及び電子機器 Active JP7248756B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011057647.X 2020-09-29
CN202011057647.XA CN112270399B (zh) 2020-09-29 2020-09-29 基于深度学习的算子注册处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
JP2021193606A true JP2021193606A (ja) 2021-12-23
JP7248756B2 JP7248756B2 (ja) 2023-03-29

Family

ID=74337700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021150346A Active JP7248756B2 (ja) 2020-09-29 2021-09-15 深層学習に基づく演算子の登録処理方法、装置及び電子機器

Country Status (5)

Country Link
US (1) US20210365767A1 (ja)
EP (1) EP3940538A3 (ja)
JP (1) JP7248756B2 (ja)
KR (1) KR20210110530A (ja)
CN (1) CN112270399B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177793A (ja) * 2021-05-18 2022-12-01 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220457B (zh) * 2021-05-24 2024-03-22 深圳市智芯华玺信息技术有限公司 模型部署方法、模型部署装置、终端设备及可读存储介质
CN113377360B (zh) * 2021-06-28 2023-09-26 北京百度网讯科技有限公司 任务执行方法、装置、电子设备、存储介质和程序产品
CN114168114A (zh) * 2022-02-10 2022-03-11 中国电子科技集团公司第十五研究所 一种算子注册方法、装置以及设备
CN114841326B (zh) * 2022-05-19 2024-01-12 北京百度网讯科技有限公司 深度学习框架的算子处理方法、装置、设备和存储介质
CN114911465B (zh) * 2022-05-19 2023-01-10 北京百度网讯科技有限公司 算子的生成方法、装置、设备以及存储介质
CN116107669B (zh) * 2023-04-14 2023-08-18 北京大学 深度学习框架的算子注册方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265358A (ja) * 2006-03-30 2007-10-11 Casio Comput Co Ltd 情報処理装置、プログラム及び業務アプリケーション導入方法
JP2009252019A (ja) * 2008-04-08 2009-10-29 Hitachi Ltd ソフトウェア再利用支援装置、及びソフトウェア再利用支援方法
JP2014157529A (ja) * 2013-02-18 2014-08-28 Canon Inc 配信装置、デバイス装置、配信装置の制御方法およびコンピュータプログラム
US20180321918A1 (en) * 2017-05-08 2018-11-08 Datapipe, Inc. System and method for integration, testing, deployment, orchestration, and management of applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853424B2 (ja) * 2011-06-03 2016-02-09 ソニー株式会社 無線通信装置、情報処理装置、通信システムおよび通信方法
CN107563360B (zh) * 2017-09-30 2021-05-07 百度在线网络技术(北京)有限公司 信息获取方法和装置
CN107967135B (zh) * 2017-10-31 2020-11-13 平安科技(深圳)有限公司 计算引擎实现方法、电子装置及存储介质
CN108227932B (zh) * 2018-01-26 2020-06-23 上海智臻智能网络科技股份有限公司 交互意图确定方法及装置、计算机设备及存储介质
CN109064274B (zh) * 2018-07-24 2021-09-21 方骥 一种基于机器学习的智慧电商页面缺货管理方法及系统
US10977520B2 (en) * 2018-12-18 2021-04-13 Slyce Acquisition Inc. Training data collection for computer vision
CN110866610A (zh) * 2019-11-20 2020-03-06 苏州浪潮智能科技有限公司 一种深度学习模型分布式运算的方法及装置
CN110929883A (zh) * 2019-11-22 2020-03-27 苏州浪潮智能科技有限公司 一种在TensorFlow中支持FPGA训练的方法和装置
CN111324345A (zh) * 2020-03-19 2020-06-23 北京奇艺世纪科技有限公司 数据处理方式生成方法、数据处理方法、装置及电子设备
CN111414646B (zh) * 2020-03-20 2024-03-29 矩阵元技术(深圳)有限公司 实现隐私保护的数据处理方法和装置
CN111428880A (zh) * 2020-03-20 2020-07-17 矩阵元技术(深圳)有限公司 隐私机器学习实现方法、装置、设备及存储介质
CN111488211A (zh) * 2020-04-09 2020-08-04 北京嘀嘀无限科技发展有限公司 基于深度学习框架的任务处理方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265358A (ja) * 2006-03-30 2007-10-11 Casio Comput Co Ltd 情報処理装置、プログラム及び業務アプリケーション導入方法
JP2009252019A (ja) * 2008-04-08 2009-10-29 Hitachi Ltd ソフトウェア再利用支援装置、及びソフトウェア再利用支援方法
JP2014157529A (ja) * 2013-02-18 2014-08-28 Canon Inc 配信装置、デバイス装置、配信装置の制御方法およびコンピュータプログラム
US20180321918A1 (en) * 2017-05-08 2018-11-08 Datapipe, Inc. System and method for integration, testing, deployment, orchestration, and management of applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伊吹 勇郎: "Technology Reports 短期間でAIモデルを作成・提供可能とする深層学習基盤の開発", NTT DOCOMOテクニカル・ジャーナル [ONLINE], vol. 25, no. 4, JPN6022050527, 31 January 2018 (2018-01-31), JP, pages 12 - 18, ISSN: 0005006974 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022177793A (ja) * 2021-05-18 2022-12-01 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体
JP7350923B2 (ja) 2021-05-18 2023-09-26 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体

Also Published As

Publication number Publication date
CN112270399A (zh) 2021-01-26
EP3940538A2 (en) 2022-01-19
KR20210110530A (ko) 2021-09-08
US20210365767A1 (en) 2021-11-25
EP3940538A3 (en) 2022-03-02
CN112270399B (zh) 2022-03-11
JP7248756B2 (ja) 2023-03-29

Similar Documents

Publication Publication Date Title
JP2021193606A (ja) 深層学習に基づく演算子の登録処理方法、装置及び電子機器
US9021428B2 (en) Troubleshooting visuals and transient expressions in executing applications
US10318595B2 (en) Analytics based on pipes programming model
JP7269913B2 (ja) ナレッジグラフ構築方法、装置、電子機器、記憶媒体およびコンピュータプログラム
US9262125B2 (en) Contextual focus-agnostic parsing-validated alternatives information
EP3964964A1 (en) Code testing prioritization and adaptation
US20160246709A1 (en) Source code unit testing using an indexing tool
US20210398022A1 (en) Method and apparatus of fusing operators, electronic device and storage medium
EP3869377A1 (en) Method and apparatus for data processing based on smart contract, device and storage medium
CN112015468A (zh) 一种接口文档处理方法、装置、电子设备以及存储介质
JP2021128779A (ja) データ拡張の方法及び装置、機器、記憶媒体
US20210173641A1 (en) Generation of knowledge graphs based on repositories of code
CN111984545B (zh) 检测单元测试稳定性的方法、装置、电子设备及存储介质
CN110673994B (zh) 数据库测试方法及装置
CN111753330A (zh) 数据泄露主体的确定方法、装置、设备和可读存储介质
US20230393836A1 (en) Method and apparatus for updating cloud platform
US20210192725A1 (en) Method, apparatus and electronic device for determining skin smoothness
CN111506499B (zh) 一种小程序中参数可用性检测方法、装置以及电子设备
CN111292223B (zh) 图计算的处理方法、装置、电子设备及存储介质
CN111831317B (zh) 服务间依赖关系的获取方法、装置、电子设备和存储介质
US11847448B2 (en) Automatic generation of exporter configuration rules
CN117709255B (zh) 间接访问寄存器的测试方法、装置、设备及介质
CN112799954B (zh) 快速构建测试环境的方法、设备及计算机可读介质
CN113377660B (zh) 测试方法和装置
CN111831319A (zh) 差异数据后验方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230316

R150 Certificate of patent or registration of utility model

Ref document number: 7248756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150