A primeira coleção de benchmarks de aluguel para arquitetura conjunta e pesquisa de hiperparâmetro (JAHS), construída para apoiar e facilitar a pesquisa sobre algoritmos de otimização de multi-objetivos, consciência de custos e (multi) multi-fidelidade.
Por favor, veja nossa documentação aqui. Detalhes precisos sobre o processo de coleta de dados e criação de substitutos, bem como nossos experimentos, podem ser encontrados na publicação assimociosa.
Usando pip
pip install jahs-bench
Opcionalmente, você pode baixar os dados necessários para usar o benchmark substituto com antecedência
python -m jahs_bench.download --target surrogates
Para testar se a instalação foi bem -sucedida, você pode, por exemplo, executar um exemplo mínimo com
python -m jahs_bench_examples.minimal
Isso deve amostrar aleatoriamente uma configuração e exibir a configuração amostrada e o resultado de consultar o substituto para essa configuração. Nota: descobrimos recentemente que o XGBoost - a biblioteca usada para nossos modelos de aluguel - pode sofrer com alguns problemas de incompatibilidade com o MacOS. Os usuários que se deparam com esse problema podem consultar esta discussão para obter detalhes.
As configurações em nossa arquitetura conjunta e hyperparameter (JAHS) são representados como dicionários, por exemplo,:
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 ,
}
Para uma descrição completa no espaço de pesquisa e nas configurações, consulte nossa documentação.
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
A API de nossa referência permite que os usuários consultem um modelo substituto (o padrão) ou as tabelas de dados de desempenho ou treine uma configuração do nosso espaço de pesquisa do zero usando o mesmo pipeline que foi usado por nossa referência. No entanto, os usuários devem observar que a última funcionalidade requer a instalação de jahs_bench_201
com o componente opcional data_creation
e suas dependências relevantes. Os dados relevantes podem ser baixados automaticamente por nossa API. Veja nossa documentação para obter detalhes.
Fornecemos documentação para o conjunto de dados de desempenho usado para treinar nossos modelos de aluguel e mais informações sobre nossos modelos de aluguel.
Veja nosso repositório de experimentos e nossa documentação.
Mantemos tabelas de classificação para várias tarefas de otimização e estruturas algorítmicas.