{"categories":[{"label":"Artificial Intelligence","url":"https://skillfed.io/packages/category/scientific-engineering-artificial-intelligence/8"}],"enrichment":{"capability":"Provides schedule-free optimizers for PyTorch that eliminate the need to specify stopping time in advance, replacing momentum with interpolation and averaging to achieve faster training without learning rate schedules.","skillfed_tags":["pytorch-optimizer","schedule-free-learning","gradient-descent"],"use_cases":["Training deep neural networks without manually tuning learning rate decay schedules or specifying total training steps upfront.","Experimenting with different training durations without retuning the optimizer configuration for each run length.","Wrapping existing PyTorch optimizers via ScheduleFreeWrapper to add schedule-free behavior to custom optimization setups.","Research projects requiring comparison with Polyak-Ruppert averaging or Nesterov acceleration methods.","Image classification tasks like MNIST where provided examples demonstrate the integration pattern."],"what_it_does":"Schedule-free learning replaces traditional learning rate schedules with a method that combines interpolation and averaging of optimizer iterates, eliminating the need to specify training duration in advance. The package provides PyTorch implementations of SGDScheduleFree, AdamWScheduleFree, and RAdamScheduleFree, each with a standard form and a reference form that trades memory for numerical stability. The core insight is that the optimizer maintains three sequences: one for gradient evaluation, one for parameter updates, and one for test/validation evaluation, with the averaging mechanism allowing the method to achieve fast early convergence without the instability of standard momentum-based approaches.\n\nThe method requires explicit calls to optimizer.train() and optimizer.eval() to switch between the gradient evaluation and validation sequences, and learning rates typically need to be larger than classical schedules. It works without a learning rate schedule but remains compatible with one, and supports warmup through a warmup_steps parameter. The approach is based on a research preprint and has active maintenance with community contributions.","worth_installing":"Yes, if you want to eliminate learning rate schedule tuning and are willing to retune learning rate magnitude and the beta interpolation parameter. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it safe to try. Not worth installing if your workflow is heavily dependent on standard schedules or if you cannot modify optimizer.train()/eval() calls around your training loop."},"id":"schedulefree","links":{"html":"https://skillfed.io/packages/schedulefree","md":"https://skillfed.io/packages/schedulefree.md","pypi":"https://pypi.org/project/schedulefree/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-03-24","license_spdx":null,"license_treatment":"permissive","name":"schedulefree","python_support":"supports_current","summary":"Schedule Free Learning in PyTorch"},"popularity":{"monthly_downloads":177727,"position":10207,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.4.1"}
