imports.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # Copyright The Lightning team.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. """Import utilities."""
  15. import shutil
  16. import sys
  17. from lightning_utilities.core.imports import RequirementCache
  18. _PYTHON_VERSION = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
  19. _TORCH_GREATER_EQUAL_2_1 = RequirementCache("torch>=2.1.0")
  20. _TORCH_GREATER_EQUAL_2_2 = RequirementCache("torch>=2.2.0")
  21. _TORCH_GREATER_EQUAL_2_3 = RequirementCache("torch>=2.3.0")
  22. _TORCH_GREATER_EQUAL_2_5 = RequirementCache("torch>=2.5.0")
  23. _TORCH_LESS_THAN_2_6 = RequirementCache("torch<2.6.0")
  24. _TORCHMETRICS_GREATER_EQUAL_1_6 = RequirementCache("torchmetrics>=1.7.0")
  25. _NLTK_AVAILABLE = RequirementCache("nltk")
  26. _ROUGE_SCORE_AVAILABLE = RequirementCache("rouge_score")
  27. _BERTSCORE_AVAILABLE = RequirementCache("bert_score")
  28. _SCIPY_AVAILABLE = RequirementCache("scipy")
  29. _SCIPY_GREATER_EQUAL_1_8 = RequirementCache("scipy>=1.8.0")
  30. _TORCH_FIDELITY_AVAILABLE = RequirementCache("torch_fidelity")
  31. _LPIPS_AVAILABLE = RequirementCache("lpips")
  32. _PYCOCOTOOLS_AVAILABLE = RequirementCache("pycocotools")
  33. _PYCOCOTOOLS_GREATER_EQUAL_2_0_9 = RequirementCache("pycocotools>=2.0.9")
  34. _TORCHVISION_AVAILABLE = RequirementCache("torchvision")
  35. _TQDM_AVAILABLE = RequirementCache("tqdm")
  36. _TRANSFORMERS_AVAILABLE = RequirementCache("transformers")
  37. _TRANSFORMERS_GREATER_EQUAL_4_4 = RequirementCache("transformers>=4.4.0")
  38. _TRANSFORMERS_GREATER_EQUAL_4_10 = RequirementCache("transformers>=4.10.0")
  39. _PESQ_AVAILABLE = RequirementCache("pesq")
  40. _GAMMATONE_AVAILABLE = RequirementCache("gammatone")
  41. _TORCHAUDIO_AVAILABLE = RequirementCache("torchaudio")
  42. _REGEX_AVAILABLE = RequirementCache("regex")
  43. _PYSTOI_AVAILABLE = RequirementCache("pystoi")
  44. _REQUESTS_AVAILABLE = RequirementCache("requests")
  45. _LIBROSA_AVAILABLE = RequirementCache("librosa")
  46. _ONNXRUNTIME_AVAILABLE = RequirementCache("onnxruntime")
  47. _FAST_BSS_EVAL_AVAILABLE = RequirementCache("fast_bss_eval")
  48. _MATPLOTLIB_AVAILABLE = RequirementCache("matplotlib")
  49. _SCIENCEPLOT_AVAILABLE = RequirementCache("scienceplots")
  50. _MULTIPROCESSING_AVAILABLE = RequirementCache("multiprocessing")
  51. _XLA_AVAILABLE = RequirementCache("torch_xla")
  52. _PIQ_GREATER_EQUAL_0_8 = RequirementCache("piq>=0.8.0")
  53. _FASTER_COCO_EVAL_AVAILABLE = RequirementCache("faster_coco_eval")
  54. _MECAB_AVAILABLE = RequirementCache("MeCab")
  55. _MECAB_KO_AVAILABLE = RequirementCache("mecab_ko")
  56. _MECAB_KO_DIC_AVAILABLE = RequirementCache("mecab_ko_dic")
  57. _IPADIC_AVAILABLE = RequirementCache("ipadic")
  58. _SENTENCEPIECE_AVAILABLE = RequirementCache("sentencepiece")
  59. _SCIPI_AVAILABLE = RequirementCache("scipy")
  60. _TORCH_LINEAR_ASSIGNMENT_AVAILABLE = RequirementCache("torch_linear_assignment")
  61. _AEON_AVAILABLE = RequirementCache("aeon")
  62. _PYTDC_AVAILABLE = RequirementCache("pyTDC")
  63. _TORCH_VMAF_AVAILABLE = RequirementCache("vmaf_torch")
  64. _EINOPS_AVAILABLE = RequirementCache("einops")
  65. _LATEX_AVAILABLE: bool = shutil.which("latex") is not None