La première collection de références de substitution pour l'architecture conjointe et la recherche hyperparamètre (JAHS), construite pour soutenir et faciliter les recherches sur les algorithmes d'optimisation multi-objectifs, consacrés au coût et (multi-) multi-fidélités.
Veuillez consulter notre documentation ici. Des détails précis sur le processus de collecte de données et de création de substitution, ainsi que nos expériences, peuvent être trouvés dans la publication assistante.
Utilisation de pip
pip install jahs-bench
Facultativement, vous pouvez télécharger les données requises pour utiliser la référence de substitution à l'avance avec
python -m jahs_bench.download --target surrogates
Pour tester si l'installation a réussi, vous pouvez, par exemple, exécuter un exemple minimal avec
python -m jahs_bench_examples.minimal
Cela devrait goûter au hasard une configuration et afficher à la fois la configuration échantillonnée et le résultat de l'interrogation de la substitution pour cette configuration. Remarque: Nous avons récemment découvert que XGBOost - la bibliothèque utilisée pour nos modèles de substitution - peut souffrir de certains problèmes d'incompatibilité avec MacOS. Les utilisateurs qui rencontrent un tel problème peuvent consulter cette discussion pour plus de détails.
Les configurations dans notre espace d'architecture conjointe et d'hyperparamètre (JAH) sont représentées comme des dictionnaires, par exemple ,:
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 ,
}
Pour une description complète de l'espace de recherche et des configurations, consultez notre documentation.
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
L'API de notre référence permet aux utilisateurs d'interroger un modèle de substitution (par défaut) ou des tableaux de données de performance, ou de former une configuration à partir de notre espace de recherche à partir de zéro à l'aide du même pipeline que celle utilisée par notre référence. Cependant, les utilisateurs doivent noter que cette dernière fonctionnalité nécessite l'installation de jahs_bench_201
avec le composant data_creation
facultatif et ses dépendances pertinentes. Les données pertinentes peuvent être téléchargées automatiquement par notre API. Voir notre documentation pour plus de détails.
Nous fournissons une documentation pour l'ensemble de données de performances utilisé pour former nos modèles de substitution et plus d'informations sur nos modèles de substitution.
Voir notre référentiel d'expériences et notre documentation.
Nous maintenons des classements pour plusieurs tâches d'optimisation et des cadres algorithmiques.