JP2019032729A - 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム - Google Patents

演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム Download PDF

Info

Publication number
JP2019032729A
JP2019032729A JP2017153948A JP2017153948A JP2019032729A JP 2019032729 A JP2019032729 A JP 2019032729A JP 2017153948 A JP2017153948 A JP 2017153948A JP 2017153948 A JP2017153948 A JP 2017153948A JP 2019032729 A JP2019032729 A JP 2019032729A
Authority
JP
Japan
Prior art keywords
calculation
information
input data
neural network
amount
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.)
Pending
Application number
JP2017153948A
Other languages
English (en)
Inventor
匠 檀上
Takumi Danjo
匠 檀上
康太郎 瀧
Kotaro Taki
康太郎 瀧
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017153948A priority Critical patent/JP2019032729A/ja
Publication of JP2019032729A publication Critical patent/JP2019032729A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ニューラルネットワークにおける入力データの認識または学習に要する時間を容易に取得することを可能とする演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システムを提供する。
【解決手段】ニューラルネットワークを構成する1以上の層の配置を示す情報と、1以上の層のそれぞれにおいて用いられるパラメータ値と、ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、取得した配置を示す情報と、パラメータ値と、入力データのサイズとに基づいて、入力データの入力に応じてニューラルネットワークにおいて行われる演算の演算量を算出し、算出した演算量と、取得した処理性能とに基づいて、所定のコンピュータにおいて演算が行われる場合の演算時間を算出する。
【選択図】図5

Description

本発明は、演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システムに関する。
近年、画像認識や音声認識等の分野において、ディープラーニング手法が活用されている。ディープラーニング手法は、多層構造のニューラルネットワーク(以下、単にニューラルネットワークとも呼ぶ)に入力データ(例えば、画像データ)を学習させることをよって行われる機械学習の手法である。
このディープラーニング手法を用いることにより、従来の機械学習の手法を用いた場合と比べて、入力データの認識性能を高めることが可能になる(例えば、特許文献1乃至3参照)。
特開2011−233085号公報 特開2016−212667号公報 特開2013−255390号公報
ここで、ニューラルネットワークにおける入力データの認識(以下、単に認識とも呼ぶ)やニューラルネットワークに対する入力データの学習(以下、単に学習とも呼ぶ)に要する時間は、入力データのサイズやニューラルネットワークの構造等によって異なる。そのため、例えば、ディープラーニング手法の利用者(以下、単に利用者とも呼ぶ)は、認識や学習を予め行うことによってそれぞれの所要時間を計測する場合がある。
しかしながら、利用者は、この場合、認識や学習を行うための入力データを予め用意する必要がある。また、利用者は、この場合、所要時間の計測を正確に行う必要性から、認識や学習が行われるコンピュータ(ハードウエア)を占有する必要がある。そのため、利用者は、認識や学習の所要時間を容易に取得することができない場合がある。
そこで、一つの側面では、ニューラルネットワークにおける入力データの認識または学習に要する時間を容易に取得することを可能とする演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システムを提供することを目的とする。
実施の形態の一つの態様によれば、ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出し、算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する。
一つの側面によれば、ニューラルネットワークにおける入力データの認識または学習に要する時間を容易に取得することを可能とする。
図1は、情報処理システム10の全体構成を示す図である。 図2は、情報処理装置1のハードウエア構成を説明する図である。 図3は、情報処理装置1の機能のブロック図である。 図4は、情報格納領域130に記憶された情報のブロック図である。 図5は、第1の実施の形態の概略について説明するフローチャートである。 図6は、第1の実施の形態の概略を説明する図である。 図7は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。 図8は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。 図9は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。 図10は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。 図11は、ニューラルネットワークの具体例について説明する図である。 図12は、ネットワーク情報131の具体例を説明する図である。 図13は、パラメータ情報132の具体例を説明する図である。 図14は、バッチサイズ情報133の具体例を説明する図である。 図15は、入力サイズ情報134の具体例を説明する図である。 図16は、演算量情報137の具体例を説明する図である。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、1台以上の物理マシンから構成される情報処理装置1と、記憶装置2と、操作端末3とを含む。図1に示す操作端末3は、操作端末3a、3b及び3cが含まれている。
情報処理装置1は、例えば、利用者が操作端末3を介して、入力データの認識または学習が行われる際の演算時間を算出する処理(以下、演算時間算出処理とも呼ぶ)を行う旨の指示を行った場合、記憶装置2から演算時間算出処理を行うために必要な情報の取得を行う。そして、情報処理装置1は、取得した情報に基づいて演算時間算出処理を行う。
具体的に、情報処理装置1は、ニューラルネットワーク(例えば、畳み込みニューラルネットワーク)を構成する1以上の層の配置を示す情報(以下、ネットワーク情報とも呼ぶ)と、各層において用いられるパラメータ値(以下、パラメータ情報とも呼ぶ)と、入力データのサイズ(以下、入力サイズ情報とも呼ぶ)とを取得する。また、情報処理装置1は、所定のコンピュータの処理性能(以下、処理性能情報とも呼ぶ)を取得する。
そして、情報処理装置1は、ネットワーク情報と、パラメータ情報と、入力サイズ情報とに基づいて、入力データの入力に応じてニューラルネットワークにおいて行われる演算回数(以下、演算量とも呼ぶ)を算出する。さらに、情報処理装置1は、算出した演算量と、処理性能情報とに基づいて、所定のコンピュータにおいて演算が行われる場合の演算時間を算出する。
すなわち、ニューラルネットワークにおいて認識または学習が行われる場合の演算量は、入力データのサイズやニューラルネットワークの構造(ニューラルネットワークを構成する層の配置やパラメータ値)に基づいて決定される。そのため、情報処理装置1は、これらの情報から、ニューラルネットワークにおいて認識または学習が行われる際の演算量を算出する。そして、情報処理装置1は、算出した演算量を用いて、学習または演算が行われる際の演算時間を算出する。
これにより、情報処理装置1は、ニューラルネットワークにおいて入力データの認識または学習を実際に行うことなく、入力データの認識または学習に要する時間(見積り時間)を容易に取得することが可能になる。
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図2は、情報処理装置1のハードウエア構成を説明する図である。
情報処理装置1を構成する物理マシンのそれぞれは、図2に示すように、プロセッサであるCPU101と、メインメモリ102(以下、単にメモリ102とも呼ぶ)と、外部インターフェース(I/Oユニット)103と、記憶媒体(ストレージ)104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、記憶媒体104内のプログラム格納領域(図示しない)に、演算時間算出処理を行うプログラム110を記憶する。
CPU101は、図2に示すように、記憶媒体104からメモリ102にロードされたプログラム110と協働することによって演算時間算出処理を行う。
記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、演算時間算出処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
また、外部インターフェース103は、ネットワークを介して操作端末3と通信を行う。
[情報処理装置のソフトウエア構成]
次に、情報処理装置1のソフトウエア構成について説明する。図3は、情報処理装置1の機能のブロック図である。図4は、情報格納領域130に記憶された情報のブロック図である。
CPU101は、図3に示すように、プログラム110と協働することにより、情報受信部111と、情報管理部112と、情報取得部113と、演算量算出部114と、演算時間算出部115と、情報送信部116として動作する。また、情報格納領域130には、図4に示すように、ネットワーク情報131と、パラメータ情報132と、バッチサイズ情報133と、入力サイズ情報134と、処理性能情報135と、実行効率情報136と、演算量情報137と、演算量累積情報138とが記憶されている。
情報受信部111は、利用者が操作端末3に対して入力したネットワーク情報131等の各種情報を受信する。
情報管理部112は、情報受信部111が受信した各種情報を情報格納領域130に記憶する。
情報取得部113は、演算時間算出処理を開始するタイミングになった場合、情報格納領域130に記憶された各種情報のうち、例えば、ネットワーク情報131と、パラメータ情報132と、入力サイズ情報134と、処理性能情報135とを取得する。ネットワーク情報131は、例えば、ニューラルネットワークを構成する各層の配置を示す情報であり、パラメータ情報132は、例えば、ニューラルネットワークを構成する各層において用いられるパラメータ値を示す情報である。また、入力サイズ情報134は、例えば、入力データのサイズを示す情報であり、処理性能情報135は、例えば、所定のコンピュータに処理性能を示す情報である。
演算量算出部114は、例えば、情報取得部113が取得したネットワーク情報131と、パラメータ情報132と、入力サイズ情報134とに基づいて、入力データの入力に応じてニューラルネットワークにおいて行われる演算の演算量を算出する。すなわち、演算量算出部114は、ニューラルネットワークにおいて入力データの認識が行われる際の演算量、または、ニューラルネットワークにおいて入力データの学習が行われる際の演算量の算出を行う。
具体的に、演算量算出部114は、例えば、ニューラルネットワークを構成する層ごとであって演算の種類ごとに演算量の算出を行い、算出した演算量を演算量情報137として情報格納領域130に記憶する。また、演算量算出部114は、例えば、ニューラルネットワークを構成する層ごとであって演算の種類ごとの演算量が算出されるごとに、算出が完了した演算量の累計を演算量累積情報138として情報格納領域130に記憶する。
演算時間算出部115は、演算量算出部114が算出した演算量(例えば、演算量情報137)と、情報取得部113が取得した処理性能情報135とに基づいて、所定のコンピュータにおいて認識または学習が行われる場合の演算時間を算出する。
情報送信部116は、例えば、演算時間算出部115が算出した演算時間を操作端末3に送信する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図5は、第1の実施の形態の概略について説明するフローチャートである。また、図6は、第1の実施の形態の概略を説明する図である。図6を参照しながら、図5に示す第1の実施の形態の概略について説明を行う。
情報処理装置1は、図5に示すように、処理開始タイミングまで待機する(S1のNO)。処理開始タイミングは、例えば、利用者が操作端末3を介して演算時間算出処理を開始する旨の入力を行ったタイミングであってよい。
そして、処理開始タイミングになった場合(S1のYES)、情報処理装置1は、図6に示すように、ニューラルネットワークを構成する1以上の層の配置を示すネットワーク情報131と、各層において用いられるパラメータ情報132と、入力データのサイズを含む入力サイズ情報134と、所定のコンピュータの処理性能を示す処理性能情報135とを取得する(S2)。
続いて、情報処理装置1は、図6に示すように、S2の処理で取得したネットワーク情報131と、パラメータ情報132と、入力サイズ情報134とに基づいて、ニューラルネットワークにおいて行われる演算の演算量を算出する(S3)。その後、情報処理装置1は、S3の処理で算出した演算量と、S2で取得した処理性能情報135とに基づいて、所定のコンピュータにおいて入力データによる演算が行われる場合の演算時間を算出する(S4)。
すなわち、ニューラルネットワークにおいて認識または学習が行われる場合の演算量は、入力データのサイズやニューラルネットワークの構造(ニューラルネットワークを構成する層の配置やパラメータ値)に基づいて決定される。そのため、情報処理装置1は、これらの情報から、ニューラルネットワークにおいて認識または学習が行われる際の演算量を算出する。そして、情報処理装置1は、算出した演算量を用いて、認識または学習が行われる際の演算時間を算出する。
これにより、情報処理装置1は、ニューラルネットワークにおいて入力データの認識または学習を実際に行うことなく、入力データの認識または学習に要する時間(見積り時間)を容易に取得することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図7から図10は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。また、図11から図16は、第1の実施の形態の詳細を説明する図である。図11から図16を参照しながら、図7から図10に示す第1の実施の形態の詳細について説明を行う。
[ニューラルネットワークの具体例]
初めに、入力データを学習させるニューラルネットワークの具体例について説明を行う。図11は、ニューラルネットワークの具体例について説明する図である。なお、図11は、ニューラルネットワークにおいて入力データの認識が行われる場合を説明する図である。
図11に示すニューラルネットワークは、1番目のConvolution layer(以下、conv1とも表記する)と、1番目のPooling layer(以下、pool1とも表記する)と、2番目のConvolution layer(以下、conv2とも表記する)とを含んでいる。また、図11に示すニューラルネットワークは、2番目のPooling layer(以下、pool2とも表記する)と、1番目のFully−connect layer(以下、fc1とも表記する)と、2番目のFully−connect layer(以下、fc2とも表記する)とから構成されている。
具体的に、図11に示すニューラルネットワークにおいてデータDT0(ニューラルネットワークに対する入力データ)の学習が行われる場合、conv1は、データDT0に対して畳み込み演算を行うことにより、出力データとしてデータDT1を出力する。そして、pool1は、データDT1の特徴の選別や集約を行うことにより、出力データとしてデータDT2を出力する。
続いて、conv2は、データDT2に対して畳み込み演算を行うことにより、出力データとしてデータDT3を出力する。そして、pool2は、データDT3の特徴の選別や集約を行うことにより、出力データとしてデータDT4を出力する。
その後、fc1は、活性化関数を用いることによってデータDT4を集約することにより、出力データとしてデータDT5を出力する。そして、fc2は、活性化関数を用いることによってデータDT5を集約することにより、出力データとしてデータDT6を出力する。
なお、ニューラルネットワークに対する入力データの学習では、入力データの認識において実際に出力された出力データ(例えば、データDT6)と、出力データとして期待されていたデータとの差分に基づき、fc2からConv1までの各層を連結するネットワークの全ての重みの調整が行われる。
[演算時間算出処理の詳細のフローチャート]
次に、第1の実施の形態における演算時間算出処理の詳細のフローチャートについて説明を行う。図7から図10は、第1の実施の形態における演算時間算出処理の詳細を説明するフローチャートである。
[情報記憶処理]
初めに、演算時間算出処理のうち、入力データの演算を行うために必要な情報を情報格納領域130に記憶する処理(以下、情報記憶処理)について説明を行う。図7は、情報記憶処理を説明するフローチャートである。
情報処理装置1の情報受信部111は、図7に示すように、例えば、利用者が操作端末3を介して送信した各種情報を受信するまで待機する(S11のNO)。具体的に、情報受信部111は、ネットワーク情報131、パラメータ情報132、バッチサイズ情報133、入力サイズ情報134、処理性能情報135及び実行効率情報136のいずれかを受信するまで待機する。なお、バッチサイズ情報133は、演算を同時に行うことが可能な入力データのデータ数を示す情報であり、実行効率情報136は、入力データの演算を行う際に所定のライブラリを用いた場合における演算の実行効率を示す情報である。また、ライブラリは、入力データの認識または学習が行われる際に種々の目的に応じて実行されるプログラム群である。そのため、実行効率情報136が示す値は、入力データの演算を行う際に用いられるライブラリの種類に応じて決定される。
そして、各種情報を受信した場合(S11のYES)、情報処理装置1の情報管理部112は、S11の処理で受信した各種情報を情報格納領域130に記憶する(S12)。以下、ネットワーク情報131、パラメータ情報132、バッチサイズ情報133及び入力サイズ情報134の具体例について説明を行う。
[ネットワーク情報の具体例]
初めに、ネットワーク情報131の具体例について説明を行う。図12は、ネットワーク情報131の具体例を説明する図である。
図12に示すネットワーク情報131は、ネットワーク情報131に含まれる各情報を識別する「No」と、各層の識別情報が設定される「layer」と、各層の種類が設定される「type」と、各層の直前に演算を行う層の識別情報が設定される「bottom」とを項目として有する。なお、図12から図16に示す例において、「layer」が「mnist」である情報は、ニューラルネットワークに対して入力される入力データに対応する情報であるものとして説明を行う。また、図12から図16に示す例において、「layer」が「mnist」である情報以外の情報は、ニューラルネットワークを構成する各層に対応する情報であるものとして説明を行う。
具体的に、図12に示すネットワーク情報131において、「No」が「1」である情報には、「layer」として「mnist」が設定され、「type」として「Data」が設定され、「bottom」として、情報が存在しないことを示す「−」が設定されている。
また、図12に示すネットワーク情報131において、「No」が「2」である情報には、「layer」として「conv1」が設定され、「type」として「Convolution」が設定され、「bottom」として「mnist」が設定されている。さらに、図12に示すネットワーク情報131において、「No」が「3」である情報には、「layer」として「pool1」が設定され、「type」として「Pooling」が設定され、「bottom」として「conv1」が設定されている。図12に含まれる他の情報についての説明は省略する。
[パラメータ情報の具体例]
次に、パラメータ情報132の具体例について説明を行う。図13は、パラメータ情報132の具体例を説明する図である。
図13に示すパラメータ情報132は、パラメータ情報132に含まれる各情報を識別する「No」と、各層の識別情報が設定される「layer」と、各層で用いられるカーネルのサイズが設定される「kernel」と、パッディング数が設定される「pad」と、ストライド数が設定される「stride」とを項目として有する。
具体的に、図13に示すパラメータ情報132において、「No」が「1」である情報には、「layer」として「mnist」が設定され、「kernel」として「1」が設定され、「pad」として「0」が設定され、「stride」として「1」が設定されている。また、図13に示すパラメータ情報132において、「No」が「2」である情報には、「layer」として「conv1」が設定され、「kernel」として「5」が設定され、「pad」として「0」が設定され、「stride」として「1」が設定されている。図13に含まれる他の情報についての説明は省略する。
[バッチサイズ情報の具体例]
次に、バッチサイズ情報133の具体例について説明を行う。図14は、バッチサイズ情報133の具体例を説明する図である。
図14に示すバッチサイズ情報133は、バッチサイズ情報133に含まれる各情報を識別する「No」と、各層の識別情報が設定される「layer」と、各層において同時に演算が行われるデータ数が設定される「batch」とを項目として有する。
具体的に、図14に示すバッチサイズ情報133において、「No」が「1」である情報には、「layer」として「mnist」が設定され、「batch」として「64」が設定されている。また、図14に示すバッチサイズ情報133において、「No」が「2」である情報には、「layer」として「conv1」が設定され、「batch」として「64」が設定されている。図14に含まれる他の情報については説明を省略する。
[入力サイズ情報の具体例]
次に、入力サイズ情報134の具体例について説明を行う。図15は、入力サイズ情報134の具体例を説明する図である。
図15に示す入力サイズ情報134は、入力サイズ情報134に含まれる各情報を識別する「No」と、各層の識別情報が設定される「layer」と、各層におけるチャネル数が設定される「channel」と、入力データの幅のサイズが設定される「width」と、入力データの高さのサイズが設定される「height」とを項目として有する。
具体的に、図15に示す入力サイズ情報134において、「No」が「1」である情報には、「layer」として「mnist」が設定され、「channel」として「1」が設定され、「width」として「28」が設定され、「height」として「28」が設定されている。また、図15に示す入力サイズ情報134において、「No」が「2」である情報には、「layer」として「conv1」が設定され、「channel」として「20」が設定され、「width」として「24」が設定され、「height」として「24」が設定されている。図15に含まれる他のデータについての説明は省略する。
[演算時間算出処理の詳細]
次に、演算時間算出処理の詳細について説明を行う。図8から図10は、演算時間算出処理の詳細を説明するフローチャートである。
情報処理装置1の情報取得部113は、図8に示すように、処理開始タイミングまで待機する(S21のNO)。
そして、処理開始タイミングになった場合(S21のYES)、情報取得部113は、情報格納領域130に記憶されたネットワーク情報131と、パラメータ情報132と、バッチサイズ情報133、入力サイズ情報134とを取得する(S22)。
続いて、情報処理装置1の演算量算出部114は、S22の処理で取得したネットワーク情報131に対応するニューラルネットワークに含まれる層を、例えば、演算が行われる順序が早い順に1つ特定する(S23)。具体的に、演算量算出部114は、例えば、図12で説明したネットワーク情報131を参照し、「No」に設定された情報が「2」以降である情報(ニューラルネットワークに含まれる各層に対応する情報)を、「No」に設定された情報が小さい順に1つ特定する。
そして、演算量算出部114は、S23の処理で特定した層の前に演算が行われた層を特定する(S24)。具体的に、図12で説明したネットワーク情報131に含まれる情報のうち、S23の処理において特定された情報が「conv1」に対応する情報(「No」が「2」である情報)であった場合、演算量算出部114は、S24の処理において、「mnist」に対応する情報(「No」が「1」である情報)を特定する。
次に、演算量算出部114は、図9に示すように、S23の処理で特定した層において行われる演算の種類を1つ特定する(S31)。
そして、演算量算出部114は、S22の処理で取得したパラメータ情報132のうち、S23の処理で特定した層に対応するパラメータ情報132と、S22の処理で取得したバッチサイズ情報133のうち、S23の処理で特定した層に対応するバッチサイズ情報と、S22の処理で取得した入力サイズ情報134のうち、S23の処理で特定した層に対応する入力サイズ情報134とを特定する。さらに、演算量算出部114は、特定した情報を、S31の処理で特定した演算の種類に対応する式に代入することにより、S23の処理で特定した層における演算量のうち、S31の処理で特定した演算の種類に対応する演算量を算出する(S32)。
なお、S31の処理で特定した演算の種類に対応する式は、例えば、利用者によって情報格納領域130に予め記憶されるものであってよい。
続いて、演算量算出部114は、例えば、S32の処理で算出した演算量を、演算量情報137の一部として情報格納領域130に記憶する(S33)。また、演算量算出部114は、例えば、S32の処理で算出した演算量の累計を、演算量累積情報138として情報格納領域130に記憶する(S34)。
これにより、情報処理装置1は、ニューラルネットワークにおいて入力データの認識または学習が行われる際の演算量を算出することが可能になる。
その後、演算量算出部114は、S31の処理において全種類の演算を特定しているか否かの判定を行う(S35)。
その結果、S31の処理において全種類の演算を特定していないと判定した場合(S35のNO)、演算量算出部114は、S31以降の処理を再度行う。
一方、S31の処理において全種類の演算を特定していると判定した場合(S35のYES)、演算量算出部114は、図10に示すように、S23の処理においてニューラルネットワークに含まれる全ての層を特定しているか否かの判定を行う(S41)。
その結果、S23の処理において全ての層を特定していないと判定した場合(S41のNO)、演算量算出部114は、S23以降の処理を再度行う。
一方、S23の処理において全ての層を特定していると判定した場合(S41のYES)、情報処理装置1の演算時間算出部115は、S42以降の処理を行う。以下、S23からS41の処理の具体例について説明を行う。なお、以下、入力データの認識が行われる際の演算時間の算出が行われている場合における具体例について説明を行う。
[S23からS41の処理の具体例(1)]
例えば、S23の処理において特定された層がConvolution layerであって、S31の処理において特定された演算の種類が加算である場合、演算量算出部114は、S32の処理において、以下の式(1)及び(2)を用いて演算量の算出を行う。
r=(x+2p−k)/S+1 ・・・(1)
演算量=r×r×M×k×k×N+r×r×M ・・・(2)
式(1)及び(2)において、xは、S23の処理において特定された層に対する入力データの幅(高さ)のサイズであり、pは、S23の処理において特定された層におけるパッディング数であり、kは、S23の処理において特定された層におけるカーネルサイズであり、Sは、S23の処理において特定された層におけるフィルタのストライド数である。
また、rは、S23の処理において特定された層における出力データの幅(高さ)のサイズであり、Nは、S23の処理において特定された層におけるフィルタのチャネル数であり、Mは、S23の処理において特定された層における出力データのチャネル数である。
具体的に、図15で説明した入力サイズ情報134における「layer」が「conv1」である情報(「No」が「2」である情報)には、「channel」として「20」が設定され、「width」として「24」が設定され、「height」として「24」が設定されている。また、図15で説明した入力サイズ情報134における「layer」が「mnist」である情報(「No」が「2」である情報の1つ前の情報)には、「channel」として「1」が設定されている。さらに、図13で説明したパラメータ情報132における「layer」が「conv1」である情報(「No」が「2」である情報)には、「kernel」として「5」が設定されており、「pad」として「0」が設定されており、「stride」として「1」が設定されている。
そのため、演算量算出部114は、S23の処理において特定された層がconv1であって、S31の処理において特定された演算の種類が加算である場合、式(1)及び(2)におけるxが24であり、pが0であり、kが5であり、Sが1であり、rが24であり、Nが1であり、Mが20であると特定する。したがって、演算量算出部114は、この場合、演算回数(演算量)として「299,520(回)」を算出する。
さらに、図14で説明したバッチサイズ情報133における「layer」が「conv1」である情報(「No」が「2」である情報)には、「batch」として「64」が設定されている。そのため、演算量算出部114は、算出した「299,520(回)」と「64」とを乗算して算出した値である「19,169,280(回)」を、S23の処理において特定された層がconv1であって、S31の処理において特定された演算の種類が加算である場合の演算回数(演算量)として算出する。
その後、演算量算出部114は、算出した「19,169,280(回)」を演算量情報137の一部として情報格納領域130に記憶する。以下、演算量情報137の具体例について説明を行う。
[演算量情報の具体例]
図16は、演算量情報137の具体例を説明する図である。図16に示す演算量情報137は、演算量情報137に含まれる各情報を識別する「No」と、各層の識別情報が設定される「layer」と、加算を行う演算の演算量が設定される「add」と、乗算を行う演算の演算量が設定される「mul」と、比較を行う演算の演算量が設定される「cmp」とを項目として有する。
具体的に、S23の処理において特定された層がconv1であって、S31の処理において特定された演算の種類が加算である場合の演算回数(演算量)として「19,169,280(回)」が算出された場合、演算量算出部114は、図16に示すように、「layer」が「conv1」である情報(「No」が「2」である情報)の「add」に、「19,169,280(回)」を設定する。図16に含まれる他の情報についての説明は省略する。
[S23からS41の処理の具体例(2)]
続いて、例えば、S23の処理において特定された層がConvolution layerであって、S31の処理において特定された演算の種類が乗算である場合、演算量算出部114は、S32の処理において、以下の式(3)を用いて演算量の算出を行う。
演算量=r×r×M×k×k×N ・・・(3)
具体的に、演算量算出部114は、S23の処理において特定された層がconv1であって、S31の処理において特定された演算の種類が乗算である場合、上記の場合と同様に、式(3)におけるkが5であり、rが24であり、Nが1であり、Mが20であると特定する。そのため、演算量算出部114は、この場合、演算回数(演算量)として「288,000(回)」を算出する。
さらに、図14で説明したバッチサイズ情報133における「layer」が「conv1」である情報(「No」が「2」である情報)には、「batch」として「64」が設定されている。そのため、演算量算出部114は、算出した「288,000(回)」と「64」とを乗算して算出した値である「18,432,000(回)」を、S23の処理において特定された層がconv1であって、S31の処理において特定された演算の種類が乗算である場合の演算回数(演算量)として算出する。
その後、演算量算出部114は、図16に示すように、「layer」が「conv1」である情報(「No」が「2」である情報)の「mul」に、算出した「18,432,000(回)」を設定する。
[S23からS41の処理の具体例(3)]
続いて、例えば、S23の処理において特定された層がPooling layerであって、S31の処理において特定された演算の種類が比較である場合、演算量算出部114は、S32の処理において、以下の式(4)を用いて演算量の算出を行う。なお、以下、Pooling layerにおいてMAXPoolingが行われるものとして説明を行う。
演算量=a×a×C×b×b ・・・(4)
式(4)において、aは、S23の処理において特定された層に対する入力データの幅(高さ)のサイズであり、Cは、S23の処理において特定された層における出力データのチャネル数であり、bは、MAXPoolingが行われる範囲の幅(高さ)のサイズである。
具体的に、図15で説明した入力サイズ情報134における「layer」が「pool1」である情報(「No」が「3」である情報)には、「channel」として「20」が設定され、「width」として「12」が設定され、「height」として「12」が設定されている。また、図13で説明したパラメータ情報132における「layer」が「pool1」である情報(「No」が「3」である情報)には、「kernel」として「2」が設定されている。
そのため、演算量算出部114は、S23の処理において特定された層がpool1であって、S31の処理において特定された演算の種類が比較である場合、式(4)におけるaが12であり、Cが20であり、bが2であると特定する。したがって、演算量算出部114は、この場合、演算回数(演算量)として「11,520(回)」を算出する。
さらに、図14で説明したバッチサイズ情報133における「layer」が「pool1」である情報(「No」が「3」である情報)には、「batch」として「64」が設定されている。そのため、演算量算出部114は、算出した「11,520(回)」と「64」とを乗算して算出した値である「737,280(回)」を、S23の処理において特定された層がpool1であって、S31の処理において特定された演算の種類が比較である場合の演算回数(演算量)として算出する。
その後、演算量算出部114は、図16に示すように、「layer」が「pool1」である情報(「No」が「3」である情報)の「cmp」に、算出した「737,280(回)」を設定する。
[S23からS41の処理の具体例(4)]
続いて、例えば、S23の処理において特定された層がFully−connect layerであって、S31の処理において特定された演算の種類が加算である場合、演算量算出部114は、S32の処理において、以下の式(5)を用いて演算量の算出を行う。
演算量=I×O+O ・・・(5)
式(5)において、Iは、入力層のユニットの数であり、Oは、出力層のユニットの数である。
具体的に、図15で説明した入力サイズ情報134における「layer」が「fc1」である情報(「No」が「6」である情報)には、「channel」として「100」が設定されている。また、図15で説明した入力サイズ情報134における「layer」が「pool2」である情報(「No」が「fc1」である情報の1つ前の情報)には、「channel」として「50」が設定され、「width」として「4」が設定され、「height」として「4」が設定されている。
そのため、演算量算出部114は、S23の処理において特定された層がfc1であって、S31の処理において特定された演算の種類が加算である場合、式(5)におけるIが800であり、Oが500であると特定する。したがって、演算量算出部114は、この場合、演算回数(演算量)として「400,500(回)」を算出する。
さらに、図14で説明したバッチサイズ情報133における「layer」が「fc1」である情報(「No」が「6」である情報)には、「batch」として「64」が設定されている。そのため、演算量算出部114は、算出した「400,500(回)」と「64」とを乗算して算出した値である「25,632,000(回)」を、S23の処理において特定された層がfc1であって、S31の処理において特定された演算の種類が加算である場合の演算回数(演算量)として算出する。
その後、演算量算出部114は、図16に示すように、「layer」が「fc1」である情報(「No」が「6」である情報)の「add」に、算出した「25,632,000(回)」を設定する。
[S23からS41の処理の具体例(5)]
続いて、例えば、S23の処理において特定された層がFully−connect layerであって、S31の処理において特定された演算の種類が乗算である場合、演算量算出部114は、S32の処理において、以下の式(6)を用いて演算量の算出を行う。
演算量=I×O ・・・(6)
具体的に、演算量算出部114は、S23の処理において特定された層がfc1であって、S31の処理において特定された演算の種類が乗算である場合、上記の場合と同様に、式(6)におけるIが800であり、Oが500であると特定する。そのため、演算量算出部114は、この場合、演算回数(演算量)として「400,000(回)」を算出する。
さらに、図14で説明したバッチサイズ情報133における「layer」が「fc2」である情報(「No」が「7」である情報)には、「batch」として「64」が設定されている。そのため、演算量算出部114は、算出した「400,000(回)」と「64」とを乗算して算出した値である「25,600,000(回)」を、S23の処理において特定された層がfc1であって、S31の処理において特定された演算の種類が乗算である場合の演算回数(演算量)として算出する。
その後、演算量算出部114は、図16に示すように、「layer」が「fc1」である情報(「No」が「6」である情報)の「mul」に、算出した「25,600,000(回)」を設定する。
図10に戻り、演算時間算出部115は、情報格納領域130に記憶された処理性能情報135と、実行効率情報136とを取得する(S42)。
そして、演算時間算出部115は、例えば、情報格納領域に記憶された演算量累積情報138が示す値を、S42の処理で取得した処理性能情報135で除算する(S43)。
具体的に、図16で説明した演算量情報137における「add」、「mul」及び「cmp」に設定された情報の合計は、約2,895,000,000(回)である。そのため、演算時間算出部115は、S34の処理において、例えば、「2,895,000,000(回)」を演算量累積情報138として情報格納領域130に記憶する。
したがって、例えば、1秒間に100,000(回)の演算を行うことが可能なコンピュータの情報が処理性能情報135に含まれている場合、演算時間算出部115は、S42の処理において、例えば、2,895,000,000(回)を100,000(回)で除算することにより、2,895(秒)を算出する。
その後、演算時間算出部115は、S43の処理で算出した値を、S42の処理で取得した実行効率情報136が示す値で除算する(S44)。
具体的に、例えば、実行効率情報136が80(%)を示している場合、演算時間算出部115は、S43の処理で算出した2,895(秒)を0.8で除算することにより、3,619(秒)を算出する。
すなわち、演算時間算出部115は、情報格納領域130に記憶された演算量累積情報138が示す演算量及び処理性能情報135が示す処理能力だけでなく、ニューラルネットワークに対する入力データの認識または学習において用いられるライブラリに関する情報を反映される形で演算時間の算出を行う。
これにより、情報処理装置1は、ニューラルネットワークに対する入力データの認識または演算の所要時間をより正確に算出することが可能になる。
なお、演算時間算出部115は、S43の処理において、演算量情報137に含まれる演算量のそれぞれを、処理性能情報135が示す値で除算するものであってもよい。そして、演算時間算出部115は、S44の処理において、算出された値のそれぞれを、実行効率情報136が示す値で除算するものであってよい。また、演算時間算出部115は、この場合、算出された値のそれぞれを、実行効率情報136が示す値のうちの各演算の種類に対応する値(演算の種類ごとに異なる値)で除算するものであってもよい。
そして、情報処理装置1の情報送信部116は、例えば、S44の処理で算出した値を操作端末3に送信する(S45)。
このように、情報処理装置1は、ニューラルネットワークを構成する1以上の層の配置を示すネットワーク情報131と、各層において用いられるパラメータ情報132と、入力データのサイズを含む入力サイズ情報134と、所定のコンピュータの処理性能を示す処理性能情報135とを取得する。
そして、情報処理装置1は、取得したネットワーク情報131と、パラメータ情報132と、入力サイズ情報134とに基づいて、入力データの入力に応じてニューラルネットワークにおいて行われる演算の演算量を算出する。その後、情報処理装置1は、算出した演算量と、取得した処理性能情報135とに基づいて、所定のコンピュータにおいて入力データの学習が行われる場合の演算時間を算出する。
すなわち、ニューラルネットワークにおいて認識または学習が行われる場合の演算量は、入力データのサイズやニューラルネットワークの構造(ニューラルネットワークを構成する層の配置やパラメータ値)に基づいて決定される。そのため、情報処理装置1は、これらの情報から、ニューラルネットワークにおいて認識または学習が行われる際の演算量を算出する。そして、情報処理装置1は、算出した演算量を用いて、学習または演算が行われる際の演算時間を算出する。
これにより、情報処理装置1は、ニューラルネットワークにおいて入力データの認識または学習を実際に行うことなく、入力データの認識または学習に要する時間(見積り時間)を容易に取得することが可能になる。
なお、図11に示す例において、ニューラルネットワークが、Convolution layerと、Pooling layerと、Fully−connect layerとを有する場合について説明を行ったが、本実施の形態における演算時間算出処理は、他の層を含むニューラルネットワークに対しても適用可能である。
具体的に、情報処理装置1は、例えば、ReLU、SoftMax、Dropout、正規化層及びElement−wiseのうちの少なくとも1つを有するニューラルネットワークに対して、本実施の形態における演算時間算出処理を実行するものであってもよい。
以上の実施の形態をまとめると、以下の付記の通りである。
(付記1)
ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、
取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出し、
算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する、
ことを特徴とする演算時間算出方法。
(付記2)
付記1において、
前記取得する工程では、前記1以上の層ごとに、各層において行われる演算量の算出に用いられる式を取得し、
前記演算量を算出する工程では、
前記配置を示す情報を参照し、前記1以上の層ごとに、各層の直前に演算が行われる特定の層を特定し、
前記1以上の層ごとに、前記入力データのサイズまたは前記特定の層によって演算が行われた後の前記入力データのサイズと、各層に対応する前記パラメータとを、取得した前記式に代入することにより、前記1以上の層ごとの前記演算量を算出する、
ことを特徴とする演算時間算出方法。
(付記3)
付記2において、
前記1以上の層ごとの演算量を算出する工程では、前記1以上の層ごとであって演算の種類ごとに、前記演算量を算出する、
ことを特徴とする演算時間算出方法。
(付記4)
付記1において、
前記演算時間を算出する工程では、算出した前記演算量を前記処理性能で除算することにより、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間の算出を行う、
ことを特徴とする演算時間算出方法。
(付記5)
付記1において、
前記取得する工程では、前記演算を行う際に所定のライブラリを用いた場合における前記演算の実行効率を取得し、
前記演算時間を算出する工程では、前記演算量を前記処理性能で除算することにより算出した値を、取得した前記実行効率で除算することにより、前記演算時間の算出を行う、
ことを特徴とする演算時間算出方法。
(付記6)
付記1において、
前記入力データは、画像データである、
ことを特徴とする演算時間算出方法。
(付記7)
付記1において、
前記演算量を算出する工程では、前記ニューラルネットワークにおいて前記入力データの認識が行われる際の演算量の算出を行う、
ことを特徴とする演算時間算出方法。
(付記8)
付記1において、
前記演算量を算出する工程では、前記ニューラルネットワークに対する前記入力データの学習が行われる際の演算量の算出を行う、
ことを特徴とする演算時間算出方法。
(付記9)
ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得する情報取得部と、
取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出する演算量算出部と、
算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する演算時間算出部と、を有する、
ことを特徴とする演算時間算出装置。
(付記10)
付記9において、
前記情報取得部は、前記1以上の層ごとに、各層において行われる演算量の算出に用いられる式を取得し、
前記演算量算出部は、
前記配置を示す情報を参照し、前記1以上の層ごとに、各層の直前に演算が行われる特定の層を特定し、
前記1以上の層ごとに、前記入力データのサイズまたは前記特定の層によって演算が行われた後の前記入力データのサイズと、各層に対応する前記パラメータとを、取得した前記式に代入することにより、前記1以上の層ごとの前記演算量を算出する、
ことを特徴とする演算時間算出装置。
(付記11)
付記10において、
前記演算量算出部は、前記1以上の層ごとであって演算の種類ごとに、前記演算量を算出する、
ことを特徴とする演算時間算出装置。
(付記12)
ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、
取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出し、
算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する、
処理をコンピュータに実行させることを特徴とする演算時間算出プログラム。
(付記13)
付記12において、
前記取得する処理では、前記1以上の層ごとに、各層において行われる演算量の算出に用いられる式を取得し、
前記演算量を算出する処理では、
前記配置を示す情報を参照し、前記1以上の層ごとに、各層の直前に演算が行われる特定の層を特定し、
前記1以上の層ごとに、前記入力データのサイズまたは前記特定の層によって演算が行われた後の前記入力データのサイズと、各層に対応する前記パラメータとを、取得した前記式に代入することにより、前記1以上の層ごとの前記演算量を算出する、
ことを特徴とする演算時間算出プログラム。
(付記14)
付記12において、
前記1以上の層ごとの前記演算量を算出する処理では、前記1以上の層ごとであって演算の種類ごとに、前記演算量を算出する、
ことを特徴とする演算時間算出プログラム。
(付記15)
ニューラルネットワークを学習する複数の物理マシンを有し、
前記複数の物理マシンのうちの少なくとも1つは、
前記ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得する情報取得部と、
取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出する演算量算出部と、
算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する演算時間算出部と、を有する、
ことを特徴とする演算時間算出システム。
(付記16)
付記15において、
前記情報取得部は、前記1以上の層ごとに、各層において行われる演算量の算出に用いられる式を取得し、
前記演算量算出部は、
前記配置を示す情報を参照し、前記1以上の層ごとに、各層の直前に演算が行われる特定の層を特定し、
前記1以上の層ごとに、前記入力データのサイズまたは前記特定の層によって演算が行われた後の前記入力データのサイズと、各層に対応する前記パラメータとを、取得した前記式に代入することにより、前記1以上の層ごとの前記演算量を算出する、
ことを特徴とする演算時間算出システム。
(付記17)
付記15において、
前記演算量算出部は、
前記1以上の層ごとであって演算の種類ごとに、前記演算量を算出する、
ことを特徴とする演算時間算出システム。
1:情報処理装置 2:記憶装置
3:操作端末 101:CPU
102:メモリ 103:I/Oユニット
104:記憶媒体 130:情報格納領域

Claims (10)

  1. ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、
    取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出し、
    算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する、
    ことを特徴とする演算時間算出方法。
  2. 請求項1において、
    前記取得する工程では、前記1以上の層ごとに、各層において行われる演算量の算出に用いられる式を取得し、
    前記演算量を算出する工程では、
    前記配置を示す情報を参照し、前記1以上の層ごとに、各層の直前に演算が行われる特定の層を特定し、
    前記1以上の層ごとに、前記入力データのサイズまたは前記特定の層によって演算が行われた後の前記入力データのサイズと、各層に対応する前記パラメータとを、取得した前記式に代入することにより、前記1以上の層ごとの前記演算量を算出する、
    ことを特徴とする演算時間算出方法。
  3. 請求項2において、
    前記1以上の層ごとの演算量を算出する工程では、前記1以上の層ごとであって演算の種類ごとに、前記演算量を算出する、
    ことを特徴とする演算時間算出方法。
  4. 請求項1において、
    前記演算時間を算出する工程では、算出した前記演算量を前記処理性能で除算することにより、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間の算出を行う、
    ことを特徴とする演算時間算出方法。
  5. 請求項1において、
    前記取得する工程では、前記演算を行う際に所定のライブラリを用いた場合における前記演算の実行効率を取得し、
    前記演算時間を算出する工程では、前記演算量を前記処理性能で除算することにより算出した値を、取得した前記実行効率で除算することにより、前記演算時間の算出を行う、
    ことを特徴とする演算時間算出方法。
  6. 請求項1において、
    前記演算量を算出する工程では、前記ニューラルネットワークにおいて前記入力データの認識が行われる際の演算量の算出を行う、
    ことを特徴とする演算時間算出方法。
  7. 請求項1において、
    前記演算量を算出する工程では、前記ニューラルネットワークに対する前記入力データの学習が行われる際の演算量の算出を行う、
    ことを特徴とする演算時間算出方法。
  8. ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得する情報取得部と、
    取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出する演算量算出部と、
    算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する演算時間算出部と、を有する、
    ことを特徴とする演算時間算出装置。
  9. ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得し、
    取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出し、
    算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する、
    処理をコンピュータに実行させることを特徴とする演算時間算出プログラム。
  10. ニューラルネットワークを学習する複数の物理マシンを有し、
    前記複数の物理マシンのうちの少なくとも1つは、
    前記ニューラルネットワークを構成する1以上の層の配置を示す情報と、前記1以上の層のそれぞれにおいて用いられるパラメータ値と、前記ニューラルネットワークに対する入力データのサイズと、所定のコンピュータの処理性能とを取得する情報取得部と、
    取得した前記配置を示す情報と、前記パラメータ値と、前記入力データのサイズとに基づいて、前記入力データの入力に応じて前記ニューラルネットワークにおいて行われる演算の演算量を算出する演算量算出部と、
    算出した前記演算量と、取得した前記処理性能とに基づいて、前記所定のコンピュータにおいて前記演算が行われる場合の演算時間を算出する演算時間算出部と、を有する、
    ことを特徴とする演算時間算出システム。
JP2017153948A 2017-08-09 2017-08-09 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム Pending JP2019032729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017153948A JP2019032729A (ja) 2017-08-09 2017-08-09 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017153948A JP2019032729A (ja) 2017-08-09 2017-08-09 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム

Publications (1)

Publication Number Publication Date
JP2019032729A true JP2019032729A (ja) 2019-02-28

Family

ID=65524365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017153948A Pending JP2019032729A (ja) 2017-08-09 2017-08-09 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム

Country Status (1)

Country Link
JP (1) JP2019032729A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522837A (zh) * 2020-04-23 2020-08-11 北京百度网讯科技有限公司 用于确定深度神经网络的耗时的方法和装置
JP6749530B1 (ja) * 2020-02-04 2020-09-02 三菱電機株式会社 構造変換装置、構造変換方法及び構造変換プログラム
KR102506622B1 (ko) * 2022-04-01 2023-03-07 리벨리온 주식회사 뉴럴 프로세싱 장치의 퍼포먼스 측정 방법 및 퍼포먼스 측정 장치
US11734577B2 (en) 2019-06-05 2023-08-22 Samsung Electronics Co., Ltd Electronic apparatus and method of performing operations thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734577B2 (en) 2019-06-05 2023-08-22 Samsung Electronics Co., Ltd Electronic apparatus and method of performing operations thereof
JP6749530B1 (ja) * 2020-02-04 2020-09-02 三菱電機株式会社 構造変換装置、構造変換方法及び構造変換プログラム
WO2021156941A1 (ja) * 2020-02-04 2021-08-12 三菱電機株式会社 構造変換装置、構造変換方法及び構造変換プログラム
CN111522837A (zh) * 2020-04-23 2020-08-11 北京百度网讯科技有限公司 用于确定深度神经网络的耗时的方法和装置
KR102506622B1 (ko) * 2022-04-01 2023-03-07 리벨리온 주식회사 뉴럴 프로세싱 장치의 퍼포먼스 측정 방법 및 퍼포먼스 측정 장치

Similar Documents

Publication Publication Date Title
JP2019032729A (ja) 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム
CN104364805A (zh) 信息处理器、信息处理方法和程序
CN113687897A (zh) 用于向计算设备的用户前摄性地提供推荐的系统和方法
JP6052278B2 (ja) 動作判定装置、動作判定システムおよび動作判定方法
JP6718500B2 (ja) 生産システムにおける出力効率の最適化
CN103885968B (zh) 一种用于提供推荐信息的方法和装置
CN110210558B (zh) 评估神经网络性能的方法及装置
CN109685805B (zh) 一种图像分割方法及装置
CN109643087B (zh) 用于选择用于设备操作安全的可控参数的系统和方法
CN112131274B (zh) 时间序列异常点的检测方法、装置、设备及可读存储介质
CN112910890A (zh) 基于时间卷积网络的匿名网络流量指纹识别方法及设备
CN109542093A (zh) 一种处理数据的方法和装置
CN114003306B (zh) 一种显存优化方法、装置、设备及存储介质
JP2020027644A (ja) モータ励起信号検索方法及び電子機器
CN113225435B (zh) 预估电话接通概率的方法、装置和可读存储介质
JP4997179B2 (ja) 画像処理装置、方法およびプログラム
CN115801557A (zh) 故障根因定位方法、装置及可读存储介质
JP2020198135A (ja) ハイパーパラメータチューニング方法、装置及びプログラム
US20200160888A1 (en) System and method for generating a compression invariant motion timeline
CN111242309A (zh) 形成机器学习应用系统的方法、装置及电子设备
US20190275672A1 (en) Information processing apparatus and information processing method
CN111681170B (zh) 一种图像处理方法、装置及电子设备
JP7470569B2 (ja) 推定モデル構築装置
CN108509984A (zh) 激活值量化训练方法及装置
JP7315738B2 (ja) 携帯通信システム向けサービス性能としてのマシーンラーニング最適化法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803