Computación y Python

Ejecuta trabajos de CPU aislados y guarda métricas, figuras, tablas y puntos de control.

Dónde se ejecuta el código

El código de investigación se ejecuta en contenedores CPU aislados en AWS Batch. El motor selecciona un tamaño de máquina para cada ejecución, sujeto al plan del pagador. Los trabajos almacenan sus Resultados en un almacenamiento de objetos privado e informan la finalización mediante callbacks y sondeos.

La imagen incluye Python 3.12 y librerías como NumPy, SciPy, pandas, Matplotlib, scikit-learn, statsmodels, PyTorch para CPU, BoTorch, SymPy, NetworkX, Z3 y python-sat. Las ejecuciones pueden solicitar requisitos adicionales de PyPI dentro de los límites del Servicio. Esto es computación CPU, no un Servicio GPU.

Parámetros, semillas y Resultados

El ayudante lasques preinstalado proporciona parámetros y un generador aleatorio con semilla. Almacena resultados medibles en lugar de imprimir solo una conclusión.

import lasques

params = lasques.params()
rng = lasques.rng()
values = rng.normal(size=int(params.get("n", 1000)))

lasques.set_metrics({"mean": float(values.mean())})
lasques.save_json({"seed": lasques.seed()}, "run-info")
lasques.summary("The mean is stored in the run metrics.")

Usa lasques.log_metric para una serie de métricas, save_figure para figuras y save_table para Resultados tabulares. Los puntos de control pueden guardarse y cargarse con lasques.checkpoint antes de que un trabajo agote su tiempo de espera.

Tamaños de máquina

MáquinavCPUMemoriaCréditos por minuto
basic11024 MiB2
standard-114096 MiB3
standard-216144 MiB5
standard-328192 MiB9
standard-4412288 MiB16

El tamaño inicial configurado es standard-1. Los techos del plan y el uso de memoria de ejecuciones anteriores influyen en el dimensionamiento posterior.

Límites, reintentos y reutilización

Una especificación de trabajo contiene como máximo 100 archivos en línea y 2 MB de código. El Servicio acepta hasta 200 archivos de salida y 50 MB de Resultados; el almacenamiento de puntos de control tiene los mismos límites de archivos y tamaño. Los límites de tiempo de espera del plan pueden ser inferiores al máximo del Servicio de 43200 s.

Un nuevo intento utiliza un contenedor nuevo y puede restaurar un punto de control anterior. Una ejecución con una semilla explícita puede reutilizar una ejecución exitosa con entradas y código idénticos. La computación reutilizada cuesta cero créditos CPU. Las ejecuciones de revisor, las ejecuciones de evaluador y las ejecuciones de confirmación prerregistradas no utilizan este caché.

El optimizador y el comprobador de pruebas Lean son Servicios independientes. Sus APIs internas se describen en el docs/compute-services.md del repositorio; no son una API de cuenta pública sin restricciones.

En esta página