libinephany 0.15.2__tar.gz → 0.15.4__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.
- libinephany-0.15.4/CODE_VERSION.cfg +1 -0
- {libinephany-0.15.2/libinephany.egg-info → libinephany-0.15.4}/PKG-INFO +1 -1
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observation_utils.py +26 -5
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/statistic_trackers.py +6 -2
- {libinephany-0.15.2 → libinephany-0.15.4/libinephany.egg-info}/PKG-INFO +1 -1
- libinephany-0.15.2/CODE_VERSION.cfg +0 -1
- {libinephany-0.15.2 → libinephany-0.15.4}/LICENSE +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/MANIFEST.in +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/README.md +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/aws/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/aws/s3_functions.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observer_pipeline.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/base_observers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/global_observers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/local_observers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/observer_containers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/pipeline_coordinator.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/post_processors/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/post_processors/postprocessors.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/statistic_manager.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/hyperparameter_configs.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/observer_config.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/outer_model_config.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/agent_info.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/inner_task_profile.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/observation_models.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/request_schemas.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/response_schemas.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/tensor_statistics.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/states/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/states/hyperparameter_states.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/agent_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/asyncio_worker.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/backend_statuses.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/constants.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/directory_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/dropout_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/enums.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/error_severities.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/exceptions.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/import_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/optim_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/random_seeds.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/samplers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/standardizers.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/torch_distributed_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/torch_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/transforms.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/utils/typing.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/web_apps/__init__.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/web_apps/error_logger.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany/web_apps/web_app_utils.py +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany.egg-info/SOURCES.txt +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany.egg-info/dependency_links.txt +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany.egg-info/requires.txt +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/libinephany.egg-info/top_level.txt +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/pyproject.toml +0 -0
- {libinephany-0.15.2 → libinephany-0.15.4}/setup.cfg +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
0.15.4
|
@@ -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
|
17
|
+
from libinephany.utils import optim_utils
|
18
18
|
|
19
19
|
# ======================================================================================================================
|
20
20
|
#
|
@@ -167,18 +167,39 @@ def create_one_hot_depth_encoding(agent_controlled_modules: list[str], parameter
|
|
167
167
|
return create_one_hot_observation(vector_length=3, one_hot_index=one_hot_index)
|
168
168
|
|
169
169
|
|
170
|
+
def check_if_tensor_is_xpu(tensor: torch.Tensor | None) -> bool:
|
171
|
+
"""
|
172
|
+
:param tensor: Tensor to check whether it is an XPU tensor.
|
173
|
+
:return: Whether the tensor is an XPU tensor.
|
174
|
+
"""
|
175
|
+
|
176
|
+
try:
|
177
|
+
xpu_available = torch.xpu.is_available()
|
178
|
+
return xpu_available and tensor.is_xpu
|
179
|
+
|
180
|
+
except AttributeError:
|
181
|
+
return False
|
182
|
+
|
183
|
+
|
170
184
|
def tensor_on_local_rank(tensor: torch.Tensor | None) -> bool:
|
171
185
|
"""
|
172
186
|
:param tensor: Tensor to check whether it is owned by the local rank, partially or entirely.
|
173
187
|
:return: Whether the tensor is owned by the local rank.
|
174
188
|
"""
|
175
189
|
|
176
|
-
valid_tensor = tensor is not None and tensor.
|
190
|
+
valid_tensor = tensor is not None and tensor.numel() > 0
|
191
|
+
device_index = tensor.device.index if valid_tensor else None
|
192
|
+
|
193
|
+
is_xpu = check_if_tensor_is_xpu(tensor)
|
194
|
+
cuda_available = torch.cuda.is_available()
|
177
195
|
|
178
|
-
if valid_tensor and
|
179
|
-
|
196
|
+
if valid_tensor and is_xpu:
|
197
|
+
current_device = torch.xpu.current_device()
|
198
|
+
return device_index == current_device
|
180
199
|
|
181
|
-
|
200
|
+
elif valid_tensor and cuda_available and tensor.is_cuda:
|
201
|
+
current_device = torch.cuda.current_device()
|
202
|
+
return device_index == current_device
|
182
203
|
|
183
204
|
return valid_tensor
|
184
205
|
|
@@ -403,7 +403,9 @@ class FirstOrderGradients(Statistic):
|
|
403
403
|
:return: None, TensorStatistics model or a float.
|
404
404
|
"""
|
405
405
|
|
406
|
-
gradients = [
|
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 = [
|
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 +0,0 @@
|
|
1
|
-
0.15.2
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/base_observers.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/global_observers.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/local_observers.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/observers/observer_containers.py
RENAMED
File without changes
|
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/post_processors/__init__.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/observations/post_processors/postprocessors.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/observer_config.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/configs/outer_model_config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/inner_task_profile.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/observation_models.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/request_schemas.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/response_schemas.py
RENAMED
File without changes
|
{libinephany-0.15.2 → libinephany-0.15.4}/libinephany/pydantic_models/schemas/tensor_statistics.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|