成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

新聞 前端
對于PyTorch開發者來說,Google Colab上的TPU資源不能用,恐怕是最遺憾的事情了。Google的云計算資源眼看著不能用,轉TensorFlow又是不可能的。

 本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

對于PyTorch開發者來說,Google Colab上的TPU資源不能用,恐怕是最遺憾的事情了。Google的云計算資源眼看著不能用,轉TensorFlow又是不可能的。

過去一直有PyTorch用戶試圖在Colab上薅羊毛,但是都沒有太成功的。

現在福利來了,一個叫做Pytorch Lightning的項目,可以讓你幾乎修改代碼的情況下用上TPU。

[[316583]]

Pytorch Lightning已經上傳到PyPI,因此只需一行代碼就能安裝這個軟件。

  1. pip install pytorch-lightning 

該項目的開發者William Falcon說,PyTorch Lightning是他在紐約大學和FAIR做博士生時研發,專門為從事AI研究的專業研究人員和博士生創建的。

幾乎無需修改代碼

首先讓我們來看一個MNIST圖像分類網絡的搭建,PyTorch的原始代碼和修改后的PyTorch Lightning代碼幾乎無異。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

我們只需將nn.Module替換為pl.LightningModule即可。

作者表示,相比切換框架,用這種方法重構原來的代碼只需數小時的時間。

PyTorch Lightning所做的是將科學代碼與工程代碼分離,只需將研究代碼重構為LightningModule格式(科學),Lightning將自動完成其余部分(工程)。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

使用方法

PyTorch Lightning具體該如何使用,作者Falcon還是以MNIST圖像分類網絡為例,介紹從收集數據到訓練再到驗證、測試的全過程。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

準備數據集階段分為下載圖片、轉換、分割數據集、打包四個步驟。二者代碼大致相同,只是將PyTorch代碼組織為4個函數:

prepare_data:此函數負責處理下載數據,確保使用多個GPU時,不會下載多個數據集或對數據進行雙重操作。

train_dataloader,val_dataloader,test_dataloader:每一個都負責返回相應數據集的數據拆分。以這種方式進行構造訓練、驗證、測試集,可以讓你非常清楚如何操作數據。

接下來是優化器的選擇,比如選擇Adam。兩者的代碼還是幾乎完全相同,不過后者把pytorch_model改成了self。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

至于損失函數,對于n向分類,要使用交叉熵損失。二者代碼又幾乎一致相同,后者多出一個self。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

在訓練上,PyTorch Lightning的代碼更簡潔一點。在PyTorch中,你需要自己編寫for循環,這意味著你必須記住要以正確的順序調用正確的東西,可能會導致錯誤。

而PyTorch Lightning將樣板格式抽象化,但方框中的內容保持不變,增加了代碼的可讀性和可重復性。

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

后面驗證推理的部分不再贅述。

總之,PyTorch Lightning有這些優點:

代碼結構化;與PyTorch源代碼幾乎完全相同;隨著項目復雜性的提升,代碼的大部分內容無需修改;保留了PyTorch的靈活性。

新增高級功能,連Pytorch本尊都沒有

除了以上的一些特性外,PyTorch Lightning還加入了許多高級功能,讓你體驗到PyTorch本身不具備的一些優點。

比如更清晰直觀的訓練進度條:

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

用TensorBoard日志記錄代碼運行全過程:

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

PyTorch Lightning還支持TensorBoard之外的其它5種工具記錄日志:

一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

與TensorBoard,MLFlow完全集成,并支持任何日志記錄模塊。

甚至還有一個內置的分析工具,告訴你訓練過程中的瓶頸:

  1. trainer = Trainer(…, profiler=True) 
一行代碼安裝,TPU也能運行PyTorch,修改少量代碼即可快速移植

PyTorch Lightning還有更多的可擴展性,在這里無法一一介紹,如果你正想要在TPU上運行自己的PyTorch代碼,可以前去學習更詳細的用法。

傳送門

項目地址:

https://github.com/PyTorchLightning/pytorch-lightning

Colab演示:

https://colab.research.google.com/drive/1-_LKx4HwAxl5M6xPJmqAAu444LTDQoa3#scrollTo=dEeUzX_5aLrX

責任編輯:張燕妮 來源: 量子位
相關推薦

2020-04-01 08:51:47

注釋字符代碼

2020-07-15 09:40:37

代碼Python瀏覽記錄

2022-03-21 17:54:52

Linux操作系統瀏覽器

2016-12-02 08:53:18

Python一行代碼

2014-02-12 13:43:50

代碼并行任務

2022-04-09 09:11:33

Python

2017-04-05 11:10:23

Javascript代碼前端

2023-09-12 10:10:57

開發者工具開源

2020-08-05 11:53:41

數據代碼自動化

2021-08-31 09:49:37

CPU執行語言

2017-04-13 19:20:18

Python代碼并行任務

2020-08-19 10:30:25

代碼Python多線程

2020-09-09 16:00:22

Linux進程

2021-11-02 16:25:41

Python代碼技巧

2022-04-11 11:38:44

Python代碼游戲

2019-12-25 14:08:50

Pandas數據計算

2020-08-12 14:54:00

Python代碼開發

2020-09-28 12:34:38

Python代碼開發

2018-03-08 11:43:18

PandasTB級數據Spark

2019-04-03 10:24:28

詞云圖工具詞云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天精品在线 | 中文字幕av在线播放 | 91在线看片 | 日韩av在线不卡 | 欧美精品一 | 黄色欧美 | 成人不卡 | 四虎影音| 蜜月aⅴ国产精品 | 亚洲精品4 | 奇米久久 | 国产视频久久 | 97日日碰人人模人人澡分享吧 | 黄色中文字幕 | 99久久国产综合精品麻豆 | 国产在线播 | 精品国产伦一区二区三区观看说明 | 久久精品一级 | 日韩a在线观看 | 美日韩免费| 在线看h | 久久国产欧美日韩精品 | 激情欧美一区二区三区中文字幕 | 91精品国产综合久久久久久首页 | 欧美性极品xxxx做受 | 一区二区三区四区国产 | 国产精品免费在线 | 国产一区二区三区视频 | 免费观看一级黄色录像 | 99福利视频| 久久久这里只有17精品 | 成人在线欧美 | 久久久精品久 | 国产精品久久久精品 | 成人高清在线视频 | 国产黄色小视频在线观看 | 亚洲麻豆 | 在线āv视频 | 国产成人精品免费视频大全最热 | 国产九九av | 久久久久国产精品 |