PyTorch Lightning教程七:可視化

本節指導如何利用Lightning進行可視化和監控模型

為何需要跟蹤參數

在模型開發中,我們跟蹤感興趣的值,例如validation_loss,以可視化模型的學習過程。模型開發就像駕駛一輛沒有窗戶的汽車,圖表和日志提供了窗口,讓我們知道該把車開到哪里。有了Lightning,幾乎可以可視化任何你能想到的東西:數值、文本、圖像、音頻…

跟蹤指標

度量可視化是理解模型在整個模型開發過程中如何運行的最基本但最強大的方法。要跟蹤指標,只需使用LightningModule中的self.log方法

class LitModel(pl.LightningModule):def training_step(self, batch, batch_idx):value = ...self.log("some_value", value)

要一次記錄多個指標,使用self.log_dict

values = {"loss": loss, "acc": acc, "metric_n": metric_n}  # add more items if needed
self.log_dict(values)

要在命令行進度條中查看指標,需將prog_bar參數設置為True。

self.log(..., prog_bar=True)
命令行視圖

如果要在瀏覽器中查看指標,默認情況下,Lightning使用Tensorboard和一個簡單的CSV日志記錄器。

# 默認情況下,每個訓練器已經啟用了tensorboard(如果依賴項可用)
trainer = Trainer()

使用如下命令進行顯示

tensorboard --logdir=lightning_logs/

如果您使用的是notebook環境,如colab或kaggle或jupyter,使用如下命令啟動Tensorboard

%reload_ext tensorboard
%tensorboard --logdir=lightning_logs/
累計指標

當在training_step中調用self.log時,它會生成一個時間序列,顯示指標隨時間的變化情況。

然而,對于驗證和測試集,我們通常對繪制每批數據的指標不感興趣。相反,我們希望在整個數據分割中計算匯總統計(例如平均值、最小值或最大值)。

當您在validation_step和test_step中調用self.log時,Lightning會自動累積指標并在整個分割(epoch)完成后取平均值。

def validation_step(self, batch, batch_idx):value = batch_idx + 1self.log("average_value", value)

如果不想取平均值,也可以通過傳遞reduce_fx參數從{min,max,sum}中進行選擇。

# default function
self.log(..., reduce_fx="mean")

對于其他reductions,我們建議記錄一個torchmetrics.Metric 實例取代。

配置保存目錄

默認情況下,任何記錄的內容都保存到當前工作目錄中。要使用不同的目錄,請在Trainer中設置default_root_dir參數。

Trainer(default_root_dir="/your/custom/path")

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

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

相關文章

Docker的基本概念及鏡像加速器的配置

1.Docker的概念 由于代碼運行環境不同,代碼運行會出現水土不服的情況。運用docker容器會把環境進行打包,避免水土不服。docker是一種容器技術,它解決軟件跨環境遷移的問題。 2,安裝Docker 3.Docker架構 4.Docker鏡像加速器的配…

我們常說這個pycharm里有陷阱,第三方庫導入失敗,看這里!

最近有小伙伴遇到了明明安裝了 python 第三方庫,但是在 pycharm 當中卻導入不成功的問題。 ? 一直以來,也有不少初學 python 的小伙伴,一不小心就跳進了虛擬環境和系統環境的【陷阱】中。 本文就基于此問題,來說說在 pycharm 當…

Spring Cloud 面試突擊2

Spring Cloud 面試突擊2 高并發:是一種系統運行過程中遇到的短時間大量的請求操作 響應時間: 吞吐量: QPS:數據庫為維度 TPS 并發用戶數 并發的維度:很多的 并發是不是達到的當前系統的瓶頸 緩存 &#xff08…

計算機網絡—IP

這里寫目錄標題 IP的基本認識網絡層與數據鏈路層有什么關系IP地址基礎知識IP 地址的分類什么是A、B、C類地址廣播地址用來做什么什么是D、E類廣播多播地址用于什么IP分類的優點IP分類的缺點 無分類地址CIDR如何劃分網絡號和主機號怎么進性子網劃分 公有 IP 地址與私有 IP 地址公…

【Spring源碼】Java里面的jdk代理與Cglib動態代理

Springboot默認使用的是Cglib動態代理 案例一:TransactionAutoConfiguration配置類 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration Configuration(proxyBeanMethods false)ConditionalOnBean(TransactionManager.class)Cond…

指針---進階篇(二)

指針---進階篇(二) 前言一、函數指針1.拋磚引玉2.如何判斷函數指針?(方法總結) 二、函數指針數組1.什么是函數指針數組?2.講解函數指針數組3.模擬計算器:講解函數指針數組 三、指向函數指針數組…

Maven基礎之倉庫、命令、插件機制

文章目錄 Maven 倉庫中央倉庫和本地倉庫中央倉庫本地倉庫 Maven 命令generate 命令compile 命令clean 命令test 命令package 命令install 命令 Maven 插件機制官方插件:Compile 插件Tomcat 7 插件 Maven 倉庫 中央倉庫和本地倉庫 [?] 簡單一點說 中央倉庫是一個網…

Redis復制

在Redis中,用戶可以通過執行SLAVEOF命令或者設置slaveof選項,讓一個服務器去復制(replicate) 另一個服務器,我們稱呼被復制的服務器為主服務器(master),而對主服務器進行復制的服務器則被稱為從服務器(slave),如下圖所…

Vue修飾符

事件修飾符 在Vue 2.0中,事件修飾符允許我們在處理事件時對其進行修改或增強。以下是一些常用的事件修飾符: .stop:阻止事件冒泡。使用此修飾符后,父元素的相同事件不會再觸發。.prevent:阻止事件的默認行為。比如&…

mybatis 中的<![CDATA[ ]]>用法及說明

<![CDATA[ ]]>作用 <![CDATA[ ]]> 在mybatis、ibatis等書寫SQL的xml中比較常見&#xff0c;是一種XML語法&#xff0c;他的作用是 可以忽略xml的轉義&#xff08;在該標簽中的語句和字符原本是什么樣的&#xff0c;在拼接成SQL后還是什么樣的&#xff09; 使用&a…

代碼生成模型任務設計

背景&#xff1a; 模型應該具備&#xff0c;理解代碼的能力、知道代碼規則的能力、知道關鍵詞和變量的能力、知道代碼邏輯的能力、文本到代碼翻譯能力、代碼關聯能力、代碼續寫能力。 代碼理解能力&#xff1a;pretrain讓模型讀足夠多代碼、記住代碼一些規則、代碼問答、基于…

PHP codeigniter4 搭配Nginx

> 主要是為了用Nginx運行PHP環境 1. Nginx 官方文檔的配置 default.conf? This configuration enables URLs without “index.php” in them and using CodeIgniter’s “404 - File Not Found” for URLs ending with “.php”. server {listen 80;listen [::]:80;se…

springboot 基礎

鞏固基礎&#xff0c;砥礪前行 。 只有不斷重復&#xff0c;才能做到超越自己。 能堅持把簡單的事情做到極致&#xff0c;也是不容易的。 SpringBoot JavaEE 簡介 JavaEE的局限性&#xff1a; 1、過于復雜&#xff0c;JavaEE正對的是復雜的分布式企業應用&#xff0c;然而現實…

MySQL表的基礎的增刪改查

增(insert into) 插入所有列的數據 不寫具體列名要確保字段都對應正確 -- 假設你有一個名為 "employees" 的表&#xff0c;有多個列 INSERT INTO employees VALUES (101, Alice, Manager, 50000);插入指定列的數據 -- 假設你有一個名為 "students" 的表&…

爬蟲如何應對網站的反爬機制?如何查找user-agent對應的值

import requestsurl https://movie.douban.com/top250 response requests.get(url) # 查看結果 print(response)在requests使用一文中我們有講到&#xff0c;當狀態碼不是200時表示爬蟲不可用&#xff0c;也就是說我們獲取不到網頁源代碼。但是我們還是可以掙扎一下&#xff…

一文秒懂HTTP協議到底是什么?原理?

目錄 1.什么是http協議&#xff1f; 2.http協議的版本&#xff1f; 3.http文本框架 4.http請求報文 5.http報文格式 6.http響應報文 7.HTTP的狀態碼 8.HTTP首部介紹 9.什么是URL和URI&#xff1f; 10.CGI是什么&#xff1f; 1.什么是http協議&#xff1f; http&#…

測試架構師如何落地性能測試方案(一)

背景描述&#xff1a; 最近剛接手一個新項目&#xff0c;在最開始的時候要求對這個項目做性能測試&#xff0c;產品經理也給不出性能需求&#xff0c;只因為這個項目是電商項目&#xff0c;可能會有高并發&#xff0c;秒殺的場景&#xff0c;所以產品經理要求我們對這個項目必…

vue3父子組件傳值;vue3子組件傳值給父組件;vue3子組件監聽父組件接口傳值;父子組件事件調用

代碼在文末&#xff0c;均可直接復制使用 本文主要描述&#xff0c;父子組件傳值、調用等問題 文章目錄 問題1&#xff1a;子組件接收不到父組件傳值問題2&#xff1a;子組件接受的值&#xff0c;修改后&#xff0c;發現父組件值也改變了問題3&#xff1a;子組件接受值&#xf…

07-HDFS入門及shell命令

1 文件系統 是一種存儲和組織數據的方法&#xff0c;它使得文件訪問和查詢變得容易使得文件和樹形目錄的抽象邏輯概念代替了磁盤等物理設備使用數據塊的概念&#xff0c;用戶使用文件系統來保存數據不必關心數據底層存在硬盤哪里&#xff0c;只需記住這個文件的所屬目錄和文件…

STM32基于CubeIDE和HAL庫 基礎入門學習筆記:物聯網項目開發流程和思路

文章目錄&#xff1a; 第一部分&#xff1a;項目開始前的計劃與準備 1.項目策劃和開發規范 1.1 項目要求文檔 1.2 技術實現文檔 1.3 開發規范 2.創建項目工程與日志 第二部分&#xff1a;調通硬件電路與驅動程序 第三部分&#xff1a;編寫最基礎的應用程序 第四部分&…