From edb0f26c7db1b16db880f77f663e58a9e91dfcc5 Mon Sep 17 00:00:00 2001 From: natsukium Date: Thu, 27 Jul 2023 23:44:22 +0900 Subject: [PATCH] python310Packages.optimum: init at 1.11.1 --- .../python-modules/optimum/default.nix | 115 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 117 insertions(+) create mode 100644 pkgs/development/python-modules/optimum/default.nix diff --git a/pkgs/development/python-modules/optimum/default.nix b/pkgs/development/python-modules/optimum/default.nix new file mode 100644 index 000000000000..6f781c3f174d --- /dev/null +++ b/pkgs/development/python-modules/optimum/default.nix @@ -0,0 +1,115 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, coloredlogs +, datasets +, evaluate +, h5py +, huggingface-hub +, numpy +, onnx +, onnxruntime +, packaging +, protobuf +, sympy +, tensorflow +, tf2onnx +, timm +, torch +, transformers +}: + +buildPythonPackage rec { + pname = "optimum"; + version = "1.11.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = "optimum"; + rev = "refs/tags/v${version}"; + hash = "sha256-J0QcHmR2hVd/Ygi7QFtsObwx/Sm3DCwU+DojzXHokYU="; + }; + + propagatedBuildInputs = [ + coloredlogs + datasets + huggingface-hub + numpy + packaging + sympy + torch + transformers + ] ++ transformers.optional-dependencies.sentencepiece; + + passthru.optional-dependencies = { + onnxruntime = [ + onnx + onnxruntime + datasets + evaluate + protobuf + ]; + exporters = [ + onnx + onnxruntime + timm + ]; + exporters-tf = [ + tensorflow + tf2onnx + onnx + onnxruntime + timm + h5py + numpy + ]; + diffusers = [ + # diffusers + ]; + intel = [ + # optimum-intel + ]; + openvino = [ + # optimum-intel + ]; # ++ optimum-intel.optional-dependencies.openvino; + nncf = [ + # optimum-intel + ]; # ++ optimum-intel.optional-dependencies.nncf; + neural-compressor = [ + # optimum-intel + ]; # ++ optimum-intel.optional-dependencies.neural-compressor; + graphcore = [ + # optimum-graphcore + ]; + habana = [ + transformers + # optimum-habana + ]; + neuron = [ + # optimum-neuron + ]; # ++ optimum-neuron.optional-dependencies.neuron; + neuronx = [ + # optimum-neuron + ]; # ++ optimum-neuron.optional-dependencies.neuronx; + furiosa = [ + # optimum-furiosa + ]; + }; + + # almost all tests try to connect to https://huggingface.co + doCheck = false; + + pythonImportsCheck = [ "optimum" ]; + + meta = with lib; { + description = "Accelerate training and inference of 🤗 Transformers and 🤗 Diffusers with easy to use hardware optimization tools"; + homepage = "https://github.com/huggingface/optimum"; + changelog = "https://github.com/huggingface/optimum/releases/tag/${src.rev}"; + license = licenses.asl20; + maintainers = with maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fef64074b676..6a69194411de 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7508,6 +7508,8 @@ self: super: with self; { optax = callPackage ../development/python-modules/optax { }; + optimum = callPackage ../development/python-modules/optimum { }; + optuna = callPackage ../development/python-modules/optuna { }; opuslib = callPackage ../development/python-modules/opuslib { };