自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一行命令跑評(píng)測(cè),港中文MMLab開源自監(jiān)督表征學(xué)習(xí)代碼庫(kù)OpenSelfSup

新聞 前端
自監(jiān)督表征學(xué)習(xí)發(fā)展迅速,但也存在諸多問(wèn)題。近日,香港中文大學(xué)多媒體實(shí)驗(yàn)室(MMLab)和南洋理工大學(xué)的研究者開源了一套統(tǒng)一的自監(jiān)督學(xué)習(xí)代碼庫(kù) OpenSelfSup。

 自監(jiān)督表征學(xué)習(xí)發(fā)展迅速,但也存在諸多問(wèn)題。近日,香港中文大學(xué)多媒體實(shí)驗(yàn)室(MMLab)和南洋理工大學(xué)的研究者開源了一套統(tǒng)一的自監(jiān)督學(xué)習(xí)代碼庫(kù) OpenSelfSup。

前言

近幾個(gè)月來(lái)自監(jiān)督表征學(xué)習(xí)領(lǐng)域獲得了顯著突破,特別是隨著 Rotation Prediction、DeepCluster、MoCo、SimCLR 等簡(jiǎn)單有效的方法的誕生,自監(jiān)督表征學(xué)習(xí)大有超越有監(jiān)督表征學(xué)習(xí)的趨勢(shì)。

然而,做這個(gè)領(lǐng)域的研究者都深有感觸:1)自監(jiān)督任務(wù)復(fù)雜而多樣,不同方法各有各的專用訓(xùn)練代碼,難以結(jié)合、復(fù)用和改進(jìn);2)評(píng)價(jià)方案不統(tǒng)一,不同的方法難以在公平環(huán)境下對(duì)比;3)動(dòng)輒百萬(wàn)千萬(wàn)的訓(xùn)練數(shù)據(jù)量,訓(xùn)練效率是個(gè)大問(wèn)題。

針對(duì)這些問(wèn)題,香港中文大學(xué)多媒體實(shí)驗(yàn)室(MMLab)和南洋理工大學(xué)的研究者最近開源了一套統(tǒng)一的自監(jiān)督學(xué)習(xí)代碼庫(kù):OpenSelfSup。

開源地址:https://github.com/open-mmlab/OpenSelfSup

OpenSelfSup

統(tǒng)一的代碼框架和模塊化設(shè)計(jì)

OpenSelfSup 使用 PyTorch 實(shí)現(xiàn),支持基于分類、重建、聚類、memory bank、contrastive learning 的多種自監(jiān)督學(xué)習(xí)框架,目前收錄了 Relative Location、Rotation Prediction、DeepCluster、OnlineDeepCluster、NPID、MoCo、SimCLR 等一系列表現(xiàn)較好的自監(jiān)督表征學(xué)習(xí)方法,后續(xù)還將陸續(xù)跟進(jìn)學(xué)術(shù)界最新算法。

在這個(gè)框架下,每個(gè)算法被拆解為 backbone、neck、head、memory_bank (optional)、hook (optional) 等多個(gè)可獨(dú)立設(shè)計(jì)的模塊,每個(gè)模塊均提供多個(gè)可選方案,開發(fā)者也可以自行設(shè)計(jì)各個(gè)模塊。

SimCLR 中的 backbone、neck 和 head 設(shè)計(jì)

標(biāo)準(zhǔn)化的評(píng)測(cè)方案

OpenSelfSup 目前支持 ImageNet/Place205 Linear Classification、ImageNet Semi-Supervised Classification、PASCAL VOC07 Linear SVM、PASCAL VOC / COCO Object Detection 等多個(gè)基準(zhǔn)的評(píng)測(cè)方案,可以做到一行命令跑評(píng)測(cè),非常方便。

高效率的分布式訓(xùn)練

OpenSelfSup 收錄的算法全部實(shí)現(xiàn)了多機(jī)多卡的分布式訓(xùn)練、提特征和測(cè)試。

上手容易

該代碼庫(kù)的環(huán)境配置、數(shù)據(jù)配置均有 from scratch 的腳本或詳細(xì)指導(dǎo),簡(jiǎn)單易行。訓(xùn)練和測(cè)試現(xiàn)有算法,只需要一行命令即可搞定。

高度靈活性和可擴(kuò)展性

1. 改進(jìn)現(xiàn)有算法。OpenSelfSup 用 config 文件來(lái)定義各種參數(shù)和模塊,方便修改。config 中還支持一些較復(fù)雜的調(diào)整,比如 data augmentation 的組合、learning rate schedule、獨(dú)立調(diào)整某些網(wǎng)絡(luò)參數(shù)的優(yōu)化參數(shù)等。例如,你希望單獨(dú)調(diào)整 head 中 fully-connected layer 的 momentum 和 learning rate,或者 backbone 中某幾層的 weight decay 等等,那么你可以在 config 中 optimizer: paramwise_option 下用正則表達(dá)式篩選出對(duì)應(yīng)網(wǎng)絡(luò)參數(shù),然后指定這些值,而不需要改動(dòng)代碼。

DeepCluster中指定head(fc layer) 的momentum為0

2. 使用自己的訓(xùn)練數(shù)據(jù)。OpenSelfSup 將數(shù)據(jù)處理和數(shù)據(jù)源解耦。使用自己的訓(xùn)練數(shù)據(jù),只需要新增一個(gè)自己的 data source 文件,并在 config 中指定即可。

3. 設(shè)計(jì)自己的算法。高度模塊化的設(shè)計(jì)使得自行設(shè)計(jì)算法變得非常簡(jiǎn)單。你只需要設(shè)計(jì)自己的模塊或者復(fù)用現(xiàn)有模塊,然后新建一個(gè)模型文件將這些模塊組織起來(lái)即可。如果你的算法包含間隔 iteration、間隔 epoch 的操作(例如 DeepCluster 需要在每個(gè) epoch 結(jié)束后對(duì)訓(xùn)練集做聚類),也只需要新建一個(gè) hook 來(lái)定義這些操作,并在 config 中設(shè)置這個(gè) hook 即可。hook 的調(diào)用是自動(dòng)進(jìn)行的。

DeepCluster 初始聚類和每 n 個(gè) epoch 后做聚類

結(jié)語(yǔ)

OpenSelfSup 是一個(gè)長(zhǎng)期維護(hù)的開源項(xiàng)目,旨在方便學(xué)術(shù)界和工業(yè)屆的研究者推動(dòng)自監(jiān)督表征學(xué)習(xí)領(lǐng)域繼續(xù)前進(jìn)。也希望有興趣的研究者、開發(fā)者幫助繼續(xù)完善 OpenSelfSup,為這個(gè)領(lǐng)域貢獻(xiàn)自己的力量。

 

責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2021-10-13 17:28:33

AI 數(shù)據(jù)人工智能

2016-12-02 08:53:18

Python一行代碼

2017-11-20 14:46:27

命令代碼

2019-07-10 05:47:37

GAN無(wú)監(jiān)督表征學(xué)習(xí)機(jī)器學(xué)習(xí)

2020-10-23 09:35:41

開源 Java 代碼

2024-05-09 11:30:17

2023-07-21 15:30:00

微軟代碼TypeChat

2014-02-12 13:43:50

代碼并行任務(wù)

2022-04-09 09:11:33

Python

2017-04-05 11:10:23

Javascript代碼前端

2021-04-19 10:38:06

代碼開發(fā)工具

2018-01-02 09:26:28

Ubuntuzzupdate版本升級(jí)

2021-10-19 17:52:16

Git命令算數(shù)

2021-11-02 16:25:41

Python代碼技巧

2020-08-19 10:30:25

代碼Python多線程

2020-09-09 16:00:22

Linux進(jìn)程

2021-08-31 09:49:37

CPU執(zhí)行語(yǔ)言

2017-04-13 19:20:18

Python代碼并行任務(wù)

2025-02-24 08:30:00

視覺(jué)模型訓(xùn)練

2018-04-23 14:49:31

表征句子深度學(xué)習(xí)自然語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)