+55
pkgs/development/python-modules/finetuning-scheduler/default.nix
+55
pkgs/development/python-modules/finetuning-scheduler/default.nix
···
1
+
{
2
+
stdenv,
3
+
lib,
4
+
buildPythonPackage,
5
+
fetchFromGitHub,
6
+
setuptools,
7
+
pythonOlder,
8
+
pytestCheckHook,
9
+
torch,
10
+
pytorch-lightning,
11
+
}:
12
+
13
+
buildPythonPackage rec {
14
+
pname = "finetuning-scheduler";
15
+
version = "2.3.3";
16
+
pyproject = true;
17
+
18
+
disabled = pythonOlder "3.8";
19
+
20
+
src = fetchFromGitHub {
21
+
owner = "speediedan";
22
+
repo = "finetuning-scheduler";
23
+
rev = "refs/tags/v${version}";
24
+
hash = "sha256-Nci+NcfcaZV3NH3MTCyr8PwPdDykJTdq8+CmtngWdiM=";
25
+
};
26
+
27
+
build-system = [ setuptools ];
28
+
29
+
dependencies = [
30
+
pytorch-lightning
31
+
torch
32
+
];
33
+
34
+
# needed while lightning is installed as package `pytorch-lightning` rather than`lightning`:
35
+
env.PACKAGE_NAME = "pytorch";
36
+
37
+
nativeCheckInputs = [ pytestCheckHook ];
38
+
pytestFlagsArray = [ "tests" ];
39
+
disabledTests = lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
40
+
# slightly exceeds numerical tolerance on aarch64-linux:
41
+
"test_fts_frozen_bn_track_running_stats"
42
+
];
43
+
44
+
pythonImportsCheck = [ "finetuning_scheduler" ];
45
+
46
+
meta = {
47
+
description = "PyTorch Lightning extension for foundation model experimentation with flexible fine-tuning schedules";
48
+
homepage = "https://finetuning-scheduler.readthedocs.io";
49
+
changelog = "https://github.com/speediedan/finetuning-scheduler/blob/${src.rev}/CHANGELOG.md";
50
+
license = lib.licenses.asl20;
51
+
maintainers = with lib.maintainers; [ bcdarwin ];
52
+
# "No module named 'torch._C._distributed_c10d'; 'torch._C' is not a package" at import time:
53
+
broken = stdenv.isDarwin;
54
+
};
55
+
}
+2
pkgs/top-level/python-packages.nix
+2
pkgs/top-level/python-packages.nix
···
4310
4310
4311
4311
findpython = callPackage ../development/python-modules/findpython { };
4312
4312
4313
+
finetuning-scheduler = callPackage ../development/python-modules/finetuning-scheduler { };
4314
+
4313
4315
fingerprints = callPackage ../development/python-modules/fingerprints { };
4314
4316
4315
4317
finitude = callPackage ../development/python-modules/finitude { };