imt-ring 1.6.35__tar.gz → 1.6.37__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.35 → imt_ring-1.6.37}/PKG-INFO +2 -2
  2. {imt_ring-1.6.35 → imt_ring-1.6.37}/pyproject.toml +1 -1
  3. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/imt_ring.egg-info/PKG-INFO +2 -2
  4. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/training_loop.py +16 -9
  5. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/utils.py +18 -2
  6. {imt_ring-1.6.35 → imt_ring-1.6.37}/readme.md +0 -0
  7. {imt_ring-1.6.35 → imt_ring-1.6.37}/setup.cfg +0 -0
  8. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  9. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  10. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/imt_ring.egg-info/requires.txt +0 -0
  11. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/imt_ring.egg-info/top_level.txt +0 -0
  12. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/__init__.py +0 -0
  13. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algebra.py +0 -0
  14. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/__init__.py +0 -0
  15. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/_random.py +0 -0
  16. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  17. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  18. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  19. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/custom_joints/rsaddle_joint.py +0 -0
  20. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  21. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/dynamics.py +0 -0
  22. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/__init__.py +0 -0
  23. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/base.py +0 -0
  24. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/batch.py +0 -0
  25. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/finalize_fns.py +0 -0
  26. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  27. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/pd_control.py +0 -0
  28. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/setup_fns.py +0 -0
  29. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/generator/types.py +0 -0
  30. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/jcalc.py +0 -0
  31. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/kinematics.py +0 -0
  32. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/algorithms/sensors.py +0 -0
  33. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/base.py +0 -0
  34. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/__init__.py +0 -0
  35. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/branched.xml +0 -0
  36. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  37. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  38. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  39. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/inv_pendulum.xml +0 -0
  40. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  41. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/spherical_stiff.xml +0 -0
  42. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/symmetric.xml +0 -0
  43. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_all_1.xml +0 -0
  44. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_all_2.xml +0 -0
  45. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  46. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_control.xml +0 -0
  47. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  48. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_free.xml +0 -0
  49. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_kinematics.xml +0 -0
  50. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  51. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  52. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_randomize_position.xml +0 -0
  53. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_sensors.xml +0 -0
  54. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  55. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/examples.py +0 -0
  56. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/test_examples.py +0 -0
  57. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/__init__.py +0 -0
  58. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/abstract.py +0 -0
  59. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/from_xml.py +0 -0
  60. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/test_from_xml.py +0 -0
  61. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/test_to_xml.py +0 -0
  62. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/io/xml/to_xml.py +0 -0
  63. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/maths.py +0 -0
  64. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/__init__.py +0 -0
  65. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/base.py +0 -0
  66. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/callbacks.py +0 -0
  67. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/ml_utils.py +0 -0
  68. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/optimizer.py +0 -0
  69. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  70. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  71. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/ringnet.py +0 -0
  72. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/rnno_v1.py +0 -0
  73. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/ml/train.py +0 -0
  74. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/rendering/__init__.py +0 -0
  75. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/rendering/base_render.py +0 -0
  76. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/rendering/mujoco_render.py +0 -0
  77. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/rendering/vispy_render.py +0 -0
  78. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/rendering/vispy_visuals.py +0 -0
  79. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sim2real/__init__.py +0 -0
  80. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sim2real/sim2real.py +0 -0
  81. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/spatial.py +0 -0
  82. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sys_composer/__init__.py +0 -0
  83. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sys_composer/delete_sys.py +0 -0
  84. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sys_composer/inject_sys.py +0 -0
  85. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/sys_composer/morph_sys.py +0 -0
  86. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/__init__.py +0 -0
  87. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/backend.py +0 -0
  88. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/batchsize.py +0 -0
  89. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/colab.py +0 -0
  90. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/dataloader.py +0 -0
  91. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/dataloader_torch.py +0 -0
  92. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/hdf5.py +0 -0
  93. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/normalizer.py +0 -0
  94. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/path.py +0 -0
  95. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/randomize_sys.py +0 -0
  96. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/register_gym_envs/__init__.py +0 -0
  97. {imt_ring-1.6.35 → imt_ring-1.6.37}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  98. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_algebra.py +0 -0
  99. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_base.py +0 -0
  100. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_custom_joints.py +0 -0
  101. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_dynamics.py +0 -0
  102. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_generator.py +0 -0
  103. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_jcalc.py +0 -0
  104. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_jit.py +0 -0
  105. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_kinematics.py +0 -0
  106. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_maths.py +0 -0
  107. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_ml_utils.py +0 -0
  108. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_motion_artifacts.py +0 -0
  109. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_pd_control.py +0 -0
  110. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_quickstart_example.py +0 -0
  111. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_random.py +0 -0
  112. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_randomize.py +0 -0
  113. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_rcmg.py +0 -0
  114. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_render.py +0 -0
  115. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_sensors.py +0 -0
  116. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_sim2real.py +0 -0
  117. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_sys_composer.py +0 -0
  118. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_train.py +0 -0
  119. {imt_ring-1.6.35 → imt_ring-1.6.37}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: imt-ring
3
- Version: 1.6.35
3
+ Version: 1.6.37
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.35"
7
+ version = "1.6.37"
8
8
  authors = [
9
9
  { name="Simon Bachhuber", email="simon.bachhuber@fau.de" },
10
10
  ]
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: imt-ring
3
- Version: 1.6.35
3
+ Version: 1.6.37
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
@@ -2,11 +2,12 @@ import random
2
2
  from typing import Optional
3
3
 
4
4
  import jax
5
- from ring.algorithms import Generator
6
- from ring.ml import ml_utils
7
5
  import tqdm
8
6
  import tree_utils
9
7
 
8
+ from ring.algorithms import Generator
9
+ from ring.ml import ml_utils
10
+
10
11
  _KILL_RUN = False
11
12
 
12
13
 
@@ -83,14 +84,20 @@ class TrainingLoop:
83
84
  # reset the kill_run flag from previous runs
84
85
  send_kill_run_signal(value=False)
85
86
 
86
- for _ in tqdm.tqdm(range(n_episodes)):
87
- self.step()
88
-
89
- if recv_kill_run_signal():
90
- break
87
+ try:
88
+ for _ in tqdm.tqdm(range(n_episodes)):
89
+ self.step()
91
90
 
92
- if close_afterwards:
93
- self.close()
91
+ if recv_kill_run_signal():
92
+ break
93
+ except Exception as e:
94
+ print(
95
+ "Exception occured, attemping to .close() all callbacks before raising."
96
+ )
97
+ raise e
98
+ finally:
99
+ if close_afterwards:
100
+ self.close()
94
101
 
95
102
  return recv_kill_run_signal()
96
103
 
@@ -1,5 +1,6 @@
1
1
  from importlib import import_module as _import_module
2
2
  import io
3
+ from pathlib import Path
3
4
  import pickle
4
5
  import random
5
6
  from typing import Optional
@@ -152,13 +153,28 @@ def import_lib(
152
153
 
153
154
  def pickle_save(obj, path, overwrite: bool = False):
154
155
  path = parse_path(path, extension="pickle", file_exists_ok=overwrite)
155
- with open(path, "wb") as file:
156
- pickle.dump(obj, file, protocol=5)
156
+ try:
157
+ with open(path, "wb") as file:
158
+ pickle.dump(obj, file, protocol=5)
159
+ except OSError as e:
160
+ print(
161
+ f"saving with `pickle` throws exception {e}. "
162
+ + "Attempting to save using `joblib`"
163
+ )
164
+ path = parse_path(path, extension="joblib", file_exists_ok=overwrite)
165
+ import joblib
166
+
167
+ joblib.dump(obj, path)
157
168
 
158
169
 
159
170
  def pickle_load(
160
171
  path,
161
172
  ):
173
+ if Path(path).suffix == ".joblib":
174
+ import joblib
175
+
176
+ return joblib.load(path)
177
+
162
178
  path = parse_path(path, extension="pickle", require_is_file=True)
163
179
  with open(path, "rb") as file:
164
180
  obj = pickle.load(file)
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