La primera colección de puntos de referencia sustitutos para la arquitectura conjunta y la búsqueda de hiperparameter (JAHS), construida para apoyar y facilitar la investigación sobre algoritmos de optimización multi-objetivos, conscientes de costos y (múltiples) de optimización multifidelidad.
Consulte nuestra documentación aquí. Los detalles precisos sobre la recopilación de datos y el proceso de creación sustituta, así como nuestros experimentos, se pueden encontrar en la publicación asosciada.
Usando Pip
pip install jahs-bench
Opcionalmente, puede descargar los datos necesarios para usar el punto de referencia sustituto con anticipación con
python -m jahs_bench.download --target surrogates
Para probar si la instalación fue exitosa, puede, por ejemplo, ejecutar un ejemplo mínimo con
python -m jahs_bench_examples.minimal
Esto debería probar aleatoriamente una configuración y mostrar tanto la configuración muestreada como el resultado de consultar el sustituto de esa configuración. Nota: Recientemente hemos descubierto que XGBOost, la biblioteca utilizada para nuestros modelos sustitutos, puede sufrir algunos problemas de incompatibilidad con MACOS. Los usuarios que se encuentran con tal problema pueden consultar esta discusión para más detalles.
Las configuraciones en nuestro espacio de arquitectura conjunta e hiperparameter (JAHS) se representan como diccionarios, por ejemplo,:
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 obtener una descripción completa en el espacio de búsqueda y las configuraciones, consulte nuestra documentación.
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
La API de nuestro punto de referencia permite a los usuarios consultar un modelo sustituto (el valor predeterminado) o las tablas de datos de rendimiento, o capacitar una configuración desde nuestro espacio de búsqueda desde cero utilizando la misma tubería que utilizó nuestro punto de referencia. Sin embargo, los usuarios deben tener en cuenta que la última funcionalidad requiere la instalación de jahs_bench_201
con el componente opcional data_creation
y sus dependencias relevantes. Nuestra API puede descargar automáticamente los datos relevantes. Vea nuestra documentación para más detalles.
Proporcionamos documentación para el conjunto de datos de rendimiento utilizado para capacitar a nuestros modelos sustitutos y más información sobre nuestros modelos sustitutos.
Vea nuestro repositorio de experimentos y nuestra documentación.
Mantenemos tablas de clasificación para varias tareas de optimización y marcos algorítmicos.