无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業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
主站蜘蛛池模板: 激情综合久久 | 日本精品小视频 | 人妻斩熟女倶乐部六十路 | 亚洲视频欧美 | 久久精品国产精品久久久 | 天堂在线WWW天堂中文在线 | 粉嫩少妇内射浓精VIDEOS | 中文字幕日本一道 | 久久9999免费视频 | 亚洲丰满熟妇XXXX性A片 | 亚洲av无码专区亚洲av | 国产熟人精品一区二区 | 日本成年人免费网站 | 亚洲成人综合视频 | 精品国产免费人成在线观看 | 强行征服邻居人妻HD高清 | 黄色成人免费在线观看 | 亚洲专区一区 | 欧美性XXXXX极品老少 | 国内视频自拍 | 日本五级片 | 欧美伊香蕉久久综合网99 | 亚洲精品高清AV在线播放 | 正在播放91精 | 91超碰刺激偷拍 | 久久久久激情 | 久久久久国色av免费看图片 | 国产黄a三级三级三级av在线看 | 熟妇与小伙子mature | 国产欧美精品一区二区三区-老狼 | 91精品欧美久久久久久 | WC女厕撒尿七Ⅴ偷拍 | 国产会所在线观看 | 国产人妖在线播放网址 | 1024手机在线国产你懂的 | 亚洲一级性生活 | 又粗又硬又黄又爽的免费视频 | 日韩成人高清视频 | 无码精品一区二区在线A片软件 | 日本大片免费观看 | 古装A级野外爱做片视频 |