EINLEITUNG • Methoden reproduziert • Reproduzierte Ergebnisse • Verwendung

Willkommen bei Pycil, vielleicht dem Toolbox für das Lernen der Klasse inkrementell mit den am meisten implementierten Methoden. Dies ist das Code-Repository für "Pycil: Eine Python-Toolbox für das Lernen der Klasse inkrementell" [Papier] in Pytorch. Wenn Sie Inhalte dieses Repo für Ihre Arbeit verwenden, geben Sie bitte die folgenden BIB -Einträge an:
@article{zhou2023pycil,
author = {Da-Wei Zhou and Fu-Yun Wang and Han-Jia Ye and De-Chuan Zhan},
title = {PyCIL: a Python toolbox for class-incremental learning},
journal = {SCIENCE CHINA Information Sciences},
year = {2023},
volume = {66},
number = {9},
pages = {197101},
doi = {https://doi.org/10.1007/s11432-022-3600-y}
}
@article{zhou2024class,
author = {Zhou, Da-Wei and Wang, Qi-Wei and Qi, Zhi-Hong and Ye, Han-Jia and Zhan, De-Chuan and Liu, Ziwei},
title = {Class-Incremental Learning: A Survey},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume={46},
number={12},
pages={9851--9873},
year = {2024}
}
@inproceedings{zhou2024continual,
title={Continual learning with pre-trained models: A survey},
author={Zhou, Da-Wei and Sun, Hai-Long and Ning, Jingyi and Ye, Han-Jia and Zhan, De-Chuan},
booktitle={IJCAI},
pages={8363-8371},
year={2024}
}
Herkömmliche maschinelle Lernsysteme werden unter der Umgebung mit geschlossener Welt eingesetzt, für die die gesamten Trainingsdaten vor dem Offline-Trainingsprozess erforderlich sind. Bei realen Anwendungen konfrontiert jedoch häufig die eingehenden neuen Klassen, und ein Modell sollte sie kontinuierlich einbeziehen. Das Lernparadigma wird als Class-Incremental Learning (CIL) bezeichnet. Wir schlagen eine Python-Toolbox vor, die mehrere wichtige Algorithmen für das lernende Lernen der Klasse implementiert, um die Belastung von Forschern in der maschinellen Lerngemeinschaft zu erleichtern. Die Toolbox enthält Implementierungen einer Reihe von Gründungsarbeiten von CIL wie EWC und ICARL, bietet aber auch aktuelle Stand der Technikalgorithmen, die zur Durchführung neuer grundlegender Forschung verwendet werden können. Diese Toolbox mit dem Namen Pycil für Python Class-Incremental Learning ist Open Source mit einer MIT-Lizenz.
Weitere Informationen zum inkrementellen Lernen finden Sie in diesen Lesematerialien:
FineTune : Baseline -Methode, die einfach die Parameter auf neuen Aufgaben aktualisiert.EWC : Überwindung katastrophaler Vergessen in neuronalen Netzwerken. PNAS2017 [Papier]LwF : Lernen ohne Vergessen. ECCV2016 [Papier]Replay : Baseline -Methode mit exemplarer Wiederholung.GEM : Gradienten -episodisches Gedächtnis für kontinuierliches Lernen. NIPS2017 [Papier]iCaRL : Inkrementaler Klassifikator und Repräsentationslernen. CVPR2017 [Papier]BiC : Inkrementelles Lernen von großem Maßstab. CVPR2019 [Papier]WA : Aufrechterhaltung von Diskriminierung und Fairness im inkrementellen Lernen des Unterrichts. CVPR2020 [Papier]PODNet : PODNET: Pooled Output Destillation für kleine Tasks inkrementelles Lernen. ECCV2020 [Papier]DER : Der: DER: Dynamisch erweiterbare Darstellung für das inkrementelle Lernen der Klasse. CVPR2021 [Papier]PASS : Prototypenvergrößerung und Selbstversorgung für inkrementelles Lernen. CVPR2021 [Papier]RMM : RMM: Verstärktes Speichermanagement für das Lernen der Klasse inkrementell. Neurips2021 [Papier]IL2A : Klassen-inkrementelles Lernen über zwei Augmentation. Neurips2021 [Papier]ACIL : Analytisches klassenkonzertes Lernen mit absolutem Auswendiglernen und Datenschutzschutz. Neurips 2022 [Papier]SSRE : Selbsterhaltende Repräsentation Expansion für nicht exemplare lernende Lernen. CVPR2022 [Papier]FeTrIL : Feature-Übersetzung für ein exemplarfreies klassenkonzertes Lernen. WACV2023 [Papier]Coil : Co-Transport für das Lernen der Klasse inkrementell. ACM MM2021 [Papier]FOSTER : Feature Boosting und Komprimierung für das Lernen der Klasse inkrementell. ECCV 2022 [Papier]MEMO : Ein Modell oder 603 Exemplars: auf dem Weg zum Gedächtniseffizienten der Klasse inkrementellen Lernen. ICLR 2023 Spotlight [Papier]BEEF : Rindfleisch: BI-kompatible klassenkonzertes Lernen über energiebasierte Expansion und Fusion. ICLR 2023 [Papier]DS-AL : Ein doppeltes analytisches Lernen für ein exemplar-freies klassenkonzertes Lernen. AAAI 2024 [Papier]SimpleCIL : Überprüfung der Klassen-inkrementellen Lernen mit vorgeborenen Modellen: Generalisierbarkeit und Anpassung sind alles, was Sie brauchen. IJCV 2024 [Papier]Aper : Überprüfung der Klassen-inkrementellen Lernen mit vorgebliebenen Modellen: Generalisierbarkeit und Anpassung sind alles, was Sie brauchen. IJCV 2024 [Papier] 


Weitere experimentelle Details und Ergebnisse finden Sie in unserer Umfrage.
Klonen Sie dieses Github -Repository:
git clone https://github.com/G-U-N/PyCIL.git
cd PyCIL
[MODEL NAME].json -Datei für globale Einstellungen.[MODEL NAME].py -Datei (z. B. models/icarl.py ).python main.py --config=./exps/[MODEL NAME].json wobei [Modellname] aus finetune , ewc , lwf , replay , gem , icarl , bic , wa , podnet , der usw. ausgewählt werden sollte.
hyper-parametersBei der Verwendung von PYCIL können Sie die globalen Parameter und algorithmisch-spezifischen Hyperparameter in der entsprechenden JSON-Datei bearbeiten.
Diese Parameter umfassen:
ResNet32 für CIFAR100 verwendet und ResNet18 für ImageNet verwendet.Weitere Parameter in Bezug auf die Modelloptimierung, z. B. die Stapelgröße, die Optimierungsepoche, die Lernrate, die Abfallrate, den Gewichtsverfall, den Meilenstein und die Temperatur können in der entsprechenden Python -Datei geändert werden.
Wir haben die Vorverarbeitung von CIFAR100 , imagenet100, und imagenet1000 implementiert. Beim Training auf CIFAR100 wird dieses Framework automatisch heruntergeladen. Beim Training auf imagenet100/1000 sollten Sie den Ordner Ihres Datensatzes in utils/data.py angeben.
def download_data ( self ):
assert 0 , "You should specify the folder of your dataset"
train_dir = '[DATA-PATH]/train/'
test_dir = '[DATA-PATH]/val/'Hier ist die Dateiliste von ImageNET100 (oder beispielsweise ImageNet-Sub).
Doppelte Konsolidierung für vorgebildete modellbasierte Domänen-inkrementelle Lernen ( ARXIV 2024 ) [Papier]
Überprüfung der Klasse inkrementellen Lernen mit vorgebildeten Modellen: Generalisierbarkeit und Anpassung sind alles, was Sie brauchen ( IJCV 2024 ) [Papier] [Code]
Lernen der Klasse inkrementell: Eine Umfrage ( TPAMI 2024 ) [Papier] [Code]
Erweiterbares Subspace-Ensemble für vorausgebildete modellbasierte klassifizierende Lernen ( CVPR 2024 ) [Papier] [Code]
Multi-Layer-Probenfunktion Augmentation für das Lernen der Klasse inkrementell ( ICML 2024 ) [Papier] [Code]
Kontinuierliches Lernen mit vorgebildeten Modellen: Eine Umfrage ( IJCAI 2024 ) [Papier] [Code]
Adaptiver Adapter-Routing für Langzeit-Lernen in der Klasse ( maschinelles Lernen 2024 ) [Papier] [Code]
Lernen ohne zu vergessen für Visionsprachenmodelle ( ARXIV 2023 ) [Papier]
Pilot: Eine vorgebildete modellbasierte kontinuierliche Toolbox ( ARXIV 2023 ) [Papier] [Code]
Wenige Schussklassen-inkrementelle Lernen über trainingfreie Prototypkalibrierung ( Neurips 2023 ) [Papier] [Code]
Rindfleisch: BI-kompatible klassenkonzertes Lernen durch energiebasierte Expansion und Fusion ( ICLR 2023 ) [Papier] [Code]
Ein Modell oder 603 Exemplars: auf dem speichereffizienten klasseninkrementellen Lernen ( ICLR 2023 ) [Papier] [Code]
Wenige Schussklassen-inkrementelle Lernen durch Abtastung von Mehrphasenaufgaben ( TPAMI 2022 ) [Papier] [Code]
Foster: Feature-Boosting und Komprimierung für das Lernen der Klasse inkrementell ( ECCV 2022 ) [Papier] [Code]
Forward Compatible Wee Shot Class-Incremental-Lernen ( CVPR 2022 ) [Papier] [Code]
Co-Transport für das Lernen der Klasse inkrementell ( ACM MM 2021 ) [Papier] [Code]
Auf der realistischen Bewertung industrieller kontinuierlicher Lernszenarien mit Schwerpunkt auf dem Energieverbrauch und dem rechnerischen Fußabdruck ( ICCV 2023 ) [Papier] [Code]
Dynamischer Restklassifizierer für das inkrementelle Lernen der Klasse ( ICCV 2023 ) [Papier] [Code]
S-Prompts Lernen mit vorgeschalteten Transformatoren: Ein Occam-Rasierer für das inkrementelle Lernen von Domänen ( Neurips 2022 ) [Papier] [Code]
Bitte überprüfen Sie die MIT -Lizenz, die in diesem Repository aufgeführt ist.
Wir danken den folgenden Repos, die hilfreiche Komponenten/Funktionen in unserer Arbeit bieten.
Der Trainingsfluss und die Datenkonfigurationen basieren auf kontinuierlicher Lernrepräsentation. Die ursprünglichen Informationen des Repo finden Sie im Basiszweig.
Wenn es Fragen gibt, können Sie neue Funktionen vorschlagen, indem Sie ein Problem eröffnen oder mit dem Autor kontaktieren: Da--Zhou ([email protected]) und Fu-yun Wang ([email protected]). Genießen Sie den Code.