Sobre el proyecto
Uncertainty Baselines es un repositorio de investigación de Google que ofrece una plantilla e implementaciones de referencia para la evaluación comparativa de incertidumbre y robustez en aprendizaje profundo. Sus objetivos declarados son proporcionar implementaciones de alta calidad de métodos estándar y de vanguardia en tareas estándar, mantener dependencias mínimas entre archivos para que las líneas base sean fácilmente bifurcables y prescribir buenas prácticas para la evaluación comparativa.
La motivación es que el código de incertidumbre y robustez suele ser específico de cada artículo, sin ejemplos compartidos sobre los que construir, e incluso las tareas estándar difieren en arquitecturas, hiperparámetros y preprocesamiento, lo que dificulta las comparaciones.
La instalación se realiza mediante pip desde el repositorio Git; no hay una versión estable y las API pueden cambiar. Instalar el paquete no instala un backend: TensorFlow, TensorFlow Addons y TensorBoard deben instalarse por separado, con dependencias adicionales listadas en setup.py.
El uso se centra en el directorio baselines/, organizado por conjunto de datos de entrenamiento. Por ejemplo, una línea base determinista de CIFAR es una Wide ResNet 28-10. Reproducir líneas base a menudo requiere TPUs, con tres opciones descritas: Colab (TPUs gratuitas, convenientes pero sin garantía a largo plazo), Google Cloud (la más flexible, con variables de entorno de ejemplo y comandos de lanzamiento para una línea base BatchEnsemble), y cambiar los flags para usar GPUs o menos núcleos. El README advierte que cambiar el número de núcleos importa porque el tamaño total del lote suele estar determinado por num_cores.
El módulo ub.datasets sigue la API de TensorFlow Datasets y añade lógica mínima como el preprocesamiento predeterminado. Los conjuntos de datos pueden instanciarse directamente o mediante una función get a partir de cadenas, y pueden usarse con Jax y PyTorch a través de tfds.as_numpy o una ruta _numpy de menor copia. El módulo ub.models sigue la API de tf.keras.Model, con un ejemplo que construye una ResNet ancha.
Las métricas definidas en todos los conjuntos de datos incluyen número de parámetros, exactitud de prueba, error de calibración de prueba (error de calibración esperado), log-verosimilitud negativa de prueba y tiempo de ejecución de entrenamiento/prueba. Los resultados se reportan con aproximadamente tres cifras significativas y se promedian sobre diez ejecuciones. Los resúmenes de TensorFlow se escriben en model_dir para TensorBoard, incluido el complemento de hiperparámetros, y pueden subirse a tensorboard.dev.
El README incluye una cita BibTeX y enumera artículos que han utilizado el código. La guía de contribución cubre el formato con yapf, añadir una línea base (bifurcar un script, ajustar valores predeterminados, añadir resultados a la tabla), añadir un conjunto de datos (referencia, subclase de BaseDataset, prueba, registro) y añadir un modelo (referencia, función create_model, prueba, registro).
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.