imt-ring 1.6.18__tar.gz → 1.6.19__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. {imt_ring-1.6.18 → imt_ring-1.6.19}/PKG-INFO +1 -1
  2. {imt_ring-1.6.18 → imt_ring-1.6.19}/pyproject.toml +1 -1
  3. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/imt_ring.egg-info/PKG-INFO +1 -1
  4. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/ml_utils.py +22 -4
  5. {imt_ring-1.6.18 → imt_ring-1.6.19}/readme.md +0 -0
  6. {imt_ring-1.6.18 → imt_ring-1.6.19}/setup.cfg +0 -0
  7. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  8. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  9. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/imt_ring.egg-info/requires.txt +0 -0
  10. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/imt_ring.egg-info/top_level.txt +0 -0
  11. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/__init__.py +0 -0
  12. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algebra.py +0 -0
  13. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/__init__.py +0 -0
  14. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/_random.py +0 -0
  15. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  16. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  17. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  18. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/custom_joints/rsaddle_joint.py +0 -0
  19. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  20. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/dynamics.py +0 -0
  21. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/__init__.py +0 -0
  22. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/base.py +0 -0
  23. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/batch.py +0 -0
  24. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/finalize_fns.py +0 -0
  25. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  26. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/pd_control.py +0 -0
  27. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/setup_fns.py +0 -0
  28. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/generator/types.py +0 -0
  29. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/jcalc.py +0 -0
  30. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/kinematics.py +0 -0
  31. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/algorithms/sensors.py +0 -0
  32. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/base.py +0 -0
  33. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/__init__.py +0 -0
  34. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/branched.xml +0 -0
  35. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  36. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  37. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  38. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/inv_pendulum.xml +0 -0
  39. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  40. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/spherical_stiff.xml +0 -0
  41. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/symmetric.xml +0 -0
  42. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_all_1.xml +0 -0
  43. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_all_2.xml +0 -0
  44. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  45. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_control.xml +0 -0
  46. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  47. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_free.xml +0 -0
  48. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_kinematics.xml +0 -0
  49. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  50. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  51. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_randomize_position.xml +0 -0
  52. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_sensors.xml +0 -0
  53. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  54. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/examples.py +0 -0
  55. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/test_examples.py +0 -0
  56. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/__init__.py +0 -0
  57. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/abstract.py +0 -0
  58. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/from_xml.py +0 -0
  59. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/test_from_xml.py +0 -0
  60. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/test_to_xml.py +0 -0
  61. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/io/xml/to_xml.py +0 -0
  62. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/maths.py +0 -0
  63. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/__init__.py +0 -0
  64. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/base.py +0 -0
  65. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/callbacks.py +0 -0
  66. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/optimizer.py +0 -0
  67. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  68. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  69. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/ringnet.py +0 -0
  70. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/rnno_v1.py +0 -0
  71. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/train.py +0 -0
  72. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/ml/training_loop.py +0 -0
  73. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/rendering/__init__.py +0 -0
  74. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/rendering/base_render.py +0 -0
  75. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/rendering/mujoco_render.py +0 -0
  76. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/rendering/vispy_render.py +0 -0
  77. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/rendering/vispy_visuals.py +0 -0
  78. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sim2real/__init__.py +0 -0
  79. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sim2real/sim2real.py +0 -0
  80. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/spatial.py +0 -0
  81. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sys_composer/__init__.py +0 -0
  82. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sys_composer/delete_sys.py +0 -0
  83. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sys_composer/inject_sys.py +0 -0
  84. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/sys_composer/morph_sys.py +0 -0
  85. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/__init__.py +0 -0
  86. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/backend.py +0 -0
  87. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/batchsize.py +0 -0
  88. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/colab.py +0 -0
  89. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/dataloader.py +0 -0
  90. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/dataloader_torch.py +0 -0
  91. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/hdf5.py +0 -0
  92. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/normalizer.py +0 -0
  93. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/path.py +0 -0
  94. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/randomize_sys.py +0 -0
  95. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/register_gym_envs/__init__.py +0 -0
  96. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  97. {imt_ring-1.6.18 → imt_ring-1.6.19}/src/ring/utils/utils.py +0 -0
  98. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_algebra.py +0 -0
  99. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_base.py +0 -0
  100. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_custom_joints.py +0 -0
  101. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_dynamics.py +0 -0
  102. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_generator.py +0 -0
  103. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_jcalc.py +0 -0
  104. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_jit.py +0 -0
  105. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_kinematics.py +0 -0
  106. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_maths.py +0 -0
  107. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_ml_utils.py +0 -0
  108. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_motion_artifacts.py +0 -0
  109. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_pd_control.py +0 -0
  110. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_quickstart_example.py +0 -0
  111. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_random.py +0 -0
  112. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_randomize.py +0 -0
  113. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_rcmg.py +0 -0
  114. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_render.py +0 -0
  115. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_sensors.py +0 -0
  116. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_sim2real.py +0 -0
  117. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_sys_composer.py +0 -0
  118. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_train.py +0 -0
  119. {imt_ring-1.6.18 → imt_ring-1.6.19}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.18
3
+ Version: 1.6.19
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "imt-ring"
7
- version = "1.6.18"
7
+ version = "1.6.19"
8
8
  authors = [
9
9
  { name="Simon Bachhuber", email="simon.bachhuber@fau.de" },
10
10
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.18
3
+ Version: 1.6.19
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -3,6 +3,7 @@ from functools import partial
3
3
  import os
4
4
  from pathlib import Path
5
5
  import pickle
6
+ import shutil
6
7
  import time
7
8
  from typing import Optional, Protocol
8
9
  import warnings
@@ -107,7 +108,7 @@ class WandbLogger(MixinLogger):
107
108
  wandb.log(data)
108
109
 
109
110
  def log_params(self, path: str):
110
- wandb.save(path, policy="now")
111
+ self.wandb_save(path)
111
112
 
112
113
  def log_video(
113
114
  self,
@@ -117,7 +118,7 @@ class WandbLogger(MixinLogger):
117
118
  step: Optional[int] = None,
118
119
  ):
119
120
  # TODO >>>
120
- wandb.save(path, policy="now")
121
+ self.wandb_save(path)
121
122
  return
122
123
  # <<<
123
124
  data = {"video": wandb.Video(path, caption=caption, fps=fps)}
@@ -127,10 +128,10 @@ class WandbLogger(MixinLogger):
127
128
 
128
129
  def log_image(self, path: str, caption: Optional[str] = None):
129
130
  # wandb.log({"image": wandb.Image(path, caption=caption)})
130
- wandb.save(path, policy="now")
131
+ self.wandb_save(path)
131
132
 
132
133
  def log_txt(self, path: str, wait: bool = True):
133
- wandb.save(path, policy="now")
134
+ self.wandb_save(path)
134
135
  # TODO: `wandb` is not async at all?
135
136
  if wait:
136
137
  time.sleep(3)
@@ -138,6 +139,23 @@ class WandbLogger(MixinLogger):
138
139
  def close(self):
139
140
  wandb.run.finish()
140
141
 
142
+ @staticmethod
143
+ def wandb_save(path):
144
+ if wandb.run is not None and wandb.run.settings._offline:
145
+ # Create a dedicated directory in the WandB run directory to store copies
146
+ # of files
147
+ destination_dir = os.path.join(wandb.run.dir, "copied_files")
148
+ os.makedirs(destination_dir, exist_ok=True)
149
+
150
+ # Copy the file to this new location
151
+ copied_file_path = os.path.join(destination_dir, os.path.basename(path))
152
+ shutil.copy2(path, copied_file_path)
153
+
154
+ # Use wandb.save to save the copied file (now a true copy)
155
+ wandb.save(copied_file_path)
156
+ else:
157
+ wandb.save(path, policy="now")
158
+
141
159
 
142
160
  def _flatten_convert_filter_nested_dict(
143
161
  metrices: NestedDict, filter_nan_inf: bool = True
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