2022-02-20 05:27:41 +00:00
|
|
|
{ buildPythonPackage
|
|
|
|
, fetchFromGitHub
|
2024-04-21 15:54:59 +00:00
|
|
|
, fetchpatch
|
2022-02-20 05:27:41 +00:00
|
|
|
, lib
|
|
|
|
, numpy
|
|
|
|
, onnx
|
2022-04-27 09:35:20 +00:00
|
|
|
, packaging
|
2022-02-20 05:27:41 +00:00
|
|
|
, pytestCheckHook
|
2024-04-21 15:54:59 +00:00
|
|
|
, pythonAtLeast
|
|
|
|
, setuptools
|
|
|
|
, stdenv
|
2022-09-09 14:08:57 +00:00
|
|
|
, torch
|
2022-04-27 09:35:20 +00:00
|
|
|
, torchvision
|
2022-02-20 05:27:41 +00:00
|
|
|
, typing-extensions
|
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "pytorch-pfn-extras";
|
2024-04-21 15:54:59 +00:00
|
|
|
version = "0.7.6";
|
2024-01-13 08:15:51 +00:00
|
|
|
pyproject = true;
|
2022-02-20 05:27:41 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "pfnet";
|
2024-01-13 08:15:51 +00:00
|
|
|
repo = "pytorch-pfn-extras";
|
2022-04-27 09:35:20 +00:00
|
|
|
rev = "refs/tags/v${version}";
|
2024-04-21 15:54:59 +00:00
|
|
|
hash = "sha256-vSon/0GxQfaRtSPsQbYAvE3s/F0HEN59VpzE3w1PnVE=";
|
2022-02-20 05:27:41 +00:00
|
|
|
};
|
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
patches = [
|
|
|
|
(fetchpatch {
|
|
|
|
name = "relax-setuptools.patch";
|
|
|
|
url = "https://github.com/pfnet/pytorch-pfn-extras/commit/96abe38c4baa6a144d604bdd4744c55627e55440.patch";
|
|
|
|
hash = "sha256-85UDGcgJyQS5gINbgpNM58b3XJGvf+ArtGhwJ5EXdhk=";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
|
|
|
build-system = [
|
2024-01-13 08:15:51 +00:00
|
|
|
setuptools
|
|
|
|
];
|
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
dependencies = [ numpy packaging torch typing-extensions ];
|
2022-02-20 05:27:41 +00:00
|
|
|
|
2023-02-02 18:25:31 +00:00
|
|
|
nativeCheckInputs = [ onnx pytestCheckHook torchvision ];
|
2022-04-27 09:35:20 +00:00
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
pytestFlagsArray = [
|
|
|
|
# Requires CUDA access which is not possible in the nix environment.
|
|
|
|
"-m 'not gpu and not mpi'"
|
|
|
|
"-Wignore::DeprecationWarning"
|
|
|
|
];
|
2022-02-20 05:27:41 +00:00
|
|
|
|
|
|
|
pythonImportsCheck = [ "pytorch_pfn_extras" ];
|
|
|
|
|
|
|
|
disabledTestPaths = [
|
|
|
|
# Requires optuna which is currently (2022-02-16) marked as broken.
|
|
|
|
"tests/pytorch_pfn_extras_tests/test_config_types.py"
|
|
|
|
|
2022-04-27 09:35:20 +00:00
|
|
|
# requires onnxruntime which was removed because of poor maintainability
|
|
|
|
# See https://github.com/NixOS/nixpkgs/pull/105951 https://github.com/NixOS/nixpkgs/pull/155058
|
2024-04-21 15:54:59 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_annotate.py"
|
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_as_output.py"
|
2022-04-27 09:35:20 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_export.py"
|
2024-04-21 15:54:59 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_export_testcase.py"
|
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_lax.py"
|
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_load_model.py"
|
2022-04-27 09:35:20 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_torchvision.py"
|
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/utils.py"
|
|
|
|
|
|
|
|
# RuntimeError: No Op registered for Gradient with domain_version of 9
|
|
|
|
"tests/pytorch_pfn_extras_tests/onnx_tests/test_grad.py"
|
2024-04-21 15:54:59 +00:00
|
|
|
] ++ lib.optionals (pythonAtLeast "3.12") [
|
|
|
|
# RuntimeError: Dynamo is not supported on Python 3.12+
|
2023-11-16 04:20:00 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/dynamo_tests/test_compile.py"
|
2024-04-21 15:54:59 +00:00
|
|
|
"tests/pytorch_pfn_extras_tests/test_ops/test_register.py"
|
|
|
|
] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
|
|
|
|
# torch.distributed is not available on darwin
|
|
|
|
"tests/pytorch_pfn_extras_tests/training_tests/extensions_tests/test_sharded_snapshot.py"
|
|
|
|
] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
|
|
|
|
# RuntimeError: internal error
|
|
|
|
# convolution (e.g. F.conv3d) causes runtime error
|
|
|
|
"tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_conv.py"
|
2022-02-20 05:27:41 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Supplementary components to accelerate research and development in PyTorch";
|
|
|
|
homepage = "https://github.com/pfnet/pytorch-pfn-extras";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ samuela ];
|
|
|
|
};
|
|
|
|
}
|