diff --git a/pkgs/development/python-modules/gpytorch/default.nix b/pkgs/development/python-modules/gpytorch/default.nix new file mode 100644 index 000000000000..f914bc326ba9 --- /dev/null +++ b/pkgs/development/python-modules/gpytorch/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, linear_operator +, scikit-learn +, torch +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "gpytorch"; + version = "1.10"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "cornellius-gp"; + repo = pname; + rev = "v${version}"; + hash = "sha256-KY3ItkVjBfIYMkZAmD56EBGR9YN/MRN7b2K3zrK6Qmk="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace 'find_version("gpytorch", "version.py")' \"$version\" + ''; + + propagatedBuildInputs = [ + linear_operator + scikit-learn + torch + ]; + + checkInputs = [ + pytestCheckHook + ]; + pythonImportsCheck = [ "gpytorch" ]; + disabledTests = [ + # AssertionError on number of warnings emitted + "test_deprecated_methods" + # flaky numerical tests + "test_classification_error" + "test_matmul_matrix_broadcast" + ]; + + meta = with lib; { + description = "A highly efficient and modular implementation of Gaussian Processes, with GPU acceleration"; + homepage = "https://gpytorch.ai"; + license = licenses.mit; + maintainers = with maintainers; [ veprbl ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e62258be3240..0ce85ba52563 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4197,6 +4197,8 @@ self: super: with self; { gpy = callPackage ../development/python-modules/gpy { }; + gpytorch = callPackage ../development/python-modules/gpytorch { }; + gpt-2-simple = callPackage ../development/python-modules/gpt-2-simple { }; gpyopt = callPackage ../development/python-modules/gpyopt { };