qadence 1.11.4__py3-none-any.whl → 1.11.5__py3-none-any.whl

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.
@@ -39,3 +39,12 @@ def promote_to(x: Tensor, dtype: Any) -> float | np.ndarray | Tensor:
39
39
  return x
40
40
  else:
41
41
  raise ValueError(f"Don't know how to convert Tensor to {dtype}")
42
+
43
+
44
+ def detach_loss_metrics(
45
+ loss_metrics: tuple[torch.Tensor, dict[str, Any]],
46
+ ) -> tuple[torch.Tensor, dict[str, Any]]:
47
+ """Detach the tensors contained in the loss and metrics history."""
48
+ loss, metrics = loss_metrics
49
+ detached_metrics = {k: v.detach() if isinstance(v, Tensor) else v for k, v in metrics.items()}
50
+ return loss.detach(), detached_metrics
@@ -15,6 +15,7 @@ from qadence.ml_tools.data import DictDataLoader, OptimizeResult, data_to_device
15
15
  from qadence.ml_tools.information import InformationContent
16
16
  from qadence.ml_tools.optimize_step import optimize_step, update_ng_parameters
17
17
  from qadence.ml_tools.stages import TrainingStage
18
+ from qadence.ml_tools.tensors import detach_loss_metrics
18
19
 
19
20
  from .train_utils.base_trainer import BaseTrainer
20
21
  from .train_utils.accelerator import Accelerator
@@ -654,6 +655,8 @@ class Trainer(BaseTrainer):
654
655
  All metrics are prefixed with the proper state of the training process
655
656
  - "train_" or "val_" or "test_"
656
657
  A "{state}_loss" is added to metrics.
658
+ In order to save memory, all tensors are detached so that gradients
659
+ are not tracked.
657
660
 
658
661
  Args:
659
662
  loss_metrics (tuple[torch.Tensor, dict[str, Any]]): Original loss and metrics.
@@ -666,8 +669,8 @@ class Trainer(BaseTrainer):
666
669
  loss, metrics = loss_metrics
667
670
  updated_metrics = {f"{phase}_{key}": value for key, value in metrics.items()}
668
671
  updated_metrics[f"{phase}_loss"] = loss
669
- return loss, updated_metrics
670
- return loss_metrics
672
+ loss_metrics = (loss, updated_metrics)
673
+ return detach_loss_metrics(loss_metrics)
671
674
 
672
675
  def _aggregate_result(
673
676
  self, result: tuple[torch.Tensor, dict[str, Any]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qadence
3
- Version: 1.11.4
3
+ Version: 1.11.5
4
4
  Summary: Pasqal interface for circuit-based quantum computing SDKs
5
5
  Author-email: Aleksander Wennersteen <aleksander.wennersteen@pasqal.com>, Gert-Jan Both <gert-jan.both@pasqal.com>, Niklas Heim <niklas.heim@pasqal.com>, Mario Dagrada <mario.dagrada@pasqal.com>, Vincent Elfving <vincent.elfving@pasqal.com>, Dominik Seitz <dominik.seitz@pasqal.com>, Roland Guichard <roland.guichard@pasqal.com>, "Joao P. Moutinho" <joao.moutinho@pasqal.com>, Vytautas Abramavicius <vytautas.abramavicius@pasqal.com>, Gergana Velikova <gergana.velikova@pasqal.com>, Eduardo Maschio <eduardo.maschio@pasqal.com>, Smit Chaudhary <smit.chaudhary@pasqal.com>, Ignacio Fernández Graña <ignacio.fernandez-grana@pasqal.com>, Charles Moussa <charles.moussa@pasqal.com>, Giorgio Tosti Balducci <giorgio.tosti-balducci@pasqal.com>, Daniele Cucurachi <daniele.cucurachi@pasqal.com>, Pim Venderbosch <pim.venderbosch@pasqal.com>, Manu Lahariya <manu.lahariya@pasqal.com>, Sungwoo Ahn <sungwoo.ahn@pasqal.com>
6
6
  License: PASQAL OPEN-SOURCE SOFTWARE LICENSE (MIT-derived)
@@ -111,8 +111,8 @@ qadence/ml_tools/optimize_step.py,sha256=21m2Wxmxkj_kMHQnKygOWqFdcO-wi5CnMnIZTGE
111
111
  qadence/ml_tools/parameters.py,sha256=gew2Kq_5-RgRpaTvs8eauVhgo0sTqqDQEV6WHFEiLGM,1301
112
112
  qadence/ml_tools/qcnn_model.py,sha256=2ua_SuaXC9nJKtBnMCKkU3b_gMwRijIeBPj16YsfN2I,5369
113
113
  qadence/ml_tools/stages.py,sha256=qW2phMIvQBLM3tn2UoGN-ePiBnZoNq5k844eHVnnn8Y,1407
114
- qadence/ml_tools/tensors.py,sha256=xZ9ZRzOqEaMgLUGWQf1najDmL6iLuN1ojCGVFs1Tm94,1337
115
- qadence/ml_tools/trainer.py,sha256=rAm4hpXpPSt1pCWUtMenVBsRXiodwBpUpmWWMP1duDs,34914
114
+ qadence/ml_tools/tensors.py,sha256=l1j33DRFj4i06Fq5DhwHUEQjbmAfEwDjzpMu-FQub1E,1708
115
+ qadence/ml_tools/trainer.py,sha256=wUOTCu2FjzONFphRE0Bp0qNwcBdmcxzEQDPhJXGE254,35103
116
116
  qadence/ml_tools/utils.py,sha256=PW8FyoV0mG_DtN1U8njTDV5qxZ0EK4mnFwMAsLBArfk,1410
117
117
  qadence/ml_tools/callbacks/__init__.py,sha256=pTdfjulDGNKca--9BgrdmMyvJSah_0spp929Th6RzC8,913
118
118
  qadence/ml_tools/callbacks/callback.py,sha256=JVY1BtPItCx11oAa1-3wICZyDfDLFdc5pmjTbfASHqA,29929
@@ -146,7 +146,7 @@ qadence/transpile/flatten.py,sha256=k4HAfVzvDV40HyfaukiEHyJtAtvFRIcyDbAWiCL8tf0,
146
146
  qadence/transpile/invert.py,sha256=IeyidgBwECCKB0i7Ym0KkLyfcx42LyT2mbqkfbK1H8M,4843
147
147
  qadence/transpile/noise.py,sha256=LDcDJtQGkgUPkL2t69gg6AScTb-p3J3SxCDZbYOu1L8,1668
148
148
  qadence/transpile/transpile.py,sha256=xnzkHA6Qdb-Y5Fv9Latrolrpw44N6_OKc7_QGt70f0I,2713
149
- qadence-1.11.4.dist-info/METADATA,sha256=ZwNKFGc0Uk0TLXhCrADAMtvB-_FXsRTeE6MZazMDfhQ,11202
150
- qadence-1.11.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
151
- qadence-1.11.4.dist-info/licenses/LICENSE,sha256=IfA3wQpmMOjCnDZ0P8Od2Bxb39rND9s5zfGHp1vMTbQ,2359
152
- qadence-1.11.4.dist-info/RECORD,,
149
+ qadence-1.11.5.dist-info/METADATA,sha256=fWleO5GRnMifx1ETu9KB86VBJgLfHksX66aD-R9DOQ0,11202
150
+ qadence-1.11.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
151
+ qadence-1.11.5.dist-info/licenses/LICENSE,sha256=IfA3wQpmMOjCnDZ0P8Od2Bxb39rND9s5zfGHp1vMTbQ,2359
152
+ qadence-1.11.5.dist-info/RECORD,,