[發明專利]運算方法及裝置在審
| 申請號: | 201910318642.9 | 申請日: | 2019-04-19 |
| 公開(公告)號: | CN111832714A | 公開(公告)日: | 2020-10-27 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 上海寒武紀信息科技有限公司 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063 |
| 代理公司: | 北京林達劉知識產權代理事務所(普通合伙) 11277 | 代理人: | 劉新宇 |
| 地址: | 201306 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 運算 方法 裝置 | ||
1.一種神經網絡運算方法,其特征在于,包括:
獲取待執行的神經網絡運算,所述神經網絡運算包括多個運算操作;
基于所述多個運算操作劃分出滿足第一要求的多個運算子圖,每個所述運算子圖包括至少一個運算操作,所述第一要求包括劃分出的多個運算子圖中不存在孤立的運算子圖,并且劃分出的運算子圖在與其余的運算操作和運算子圖不形成循環運算的情況下,能夠包括最多的運算操作;
基于劃分的所述多個運算子圖并行執行所述神經網絡運算。
2.根據權利要求1所述的方法,其特征在于,所述基于所述多個運算操作劃分出滿足第一要求的多個運算子圖,包括:
基于所述神經網絡運算的運算順序,將所述神經網絡運算的第一個運算操作或者最后一個運算操作確定為初始子圖,按照其余運算操作與該初始子圖的連接順序,依次向所述初始子圖中加入運算操作;
如果將待加入的運算操作加入至所述初始子圖所形成的新的子圖與其他運算操作以及運算子圖不存在循環運算,則將該待加入的運算子圖加入至所述初始子圖中形成新的子圖,并繼續向所述新的子圖中加入下一運算操作,直至將待加入的運算操作加入至新的子圖后所形成的新的子圖與其他運算操作或者運算子圖之間存在循環運算,則終止該新的子圖的擴展,并將未加入該形成循環運算的待加入運算子圖的子圖作為一個滿足第一要求的第一運算子圖;
將與得到的第一運算子圖連接的下一個運算操作作為下一個初始子圖,并基于該下一個初始子圖確定其余滿足第一要求的第一運算子圖;
基于各第一運算子圖確定劃分的所述多個運算子圖。
3.根據權利要求2所述的方法,其特征在于,在所述基于所述多個運算操作劃分出滿足第一要求的多個運算子圖之前,所述方法還包括:
將所述神經網絡運算的多個運算操作中通過加速器以外的電子器件執行的運算操作,作為一個第一運算子圖。
4.根據權利要求2或3所述的方法,其特征在于,所述基于所述多個運算操作劃分出滿足第一要求的多個運算子圖,還包括:
將所述多個第一運算子圖進一步劃分成滿足第二要求的多個第二運算子圖,所述第二要求包括劃分出的第二運算子圖中的各運算操作的輸入路徑和輸出路徑最多為一個。
5.根據權利要求4所述的方法,其特征在于,將所述多個第一運算子圖進一步劃分成滿足第二要求的多個第二運算子圖,包括:
確定所述神經網絡運算中各運算操作的輸入路徑的數量;
如果運算操作的輸入路徑的數量大于1個,執行該輸入路徑的剪枝操作。
6.根據權利要求4或5所述的方法,其特征在于,所述將所述多個第一運算子圖進一步劃分成滿足第二要求的多個第二運算子圖,包括:
確定所述神經網絡運算中各運算操作的輸出路徑的數量;
如果運算操作的輸出路徑的數量大于1個,執行該輸出路徑的剪枝操作。
7.一種神經網絡加速器,其特征在于,包括:
處理器,其用于執行如權利要求1-6中任意一項所述的方法。
8.一種機器學習芯片,其特征在于,所述機器學習芯片用于執行如權利要求1-6中任意一項所述的方法。
9.一種電子設備,其特征在于,所述電子設備包括如所述權利要求8所述的芯片。
10.一種計算機可讀存儲介質,所述存儲介質中存儲有計算機程序指令,其特征在于,所述計算機程序指令被處理器執行時實現權利要求1至6中任意一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海寒武紀信息科技有限公司,未經上海寒武紀信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910318642.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種工件上料機構及使用該機構的導光柱自動組裝機
- 下一篇:動態隨機存取存儲器





