Die erste Sammlung von Ersatz-Benchmarks für gemeinsame Architektur- und Hyperparameter-Suche (JAHS), die auch zur Unterstützung und Erleichterung der Erforschung von Multi-Objektiv-, Kosten- und (Multi) Multi-Fidelity-Optimierungsalgorithmen entwickelt wurden.
Weitere Informationen finden Sie in unserer Dokumentation hier. Genauige Details zum Datenerfassung und zum Erstellungsprozess für Ersatz sowie unsere Experimente finden Sie in der assoskulativen Veröffentlichung.
Verwenden von PIP
pip install jahs-bench
Optional können Sie die Daten herunterladen, die erforderlich sind, um den Ersatz -Benchmark im Voraus mit der Zeit mit zu verwenden
python -m jahs_bench.download --target surrogates
Um zu testen, ob die Installation erfolgreich war, können Sie, z. B. ein minimales Beispiel mit
python -m jahs_bench_examples.minimal
Dies sollte zufällig eine Konfiguration probieren und sowohl die abgetastete Konfiguration als auch das Ergebnis der Abfrage des Ersatzes für diese Konfiguration anzeigen. Hinweis: Wir haben kürzlich entdeckt, dass XGBOOST - die Bibliothek für unsere Ersatzmodelle - unter einigen Inkompatibilitätsproblemen mit macOS leiden kann. Benutzer, die in ein solches Problem stoßen, können diese Diskussion für Einzelheiten konsultieren.
Konfigurationen in unserer gemeinsamen Architektur- und Hyperparameter -Raum (JAHS) werden als Wörterbücher dargestellt, z. B.::
config = {
'Optimizer' : 'SGD' ,
'LearningRate' : 0.1 ,
'WeightDecay' : 5e-05 ,
'Activation' : 'Mish' ,
'TrivialAugment' : False ,
'Op1' : 4 ,
'Op2' : 1 ,
'Op3' : 2 ,
'Op4' : 0 ,
'Op5' : 2 ,
'Op6' : 1 ,
'N' : 5 ,
'W' : 16 ,
'Resolution' : 1.0 ,
}
Eine vollständige Beschreibung des Suchraums und Konfigurationen finden Sie in unserer Dokumentation.
import jahs_bench
benchmark = jahs_bench . Benchmark ( task = "cifar10" , download = True )
# Query a random configuration
config = benchmark . sample_config ()
results = benchmark ( config , nepochs = 200 )
# Display the outputs
print ( f"Config: { config } " ) # A dict
print ( f"Result: { results } " ) # A dict
Mit der API unseres Benchmarks können Benutzer entweder ein Ersatzmodell (die Standardeinstellung) oder die Tabellen der Leistungsdaten abfragen oder eine Konfiguration aus unserem Suchraum von Grund auf mit derselben Pipeline wie von unserem Benchmark aus der gleichen Pipeline trainieren. Benutzer sollten jedoch beachten, dass die letztere Funktionalität die Installation von jahs_bench_201
mit der optionalen Datenkomponente data_creation
und seinen relevanten Abhängigkeiten erfordert. Die relevanten Daten können automatisch von unserer API heruntergeladen werden. Weitere Informationen finden Sie in unserer Dokumentation.
Wir bieten Dokumentation für den Leistungsdatensatz, der zum Training unserer Ersatzmodelle und weitere Informationen zu unseren Ersatzmodellen verwendet wird.
Siehe unser Experimente -Repository und unsere Dokumentation.
Wir unterhalten sich Bestenlisten für mehrere Optimierungsaufgaben und algorithmische Rahmenbedingungen.