torch.profiler

什么是torch.profiler

PyTorch Profiler 是一個工具,它允許在訓練和推理期間收集性能指標。Profiler 的上下文管理器 API 可用于更好地了解哪些模型操作最昂貴,檢查它們的輸入形狀和調用堆棧,研究設備內核活動并可視化執行跟蹤。

性能指標:例如內存使用、CPU 和 GPU 使用、操作時間等。

profiler.profile

torch.profiler.profile(*, activities=None, schedule=None, on_trace_ready=None, record_shapes=False, profile_memory=False, with_stack=False, with_flops=False, with_modules=False, experimental_config=None, use_cuda=None)

API 的參數如下:

  • activities:要使用的活動組列表。支持的值為 torch.profiler.ProfilerActivity.CPU 和 torch.profiler.ProfilerActivity.CUDA。默認值為 ProfilerActivity.CPU 和 (如果可用) ProfilerActivity.CUDA。
  • schedule:一個可調用對象,它以步數 (int) 作為單個參數,并返回 ProfilerAction 值,該值指定在每個步驟執行的 profiler 操作。
  • on_trace_ready:一個可調用對象,它在 schedule 在 profiling 期間返回 - ProfilerAction.RECORD_AND_SAVE 時,會在每個步驟被調用。
  • record_shapes:是否保存操作的輸入形狀信息。
  • profile_memory:是否跟蹤張量內存分配/釋放。
  • with_stack:是否記錄操作的源信息 (文件和行號)。
  • with_flops:是否使用公式估計特定操作 (矩陣乘法和 2D 卷積) 的 FLOPs (浮點操作數)。
  • with_modules:是否記錄操作的調用堆棧中對應的模塊層次結構 (包括函數名)。例如,如果模塊 A 的 forward 調用了模塊 B 的 forward,其中包含一個 aten::add 操作,那么 aten::add 的模塊層次結構為 A.B。請注意,此功能目前僅支持 TorchScript 模型,不支持 eager 模式模型。
  • experimental_config:Kineto 庫功能使用的一組實驗性選項。請注意,不保證向后兼容性。
  • use_cuda:是否使用 CUDA。如果為 None,則會根據可用性自動選擇使用 CUDA 或 CPU。

示例

with torch.profiler.profile(activities=[torch.profiler.ProfilerActivity.CPU,torch.profiler.ProfilerActivity.CUDA,]
) as p:code_to_profile()
print(p.key_averages().table(sort_by="self_cuda_time_total", row_limit=-1))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35512.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35512.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35512.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

騰訊出品Pag動畫框架在Android端的使用-初級

Pag動畫框架作為一個第三方框架,它的優缺點與Lottie是相似,此處不過多贅述。如果你們的項目中打算用了,肯定是經過了一定的調研的。Pag動畫框架分幾個版本,有免費的有收費的。我們目前用的社區免費版,只用來展示Pag動畫…

項目實戰 — 消息隊列(8){網絡通信設計②}

目錄 一、客戶端設計 🍅 1、設計三個核心類 🍅 2、完善Connection類 🎄 讀取請求和響應、創建channel 🎄 添加掃描線程 🎄 處理不同的響應 🎄 關閉連接 🍅 3、完善Channel類 🎄 編…

廣州華銳互動:VR3D課程在線教育平臺為職業院校提供沉浸式的虛擬現實學習體驗

隨著科技的飛速發展,虛擬現實(VR)和增強現實(AR)技術已經逐漸滲透到我們生活的各個領域。其中,VR3D課程在線教育平臺作為一種新興的教育方式,正在逐漸改變我們的學習方式和體驗。本文將詳細介紹VR3D課程在線教育平臺的應用前景及特點。 VR3D課…

VFP現代物流企業管理系統的設計與實現

摘要: 隨著計算機技術的廣泛應用,在現代流通企業管理中引入計算機管理技術,成為一個值得深入研究的問題。 本文首先概要的論述了數據庫的有關知識與現狀。之后,對當代計算機數據庫技術的現狀,尤其是對關系型數據庫作了系統的描述。在此基礎上,論文重點對數據庫的開發環境 …

【設計模式】工廠模式

工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。 工廠模式提供了一種將對象的實例化過程封裝在工廠類中的方式。通過使用工廠模式,可以…

Mysql整理二 - 常見查詢語句面試題(附原表)

表結構,創建原表的代碼在最后 -- cid課程id; tid老師id; sid學生id; select * from t_mysql_course; select * from t_mysql_score; select * from t_mysql_student; select * from t_mysql_teacher; 1. 查詢" 01 “課程比” 02 "課程成績高的學生的信息…

uniapp軟鍵盤談起遮住輸入框和頭部被頂起的問題解決

推薦: pages.json中配置如下可解決頭部被頂起和表單被遮住的問題。 { "path": "pages/debug/protocol/tagWord", "style": { "app-plus": { "soft…

01.setup,reactive,ref,computed,watch學習---2023新版Vue3基礎入門到實戰項目

1.Vue3組合式 2.創建vue3項目 2.1認識create-vue create-vue是官方新的腳手架工具&#xff0c;vite下一代構建工具 node -v >16 npm init vuelatest 2.2 setup 原始寫法 <script> export default {//執行時機比beforeCreate早//獲取不到this//數據和函數必須ret…

Java實戰:高效提取PDF文件指定坐標的文本內容

前言 臨時接到一個緊急需要處理的事項。業務側一個同事有幾千個PDF文件需要整理&#xff1a;需要從文件中的指定位置獲取對應的編號和地址。 要的急&#xff0c;工作量大。所以就問到技術部有沒有好的解決方案。 問技術的話就只能寫個demo跑下了。 解決辦法 1. 研究下PDF文檔…

案例15 Spring Boot入門案例

1. 選擇Spring Initializr快速構建項目 ? 2. 設置項目信息 ? 3. 選擇依賴 ? 4. 設置項目名稱 ? 5. 項目結構 ? 6. 項目依賴 自動配置了Spring MVC、內置了Tomcat、配置了Logback(日志)、配置了JSON。 ? 7. 創建HelloController類 com.wfit.boot.hello目錄下創建HelloCo…

Less和Sass的原理和用法

一、原理 1.1 Less定義&#xff1a;是一種動態的樣式語言,使CSS變成一種動態的語言特性&#xff0c;如變量、繼承、運算、函數。Less既可以在客戶端上面運行(支持IE6以上版本、Webkit、Firefox),也可以在服務端運行(Node.js) 1.2 SaSS定義&#xff1a;是一種動態樣式語言&#…

開發過程中遇到的問題以及解決方法

鞏固基礎&#xff0c;砥礪前行 。 只有不斷重復&#xff0c;才能做到超越自己。 能堅持把簡單的事情做到極致&#xff0c;也是不容易的。 開發過程中遇到的問題以及解決方法 簡單易用的git命令 git命令&#xff1a; 查看有幾個分支&#xff1a;git branch -a 切換分支&#…

Azure創建第一個虛擬機

首先&#xff0c;登錄到 Azure 門戶 (https://portal.azure.com/)。在 Azure 門戶右上角&#xff0c;點擊“虛擬機”按鈕&#xff0c;并點擊創建&#xff0c;創建Azure虛擬機。 在虛擬機創建頁面中&#xff0c;選擇所需的基本配置&#xff0c;包括虛擬機名稱、操作系統類型和版…

【JVM】JVM 調優的參數都有哪些?

文章目錄 1. 設置堆空間大小2. 虛擬機棧的設置3. 年輕代中Eden區和兩個Survivor區的大小比例4. 年輕代晉升老年代閾值5. 設置垃圾回收收集器 1. 設置堆空間大小 設置堆的初始大小和最大大小&#xff0c;為了防止垃圾收集器在初始大小、最大大小之間收縮堆而產生額外的時間&…

python編程小游戲簡單的,python小游戲編程100例

大家好&#xff0c;給大家分享一下python編程小游戲簡單的&#xff0c;很多人還不知道這一點。下面詳細解釋一下。現在讓我們來看看&#xff01; 不會python就不能用python開發入門級的小游戲&#xff1f; 當然不是&#xff0c;我收集了十個python入門小游戲的源碼和教程&#…

分支語句和循環語句(1)

這篇文章我們詳細的把分支語句和循環語句給大家進行講解。 分支語句&#xff1a; if switch 循環語句&#xff1a; while for do while goto語句&#xff1a; 1.什么是語句&#xff1f; C語句可分為以下五類&#xff1a; 1. 表達式語句 2. 函數調用語句 3. 控制…

qt自己實現方便的線程管理類

看本博客之前&#xff0c;可以先看看我這篇多線程博客&#xff1a;qt多線程使用方式_我是標同學的博客-CSDN博客

ORCA優化器淺析——CDXLOperator Base class for operators in a DXL tree

如上圖所示&#xff0c;CDXLOperator作為Base class for operators in a DXL tree&#xff0c;其子類CDXLLogical、CDXLScalar、CDXLPhysical作為邏輯節點、物理節點和Scalar節點的DXL表示類&#xff0c;因此其包含了這些類的共同部分特性&#xff0c;比如獲取其DXL節點表示的函…

Qt 文件對話框使用 Deepin風格

當你在Deepin或UOS 上開發 Qt 程序時&#xff0c;如果涉及到文件對話框功能&#xff0c;那么就會遇到調用原生窗口的問題。 如果你使用的是官方的Qt版本&#xff0c;那么在Deepin或者UOS系統上&#xff0c;彈出的文件對話框會是如下這樣&#xff1a; 而Deepin或UOS系統提供的默…

可視化高級繪圖技巧100篇-總論

前言 優秀的數據可視化作品可以用三個關鍵詞概括&#xff1a;準確、清晰、優雅。 準確&#xff1a;精準地反饋數據的特征信息&#xff08;既不遺漏也不冗余&#xff0c;不造成讀者疏漏&誤讀細節&#xff09; 清晰&#xff1a;獲取圖表特征信息的時間越短越好 優雅&…