性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 精選文章 > 使用NeptuneAI跟蹤PyTorch閃電實驗

使用NeptuneAI跟蹤PyTorch閃電實驗

2020-08-04 19:07:00 | 來源:中培企業IT培訓網

想使用PyTorch Lightning來構建您的深度學習代碼,并且不介意學習它的日志記錄功能嗎?不知道閃電具有強大的海王星集成嗎?為什么選擇PyTorchLightning?如果您從未聽說過,PyTorch Lightning是PyTorch之上非常輕便的包裝器,它更像是編碼標準,而不是框架。該格式可讓您擺脫大量樣板代碼,同時使其易于遵循。結果是一個框架,為研究人員,學生和生產團隊提供了最大的靈活性,使他們可以靈活地嘗試瘋狂的想法,而無需學習另一個框架,同時自動刪除所有工程細節。

您可以立即使用的一些很棒的功能是:

· 在CPU,GPU或TPU上進行訓練而無需更改代碼,

· 簡單的多GPU和多節點訓練

· 普通的16位精度支持

· 內置性能分析器(Trainer(profile=True))

· 以及其他眾多功能。

但是,通過這種強大的功能輕松進行實驗,以及靈活地調整所需的任何東西,都會帶來問題。如何跟蹤所有變化,例如:

· 損失和指標,

· 超參數,

· 模型二進制文件,

· 驗證預測,

  還有其他可以幫助您組織實驗過程的東西?

幸運的是,PyTorch閃電為您提供了一個選項,可輕松將記錄儀連接到 pl.Trainer可以跟蹤前面提到的所有內容(以及許多其他內容)的受支持記錄器之一是 NeptuneLogger將您的實驗保存在……您猜中了海王星。海王星不僅跟蹤您的實驗工件,而且:

· 讓我們監視所有實時情況

· 提供了一個不錯的用戶界面,您可以在其中過濾,分組和比較各種實驗運行

· 訪問您從Python腳本或Jupyter Notebook以編程方式記錄的實驗數據。最好的部分是,這種集成確實使用起來很簡單。

  注意:

您也可以查看此colab筆記本,并嘗試我們將要討論的示例。

  基本整合

在最簡單的情況下,您只需創建 NeptuneLogger:

from pytorch_lightning.logging.neptune import NeptuneLogger

neptune_logger = NeptuneLogger(

api_key="ANONYMOUS",

project_name="shared/pytorch-lightning-integration")

并將其傳遞給的logger參數 Trainer并適合您的模型。

from pytorch_lightning import Trainer

trainer = Trainer(logger=neptune_logger)

trainer.fit(model)

這樣,您將獲得:

· 記錄度量和損失并創建圖表,

· 保存超參數(如果通過閃電參數定義)

· ,記錄硬件利用率

· Git信息和執行腳本已記錄

  高級選項

海王星為您提供了許多自定義選項,您可以簡單地記錄更多特定于實驗的內容,例如圖像預測,模型權重,性能圖表等。

所有這些功能都可供Lightning用戶使用,在接下來的部分中,我將向您展示如何充分利用Neptune。

  在創建NeptuneLogger時記錄其他信息

創建記錄器時,可以記錄其他有用的信息:

· 代碼:快照腳本,jupyter筆記本,配置文件等。

· 超參數:對數學習率,歷元數和其他事物(如果您使用的是閃電) hparams來自閃電的對象將被自動記錄。

· 屬性:日志數據位置,數據版本或其他內容。

· 標簽:添加“ resnet50”或“ no-augmentation”之類的標簽來組織跑步。

· 名稱:每個實驗都應使用一個有意義的名稱,因此我們不要每次都使用“默認”。

只需將此信息傳遞給記錄器即可:

neptune_logger = NeptuneLogger(

api_key="ANONYMOUS",

project_name="shared/pytorch-lightning-integration",

experiment_name="default", # Optional,

params={"max_epochs": 10,

"batch_size": 32}, # Optional,

tags=["pytorch-lightning", "mlp"] # Optional,

upload_source_files=["**/*.py", "*.yaml"] # Optional,

)

并像以前一樣繼續進行操作,以獲得像這樣的組織好的儀表板。

  訓練期間記錄多余的東西

培訓期間可以記錄很多有趣的信息。

您可能對監視以下內容感興趣:

每個時期之后的模型預測(考慮預測蒙版或覆蓋的邊界框)

  模型檢查點或其他對象

真的很簡單。只是去你的LightningModule 和海王星實驗的調用方法 self.logger.experiment。

例如,我們可以記錄每個時期之后的損失直方圖:

class CoolSystem(pl.LightningModule):

def validation_end(self, outputs):

# OPTIONAL

avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()

tensorboard_logs = {'val_loss': avg_loss}

# log debugging images like histogram of losses

fig = plt.figure()

losses = np.stack([x['val_loss'].numpy() for x in outputs])

plt.hist(losses)

self.logger.experiment.log_image('loss_histograms', fig)

plt.close(fig)

return {'avg_val_loss': avg_loss, 'log': tensorboard_logs}

您在訓練期間可能想要記錄的其他內容是:

· self.logger.experiment.log_metric#記錄自定義指標

· self.logger.experiment.log_text#記錄文本值

· self.;ogger.experiment.log_artifact# 日志文件

· self.logger.experiment.log_image#記錄圖像,圖表

· self.logger.experiment.set_property#添加鍵:值對

· self.logger.experiment.append_tag#為組織添加標簽

很酷吧?但這不是您能做的!

  培訓結束后記錄日志

.fit循環結束后,不必完成對實驗的跟蹤。

您可能要跟蹤 trainer.test(model) 或計算一些其他驗證指標并將其記錄下來。

為此,您只需要告訴 NeptuneLogger 適合后不關閉:

neptune_logger = NeptuneLogger(

api_key="ANONYMOUS",

project_name="shared/pytorch-lightning-integration",

close_after_fit=False,

...

)

…并且您可以繼續記錄

  測試指標:

trainer.test(model)

  其他(外部)指標:

from sklearn.metrics import accuracy_score

...

accuracy = accuracy_score(y_true, y_pred)

neptune_logger.experiment.log_metric('test_accuracy', accuracy)

  測試集上的性能圖表:

from scikitplot.metrics import plot_confusion_matrix

import matplotlib.pyplot as plt

...

fig, ax = plt.subplots(figsize=(16, 12))

plot_confusion_matrix(y_true, y_pred, ax=ax)

neptune_logger.experiment.log_image('confusion_matrix', fig)

  整個模型檢查點目錄:

neptune_logger.experiment.log_artifact('my/checkpoints')

直接將實驗信息提取到筆記本中

您可以在實驗完成后獲取實驗,分析結果并根據需要更新指標,工件或其他內容。

例如,讓我們將實驗儀表板獲取到pandas DataFrame:

import neptune

project = neptune.init('shared/pytorch-lightning-integration')

project.get_leaderboard().head()

或通過海王星HiPlot集成使用HiPlot將其可視化:

from neptunecontrib.viz import make_parallel_coordinates_plot

make_parallel_coordinates_plot(

metrics= ['train_loss', 'val_loss', 'test_accuracy'],

params = ['max_epochs', 'batch_size', 'lr'])

或獲取單個實驗并使用訓練后計算出的一些外部指標對其進行更新:

exp = project.get_experiments(id='PYTOR-63')[0]

exp.log_metric('some_external_metric', 0.92)

如您所見,您可以從Pytorch Lightning登錄到Neptune。

如果您想更深入地了解這一點:

· 閱讀集成文檔

· 去看看海王星,看看它可以做的其他事情,

· 在colab上試用Lightning + Neptune

  最終思想

Pytorch Lightning是一個很棒的庫,可以幫助您:

· 整理您的深度學習代碼,使其他人容易理解它,

· 將開發樣板外包給經驗豐富的工程師團隊,

· 無需更改代碼即可訪問許多最新功能,

借助Neptune集成,您可以免費獲得其他一些功能:

· 您可以監控并跟蹤您的深度學習實驗,

· 您可以輕松地與他人分享您的研究,

· 您和您的團隊可以訪問實驗元數據并更有效地協作。

以上即是關于使用NeptuneAI跟蹤PyTorch閃電實驗的全部內容,想了解更多關于NeptuneAI的信息,請繼續關注中培偉業。

標簽: NeptuneAI PyTorch
主站蜘蛛池模板: 国产伦子伦对白在线播放观看 | 亚洲熟妇无码八AV在线播放 | 好姑娘免费观看 | 国产超碰人人爽人人做人人爱 | aaa国产毛片 | 国产吹潮在线观看中文 | 韩国三级女教师学生2 | 日韩国产成人精品视频 | 亚洲1区2区3区视频 免费三级国产 | 国产福利片无码区在线观看 | 国产91皮裤在线播放 | 国产亚洲日韩在线播放更多 | 色婷婷官网| 亚洲三级网 | 精品久久久久久久久久久下田 | 91字幕网 | 99re6在线热播精品免费 | 粉嫩av四季av绯色av第一区 | 超碰av男人的天堂 | 暗黑破坏神在线观看 | 亚洲精品乱 | 中文字幕精品一区二区三区在线 | 硬汉视频官网在线观看免费 | 欧美激情第八页 | 强奷漂亮少妇高潮a片 | 91制片厂毛片| 欧洲美熟女乱又伦免费视频 | 99久久99久久免费精品蜜桃 | 中文字幕精品亚洲一区 | 一区二区三区乱码国产在线 | 美女av免费在线观看 | 一级黄片毛片免费 | 91视在线国内在线播放酒店 | 做家务的男人第三季免费观看 | 91久久精品亚洲中文字幕无码 | 国产九精品国产动漫人物 | 999国产视频 | 久久精品亚洲国产 | 国产精品任我爽爆在线播放 | 中文字幕最新 | 欧美女同网站 |