libinephany 0.15.2__tar.gz → 0.15.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. libinephany-0.15.3/CODE_VERSION.cfg +1 -0
  2. {libinephany-0.15.2/libinephany.egg-info → libinephany-0.15.3}/PKG-INFO +1 -1
  3. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observation_utils.py +12 -5
  4. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/statistic_trackers.py +6 -2
  5. {libinephany-0.15.2 → libinephany-0.15.3/libinephany.egg-info}/PKG-INFO +1 -1
  6. libinephany-0.15.2/CODE_VERSION.cfg +0 -1
  7. {libinephany-0.15.2 → libinephany-0.15.3}/LICENSE +0 -0
  8. {libinephany-0.15.2 → libinephany-0.15.3}/MANIFEST.in +0 -0
  9. {libinephany-0.15.2 → libinephany-0.15.3}/README.md +0 -0
  10. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/__init__.py +0 -0
  11. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/aws/__init__.py +0 -0
  12. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/aws/s3_functions.py +0 -0
  13. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/__init__.py +0 -0
  14. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observer_pipeline.py +0 -0
  15. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observers/__init__.py +0 -0
  16. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observers/base_observers.py +0 -0
  17. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observers/global_observers.py +0 -0
  18. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observers/local_observers.py +0 -0
  19. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/observers/observer_containers.py +0 -0
  20. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/pipeline_coordinator.py +0 -0
  21. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/post_processors/__init__.py +0 -0
  22. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/post_processors/postprocessors.py +0 -0
  23. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/observations/statistic_manager.py +0 -0
  24. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/__init__.py +0 -0
  25. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/configs/__init__.py +0 -0
  26. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/configs/hyperparameter_configs.py +0 -0
  27. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/configs/observer_config.py +0 -0
  28. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/configs/outer_model_config.py +0 -0
  29. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/__init__.py +0 -0
  30. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/agent_info.py +0 -0
  31. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/inner_task_profile.py +0 -0
  32. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/observation_models.py +0 -0
  33. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/request_schemas.py +0 -0
  34. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/response_schemas.py +0 -0
  35. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/schemas/tensor_statistics.py +0 -0
  36. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/states/__init__.py +0 -0
  37. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/pydantic_models/states/hyperparameter_states.py +0 -0
  38. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/__init__.py +0 -0
  39. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/agent_utils.py +0 -0
  40. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/asyncio_worker.py +0 -0
  41. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/backend_statuses.py +0 -0
  42. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/constants.py +0 -0
  43. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/directory_utils.py +0 -0
  44. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/dropout_utils.py +0 -0
  45. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/enums.py +0 -0
  46. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/error_severities.py +0 -0
  47. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/exceptions.py +0 -0
  48. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/import_utils.py +0 -0
  49. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/optim_utils.py +0 -0
  50. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/random_seeds.py +0 -0
  51. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/samplers.py +0 -0
  52. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/standardizers.py +0 -0
  53. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/torch_distributed_utils.py +0 -0
  54. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/torch_utils.py +0 -0
  55. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/transforms.py +0 -0
  56. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/utils/typing.py +0 -0
  57. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/web_apps/__init__.py +0 -0
  58. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/web_apps/error_logger.py +0 -0
  59. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany/web_apps/web_app_utils.py +0 -0
  60. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany.egg-info/SOURCES.txt +0 -0
  61. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany.egg-info/dependency_links.txt +0 -0
  62. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany.egg-info/requires.txt +0 -0
  63. {libinephany-0.15.2 → libinephany-0.15.3}/libinephany.egg-info/top_level.txt +0 -0
  64. {libinephany-0.15.2 → libinephany-0.15.3}/pyproject.toml +0 -0
  65. {libinephany-0.15.2 → libinephany-0.15.3}/setup.cfg +0 -0
@@ -0,0 +1 @@
1
+ 0.15.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: libinephany
3
- Version: 0.15.2
3
+ Version: 0.15.3
4
4
  Summary: Inephany library containing code commonly used by multiple subpackages.
5
5
  Author-email: Inephany <info@inephany.com>
6
6
  License: Apache 2.0
@@ -14,7 +14,7 @@ import torch
14
14
  import torch.optim as optim
15
15
 
16
16
  from libinephany.pydantic_models.schemas.tensor_statistics import TensorStatistics
17
- from libinephany.utils import optim_utils, torch_distributed_utils
17
+ from libinephany.utils import optim_utils
18
18
 
19
19
  # ======================================================================================================================
20
20
  #
@@ -173,12 +173,19 @@ def tensor_on_local_rank(tensor: torch.Tensor | None) -> bool:
173
173
  :return: Whether the tensor is owned by the local rank.
174
174
  """
175
175
 
176
- valid_tensor = tensor is not None and tensor.grad is not None and tensor.numel() > 0
176
+ valid_tensor = tensor is not None and tensor.numel() > 0
177
+ device_index = tensor.device.index if valid_tensor else None
177
178
 
178
- if valid_tensor and tensor.is_cuda:
179
- local_rank = torch_distributed_utils.get_local_rank()
179
+ xpu_available = torch.xpu.is_available()
180
+ cuda_available = torch.cuda.is_available()
180
181
 
181
- return tensor.device.index == local_rank
182
+ if valid_tensor and xpu_available and tensor.is_xpu:
183
+ current_device = torch.xpu.current_device()
184
+ return device_index == current_device
185
+
186
+ elif valid_tensor and cuda_available and tensor.is_cuda:
187
+ current_device = torch.cuda.current_device()
188
+ return device_index == current_device
182
189
 
183
190
  return valid_tensor
184
191
 
@@ -403,7 +403,9 @@ class FirstOrderGradients(Statistic):
403
403
  :return: None, TensorStatistics model or a float.
404
404
  """
405
405
 
406
- gradients = [p.grad.view(-1) for p in parameters if observation_utils.tensor_on_local_rank(p)]
406
+ gradients = [
407
+ p.grad.view(-1) for p in parameters if observation_utils.tensor_on_local_rank(p) and p.grad is not None
408
+ ]
407
409
 
408
410
  if not gradients:
409
411
  return None
@@ -495,7 +497,9 @@ class SecondOrderGradients(Statistic):
495
497
  :return: None, TensorStatistics model or a float.
496
498
  """
497
499
 
498
- fo_gradients = [p.grad.view(-1) for p in parameters if observation_utils.tensor_on_local_rank(p)]
500
+ fo_gradients = [
501
+ p.grad.view(-1) for p in parameters if observation_utils.tensor_on_local_rank(p) and p.grad is not None
502
+ ]
499
503
 
500
504
  if not fo_gradients:
501
505
  return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: libinephany
3
- Version: 0.15.2
3
+ Version: 0.15.3
4
4
  Summary: Inephany library containing code commonly used by multiple subpackages.
5
5
  Author-email: Inephany <info@inephany.com>
6
6
  License: Apache 2.0
@@ -1 +0,0 @@
1
- 0.15.2
File without changes
File without changes
File without changes
File without changes