From nobody Sat Mar 29 16:27:58 2025 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZQ2qz5nmzz5rh3n; Sat, 29 Mar 2025 16:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZQ2qy5S1Pz41Hm; Sat, 29 Mar 2025 16:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743265678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h1jbEdfJZ1AkXSe342VYUc+DJKpYsqT/+GXtHLjZ5Bo=; b=RaYGfHAp2e5u6vgPpGincNpqWzl2hJwuiBlNJoSZAWij7BLyzpKZjS4Es5IUNp6gSQMnYb m86PKKnJ08m7UyYZLd+4C6UK54IYUZfopkyYJCf9mn0mbLl+f0KHL6AajPBiTZ9t+Anukp Bl1NFH8i+TyC1A7neD9BVU5z9Z/D72LZxMjHYJPMKZ+pnVgbn2r4O+Jagm3Tys78ae/SrK /WDlp3cDbl1i7bbTRw6l704FV82lx9O+uiwnIvknYciVWgTugh8VCPAHqRHgGXtLDZMajo yRRKxzBQZrNhQEHCSIScdsa4qfkvYeSNoVW/B09MsuzFsT4aXCYCzSgUSzXjJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1743265678; a=rsa-sha256; cv=none; b=h8W3XEVSkX6AUqNIIlZkjctr3ZYLtYoiUqC/y0H9UWY6xvXzt+KiefZvocdG0zmYli70oT 4nwzgJ00jNtIVsQiwn30WulR9As/dJIxMDxt6WQiXviq4+lU2mer0E3ZzmcPinRuqlY71u ceDaVqX3lL6FaH5PUkGRjdPyiXB8HfgXibo01IKJ8uhrEKxs0ORZXLYFUjky1pjIQqwQR6 boRKztbNqzlODwgWWQv0n+YzPldYHcXl6MCqsTCxzWtCOUq6KOgtZOeLI2gVzMG15h1ofm TvvGkGTgJEQC4s7q4XjRuugVb4KjoB2Zr1QP8YEfaqWY7zkJ7bSlS9OmBEw4Gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743265678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h1jbEdfJZ1AkXSe342VYUc+DJKpYsqT/+GXtHLjZ5Bo=; b=jh6of8IK+YRlgEpg1WfyjUpVLl3Zc+ksbySfHSyUv2aZtFfsbvzvAF7TlOy+KKT24naDJ8 yqFPgWbcZgoWiKrk9gnVWKGaFTJ3KmlpOVaAnJYWuqsdqUGBQI+F+VeOpc/Er2P0HICD9Q 0Vr0gNqJpje1qu4kYsJUmut4ncAsr0nZe624XZm6eBBx8/frqrPECd/oqodWLf1OfG4AfG 6Be9yjHvK8Nk20KQpLcJ1o1/bcCMgc5gHV24A73i4ts7QgJwErq+nQJ/hugLZMlwI53KUf P+gWam945ggEWOo4g+MWnHaNTJ4q7pW+iNiwz5AwbxBBJgL2FVYeZtT1QzlQsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZQ2qy4BtLzcVc; Sat, 29 Mar 2025 16:27:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52TGRwgZ018583; Sat, 29 Mar 2025 16:27:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52TGRw0o018580; Sat, 29 Mar 2025 16:27:58 GMT (envelope-from git) Date: Sat, 29 Mar 2025 16:27:58 GMT Message-Id: <202503291627.52TGRw0o018580@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: d9e91d68282c - main - misc/py-schedulefree: New port: Schedule free learning in PyTorch List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d9e91d68282c6f50cd9c4eaeb3250bba93829b0d Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=d9e91d68282c6f50cd9c4eaeb3250bba93829b0d commit d9e91d68282c6f50cd9c4eaeb3250bba93829b0d Author: Yuri Victorovich AuthorDate: 2025-03-29 06:48:56 +0000 Commit: Yuri Victorovich CommitDate: 2025-03-29 16:27:46 +0000 misc/py-schedulefree: New port: Schedule free learning in PyTorch --- misc/Makefile | 1 + misc/py-schedulefree/Makefile | 25 +++++++++++++++++++++++++ misc/py-schedulefree/distinfo | 3 +++ misc/py-schedulefree/pkg-descr | 11 +++++++++++ 4 files changed, 40 insertions(+) diff --git a/misc/Makefile b/misc/Makefile index 49339cee460a..0c68aa458597 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -513,6 +513,7 @@ SUBDIR += py-pytorch-lightning SUBDIR += py-pyviz-comms SUBDIR += py-safetensors + SUBDIR += py-schedulefree SUBDIR += py-scikit-fusion SUBDIR += py-scikit-quant SUBDIR += py-serverfiles diff --git a/misc/py-schedulefree/Makefile b/misc/py-schedulefree/Makefile new file mode 100644 index 000000000000..e02ac03e7402 --- /dev/null +++ b/misc/py-schedulefree/Makefile @@ -0,0 +1,25 @@ +PORTNAME= schedulefree +DISTVERSION= 1.4.1 +CATEGORIES= misc python # machine-learning +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Schedule free learning in PyTorch +WWW= https://github.com/facebookresearch/schedule_free + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python +USE_PYTHON= pep517 autoplist pytest + +NO_ARCH= yes + +# most tests fail: AssertionError: Torch not compiled with CUDA enabled, see https://github.com/facebookresearch/schedule_free/issues/65 + +.include diff --git a/misc/py-schedulefree/distinfo b/misc/py-schedulefree/distinfo new file mode 100644 index 000000000000..ae3b5ab309fd --- /dev/null +++ b/misc/py-schedulefree/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1742853003 +SHA256 (schedulefree-1.4.1.tar.gz) = 69ef25601d1fc0d8dd00cb36f9af78833f88b7846f1bb6ddecc9f144f3e9f7cb +SIZE (schedulefree-1.4.1.tar.gz) = 29281 diff --git a/misc/py-schedulefree/pkg-descr b/misc/py-schedulefree/pkg-descr new file mode 100644 index 000000000000..723ec22bfa88 --- /dev/null +++ b/misc/py-schedulefree/pkg-descr @@ -0,0 +1,11 @@ +Schedulefree is a Schedule-Free optimizer in PyTorch. + +We provide several Schedule-Free optimizer implementations: + +* SGDScheduleFree and SGDScheduleFreeReference: Schedule-free variants of SGD +* AdamWScheduleFree and AdamWScheduleFreeReference: Schedule-free variants + of AdamW +* RAdamScheduleFree: Schedule-free variant of RAdam, which eliminates the need + for both learning rate scheduling and warmup (implementation community + contributed) +* Experimental ScheduleFreeWrapper to combine with other optimizers