From 7d27b2a7f02c5b2d1e67a09fb5afa0d8a9a310b6 Mon Sep 17 00:00:00 2001 From: David Hauser Date: Mon, 11 May 2026 12:28:10 +0000 Subject: [PATCH 1/2] feat: swap out LayerNorm for RMSNorm in TransformerBlock --- src/noether/modeling/modules/blocks/transformer.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/noether/modeling/modules/blocks/transformer.py b/src/noether/modeling/modules/blocks/transformer.py index 3596c306..88321b2d 100644 --- a/src/noether/modeling/modules/blocks/transformer.py +++ b/src/noether/modeling/modules/blocks/transformer.py @@ -40,9 +40,7 @@ def __init__( self.modulation = LinearProjection(config=config.modulation_linear_projection_config) # type: ignore[arg-type] elementwise_affine = False - self.norm1 = torch.nn.LayerNorm( - config.hidden_dim, elementwise_affine=elementwise_affine, bias=config.bias, eps=config.eps - ) + self.norm1 = nn.RMSNorm(config.hidden_dim, eps=config.eps, elementwise_affine=elementwise_affine) try: if callable(config.attention_constructor): @@ -65,10 +63,7 @@ def __init__( self.drop_path1 = UnquantizedDropPath( config=config.drop_path_config # type: ignore[arg-type] ) - - self.norm2 = torch.nn.LayerNorm( - config.hidden_dim, elementwise_affine=elementwise_affine, bias=config.bias, eps=config.eps - ) + self.norm2 = nn.RMSNorm(config.hidden_dim, eps=config.eps, elementwise_affine=elementwise_affine) self.mlp = UpActDownMlp(config=config.up_act_down_mlp_config) # type: ignore[arg-type] self.ls2 = LayerScale(config=config.layerscale_config) # type: ignore[arg-type] self.drop_path2 = UnquantizedDropPath(config=config.drop_path_config) # type: ignore[arg-type] From 4858f023c639ac3497cd53e8846bf6fda80fe61d Mon Sep 17 00:00:00 2001 From: David Hauser Date: Mon, 11 May 2026 12:52:20 +0000 Subject: [PATCH 2/2] update expected values for ouput tests, due to norm change --- recipes/aero_cfd/scripts/train_ahmedml.py | 1 + recipes/aero_cfd/scripts/train_drivaerml.py | 1 + recipes/aero_cfd/scripts/train_drivaernet.py | 1 + recipes/aero_cfd/scripts/train_emmi_wing.py | 1 + .../aero_cfd/scripts/train_shapenet_car.py | 1 + recipes/aero_cfd/showcase/utils/forces.py | 1 - src/noether/modeling/models/ab_upt.py | 2 +- src/noether/modeling/models/aerodynamics.py | 4 +- src/noether/modeling/models/upt.py | 2 +- .../modeling/modules/blocks/perceiver.py | 12 +- .../modules/blocks/expected_output.py | 1419 +++++++++-------- .../modeling/modules/blocks/test_perceiver.py | 14 +- .../modules/blocks/test_transformer.py | 1 - .../noether/modeling/modules/test_rope.py | 386 ++--- 14 files changed, 923 insertions(+), 923 deletions(-) diff --git a/recipes/aero_cfd/scripts/train_ahmedml.py b/recipes/aero_cfd/scripts/train_ahmedml.py index 0fb236a2..b6f1759c 100644 --- a/recipes/aero_cfd/scripts/train_ahmedml.py +++ b/recipes/aero_cfd/scripts/train_ahmedml.py @@ -1,6 +1,7 @@ # Copyright © 2026 Emmi AI GmbH. All rights reserved. from aero_cfd.presets import AhmedMLPreset + from noether.core.distributed.utils import accelerator_to_device from noether.training.runners import HydraRunner diff --git a/recipes/aero_cfd/scripts/train_drivaerml.py b/recipes/aero_cfd/scripts/train_drivaerml.py index bf69999d..c3a051e5 100644 --- a/recipes/aero_cfd/scripts/train_drivaerml.py +++ b/recipes/aero_cfd/scripts/train_drivaerml.py @@ -1,6 +1,7 @@ # Copyright © 2026 Emmi AI GmbH. All rights reserved. from aero_cfd.presets import DrivAerMLPreset + from noether.core.distributed.utils import accelerator_to_device from noether.training.runners import HydraRunner diff --git a/recipes/aero_cfd/scripts/train_drivaernet.py b/recipes/aero_cfd/scripts/train_drivaernet.py index ab7f1c73..5bc458ed 100644 --- a/recipes/aero_cfd/scripts/train_drivaernet.py +++ b/recipes/aero_cfd/scripts/train_drivaernet.py @@ -1,6 +1,7 @@ # Copyright © 2026 Emmi AI GmbH. All rights reserved. from aero_cfd.presets import DrivAerNetPreset + from noether.core.distributed.utils import accelerator_to_device from noether.training.runners import HydraRunner diff --git a/recipes/aero_cfd/scripts/train_emmi_wing.py b/recipes/aero_cfd/scripts/train_emmi_wing.py index 921c1cec..0d03ec0f 100644 --- a/recipes/aero_cfd/scripts/train_emmi_wing.py +++ b/recipes/aero_cfd/scripts/train_emmi_wing.py @@ -5,6 +5,7 @@ from pathlib import Path from aero_cfd.presets import EmmiWingPreset + from noether.core.distributed.utils import accelerator_to_device from noether.data.datasets.cfd.emmi_wing.dataset_hf import EmmiWingHFDataset from noether.training.runners import HydraRunner diff --git a/recipes/aero_cfd/scripts/train_shapenet_car.py b/recipes/aero_cfd/scripts/train_shapenet_car.py index 980cfdf3..f7d58b27 100644 --- a/recipes/aero_cfd/scripts/train_shapenet_car.py +++ b/recipes/aero_cfd/scripts/train_shapenet_car.py @@ -1,6 +1,7 @@ # Copyright © 2026 Emmi AI GmbH. All rights reserved. from aero_cfd.presets import ShapeNetCarPreset + from noether.core.distributed.utils import accelerator_to_device from noether.training.runners import HydraRunner diff --git a/recipes/aero_cfd/showcase/utils/forces.py b/recipes/aero_cfd/showcase/utils/forces.py index 979c754a..47b4442f 100644 --- a/recipes/aero_cfd/showcase/utils/forces.py +++ b/recipes/aero_cfd/showcase/utils/forces.py @@ -8,7 +8,6 @@ from pathlib import Path import torch - from aero_cfd.utils.drag_lift import FlowConditions, compute_force_coefficients diff --git a/src/noether/modeling/models/ab_upt.py b/src/noether/modeling/models/ab_upt.py index aff9a9e8..cb3bd110 100644 --- a/src/noether/modeling/models/ab_upt.py +++ b/src/noether/modeling/models/ab_upt.py @@ -63,7 +63,7 @@ class ReadoutLayer(nn.Module): def __init__(self, decoder_config: LinearProjectionConfig, hidden_dim: int, condition_dim: int | None = None): super().__init__() - self.norm_final = nn.LayerNorm(hidden_dim, elementwise_affine=condition_dim is None, eps=1e-6) + self.norm_final = nn.RMSNorm(hidden_dim, elementwise_affine=condition_dim is None, eps=1e-6) self.linear = LinearProjection(config=decoder_config) self.modulation = None if condition_dim is not None: diff --git a/src/noether/modeling/models/aerodynamics.py b/src/noether/modeling/models/aerodynamics.py index c3405048..62cb4bd6 100644 --- a/src/noether/modeling/models/aerodynamics.py +++ b/src/noether/modeling/models/aerodynamics.py @@ -150,7 +150,7 @@ def __init__(self, model_config: AeroTransformerConfig, **kwargs): self.backbone = Transformer(config=model_config) - self.norm = nn.LayerNorm(hidden_dim, eps=1e-6) + self.norm = nn.RMSNorm(hidden_dim, eps=1e-6) self.out = LinearProjection( config=LinearProjectionConfig( input_dim=hidden_dim, @@ -258,7 +258,7 @@ def __init__(self, model_config: AeroTransolverConfig, **kwargs): self.backbone = Transformer(config=model_config) - self.norm = nn.LayerNorm(hidden_dim, eps=1e-6) + self.norm = nn.RMSNorm(hidden_dim, eps=1e-6) self.out = LinearProjection( config=LinearProjectionConfig( input_dim=hidden_dim, diff --git a/src/noether/modeling/models/upt.py b/src/noether/modeling/models/upt.py index 55c04fa5..3cbc0d79 100644 --- a/src/noether/modeling/models/upt.py +++ b/src/noether/modeling/models/upt.py @@ -39,7 +39,7 @@ def __init__( self.decoder = DeepPerceiverDecoder(config=config.decoder_config) # type: ignore[arg-type] - self.norm = nn.LayerNorm( + self.norm = nn.RMSNorm( config.decoder_config.perceiver_block_config.hidden_dim, eps=config.decoder_config.perceiver_block_config.eps, ) diff --git a/src/noether/modeling/modules/blocks/perceiver.py b/src/noether/modeling/modules/blocks/perceiver.py index 18afde14..874a6ae9 100644 --- a/src/noether/modeling/modules/blocks/perceiver.py +++ b/src/noether/modeling/modules/blocks/perceiver.py @@ -43,11 +43,9 @@ def __init__( "If modulation is enabled, modulation_linear_projection_config must be provided. Likely condition_dim is not set." ) - self.norm1q = torch.nn.LayerNorm( - config.hidden_dim, elementwise_affine=elementwise_affine, bias=config.bias, eps=config.eps - ) - self.norm1kv = torch.nn.LayerNorm( - config.kv_dim or config.hidden_dim, elementwise_affine=elementwise_affine, bias=config.bias, eps=config.eps + self.norm1q = nn.RMSNorm(config.hidden_dim, eps=config.eps, elementwise_affine=elementwise_affine) + self.norm1kv = nn.RMSNorm( + config.kv_dim or config.hidden_dim, eps=config.eps, elementwise_affine=elementwise_affine ) self.attn = PerceiverAttention(config=config.perceiver_attention_config) # type: ignore[arg-type] @@ -56,9 +54,7 @@ def __init__( self.drop_path1 = UnquantizedDropPath(config=config.drop_path_config) # type: ignore[arg-type] - self.norm2 = torch.nn.LayerNorm( - config.hidden_dim, elementwise_affine=elementwise_affine, bias=config.bias, eps=config.eps - ) + self.norm2 = nn.RMSNorm(config.hidden_dim, eps=config.eps, elementwise_affine=elementwise_affine) self.mlp = UpActDownMlp(config=config.up_act_down_mlp_config) # type: ignore[arg-type] self.ls2 = LayerScale(config=config.layerscale_config) # type: ignore[arg-type] diff --git a/tests/unit/noether/modeling/modules/blocks/expected_output.py b/tests/unit/noether/modeling/modules/blocks/expected_output.py index 77ff3a05..553ce39f 100644 --- a/tests/unit/noether/modeling/modules/blocks/expected_output.py +++ b/tests/unit/noether/modeling/modules/blocks/expected_output.py @@ -38,370 +38,370 @@ ) -PERCEIBER_BLOCK = torch.tensor( +PERCEIVER_BLOCK = torch.tensor( [ [ [ - -1.9872e-01, - 1.8871e00, - 8.4703e-01, - -1.3051e-01, - -1.3274e00, - -4.6750e-02, - -1.3320e00, - -3.4307e-01, - 1.0936e-01, - 1.8029e00, - 3.5229e-01, - 7.3546e-01, - -5.0479e-01, - 1.5872e00, - 1.5418e00, - -7.6004e-01, - ], - [ - 5.4050e-01, - -1.1817e00, - 1.5512e00, - -1.4845e00, - 2.7413e-01, - -1.0760e-02, - 1.3281e-01, - -1.2907e00, - 1.2501e00, - -1.3693e00, - 4.2139e-01, - 8.4158e-01, - -6.8292e-01, - 1.7038e00, - -3.0538e-01, - 6.8399e-01, - ], - [ - 8.1599e-01, - -2.3473e00, - 6.2413e-01, - 9.6797e-01, - -2.7556e-01, - 7.5573e-01, - 7.2800e-01, - 7.7056e-02, - 2.5105e00, - 1.2670e00, - 2.1348e-01, - 1.3412e-01, - -9.6548e-01, - 4.1990e-01, - -1.2705e00, - 2.8756e-01, - ], - [ - -1.0351e00, - -6.9041e-01, - 9.4818e-02, - -1.6032e-01, - 5.9894e-01, - 1.7404e-01, - 1.3919e00, - -1.2669e00, - -4.1507e-01, - -1.6467e00, - -5.5838e-02, - -8.8078e-02, - -1.0483e00, - 8.2124e-01, - -8.5954e-01, - 7.8822e-01, - ], - [ - -1.1700e00, - 4.1931e-01, - -6.2732e-01, - -6.2216e-01, - 1.0838e00, - 6.2575e-01, - 2.8117e-01, - 1.3169e00, - -1.2414e00, - -1.0412e-01, - -2.4293e-01, - -3.0975e-01, - -1.3028e00, - 9.7078e-01, - -6.6667e-02, - 2.7419e00, - ], - [ - 1.1849e00, - -6.2732e-01, - -3.7988e-01, - 2.0537e00, - -3.0586e-01, - -5.3130e-01, - 5.6299e-01, - -2.0911e00, - 3.7489e-01, - 1.8810e-02, - -4.9066e-01, - -2.4159e-01, - 8.9770e-01, - 8.4995e-01, - 2.0351e00, - -2.1774e00, - ], - [ - -1.4556e-01, - 8.6588e-01, - -1.0611e00, - -4.8231e-01, - 8.3171e-01, - 5.6357e-01, - 9.8481e-01, - 2.4826e-01, - -1.3711e00, - 7.7220e-01, - 2.7152e-01, - 3.0619e-01, - -2.7013e-03, - -6.4633e-01, - 9.9239e-01, - 1.5800e00, - ], - [ - 3.7662e-01, - 9.1198e-01, - 3.5977e-01, - -2.6888e-01, - -8.0189e-01, - 5.5679e-02, - -4.5470e-01, - -8.7870e-01, - -3.3773e-01, - -2.8582e-01, - 1.3893e-01, - -1.6134e00, - -5.9015e-02, - -7.6691e-01, - 1.1272e00, - 2.1909e-01, - ], - [ - 1.1560e00, - 1.4577e00, - -2.2667e-01, - 7.7902e-01, - -1.8721e-01, - 6.0903e-02, - 2.6648e-01, - 6.0802e-01, - 1.5244e-02, - -2.0332e-01, - 1.6591e00, - 1.3325e00, - 1.2658e00, - -4.5551e-01, - 6.3707e-01, - 3.4232e-01, - ], - [ - -4.4552e-01, - -7.3554e-01, - 1.2373e-01, - -9.6046e-02, - -4.4514e-01, - -3.3688e-01, - -7.7101e-01, + -1.9699e-01, + 1.8921e00, + 8.4150e-01, + -1.2723e-01, + -1.3302e00, + -4.3195e-02, + -1.3349e00, + -3.4463e-01, + 1.1011e-01, + 1.8009e00, + 3.5318e-01, + 7.3241e-01, + -5.0193e-01, + 1.5894e00, + 1.5363e00, + -7.5939e-01, + ], + [ + 5.4102e-01, + -1.1801e00, + 1.5499e00, + -1.4836e00, + 2.7315e-01, + -9.9843e-03, + 1.3171e-01, + -1.2916e00, + 1.2506e00, + -1.3701e00, + 4.2175e-01, + 8.4098e-01, + -6.8223e-01, + 1.7039e00, + -3.0697e-01, + 6.8427e-01, + ], + [ + 8.1742e-01, + -2.3432e00, + 6.2025e-01, + 9.7057e-01, + -2.7813e-01, + 7.5767e-01, + 7.2533e-01, + 7.5109e-02, + 2.5110e00, + 1.2643e00, + 2.1518e-01, + 1.3183e-01, + -9.6382e-01, + 4.2101e-01, + -1.2755e00, + 2.8790e-01, + ], + [ + -1.0369e00, + -6.9434e-01, + 9.9965e-02, + -1.6263e-01, + 6.0144e-01, + 1.7053e-01, + 1.3938e00, + -1.2657e00, + -4.1513e-01, + -1.6452e00, + -5.7073e-02, + -8.5698e-02, + -1.0500e00, + 8.1988e-01, + -8.5432e-01, + 7.8833e-01, + ], + [ + -1.1692e00, + 4.2158e-01, + -6.2909e-01, + -6.2094e-01, + 1.0825e00, + 6.2679e-01, + 2.7980e-01, + 1.3158e00, + -1.2410e00, + -1.0519e-01, + -2.4258e-01, + -3.1063e-01, + -1.3017e00, + 9.7094e-01, + -6.9048e-02, + 2.7423e00, + ], + [ + 1.1852e00, + -6.2591e-01, + -3.8134e-01, + 2.0545e00, + -3.0668e-01, + -5.3066e-01, + 5.6217e-01, + -2.0918e00, + 3.7526e-01, + 1.7916e-02, + -4.9042e-01, + -2.4245e-01, + 8.9857e-01, + 8.5024e-01, + 2.0339e00, + -2.1772e00, + ], + [ + -1.4361e-01, + 8.7131e-01, + -1.0661e00, + -4.7869e-01, + 8.2860e-01, + 5.6573e-01, + 9.8239e-01, + 2.4580e-01, + -1.3707e00, + 7.6988e-01, + 2.7206e-01, + 3.0402e-01, + -2.0474e-04, + -6.4560e-01, + 9.8670e-01, + 1.5811e00, + ], + [ + 3.7482e-01, + 9.0876e-01, + 3.6356e-01, + -2.7134e-01, + -8.0040e-01, + 5.3250e-02, + -4.5336e-01, + -8.7810e-01, + -3.3785e-01, + -2.8422e-01, + 1.3771e-01, + -1.6111e00, + -6.0065e-02, + -7.6792e-01, + 1.1312e00, + 2.1825e-01, + ], + [ + 1.1616e00, + 1.4739e00, + -2.4285e-01, + 7.8336e-01, + -1.9497e-01, + 6.5859e-02, + 2.6191e-01, + 6.0351e-01, + 1.8208e-02, + -2.0762e-01, + 1.6585e00, + 1.3262e00, + 1.2728e00, + -4.5160e-01, + 6.2262e-01, + 3.4494e-01, + ], + [ + -4.4624e-01, + -7.3719e-01, + 1.2603e-01, + -9.7720e-02, + -4.4401e-01, + -3.3801e-01, + -7.7037e-01, -1.3779e00, - -2.6191e-01, - 1.1419e00, - 1.1281e00, - -2.8594e-01, - 3.7748e-01, - 1.7674e-01, - 1.2765e00, - -8.3818e-01, + -2.6165e-01, + 1.1427e00, + 1.1277e00, + -2.8505e-01, + 3.7696e-01, + 1.7550e-01, + 1.2787e00, + -8.3827e-01, ], ], [ [ - -1.2832e00, - 2.9522e-03, - 2.1527e-02, - -2.9222e-01, - -5.7280e-01, - -1.3747e-01, - -5.1406e-01, - 1.4482e00, - -4.9457e-01, - 2.1867e00, - -2.3990e00, - -9.1680e-01, - -1.1920e00, - -5.8262e-01, - -9.6119e-02, - 1.6821e00, - ], - [ - 1.2880e-01, - -7.3709e-01, - 6.4671e-01, - -1.1127e-01, - -1.6382e00, - -8.6861e-02, - 1.7614e00, - -1.9117e00, - -3.0333e-01, - -2.8812e00, - 1.8418e00, - 4.5593e-01, - -1.3148e00, - -2.4314e-01, - -7.1665e-01, - -2.7757e-01, - ], - [ - -8.4530e-01, - -5.2017e-01, - 9.2192e-01, - -4.1262e-01, - -1.2291e00, - -1.5317e00, - -3.3726e-01, - 3.3878e-01, - -1.2996e00, - 6.5946e-02, - 4.6152e-01, - -1.7505e00, - -1.7658e-01, - -1.4661e00, - -2.8918e-01, - 5.0069e-01, - ], - [ - 5.7651e-02, - 4.6073e-01, - -1.7989e00, - 4.4591e-01, - 3.9324e-01, - -2.8623e-01, - 8.7604e-01, - -2.6066e00, - 5.9965e-01, - 7.6068e-02, - -8.9149e-01, - 5.4472e-01, - -2.4163e00, - -8.7089e-01, - -1.0491e00, - 8.7957e-01, - ], - [ - 5.2029e-01, - -2.0901e-01, - -2.7745e-02, - 2.3378e00, - 3.0790e-01, - 1.4336e-01, - 6.1983e-01, - 3.1587e-01, - -3.2528e-01, - 2.0781e-01, - 6.2838e-01, - -5.8113e-01, - -9.5575e-01, - -1.1669e00, - -7.6828e-01, - 6.7012e-01, - ], - [ - -1.4227e00, - 9.4062e-01, - 3.6570e-01, - 1.4248e00, - -8.5157e-01, - 1.5480e00, - 9.3668e-01, - -1.3673e00, - -4.3152e-01, - 1.0167e-01, - 1.1457e00, - 8.2950e-01, - -3.3226e-01, - 2.6309e00, - 6.9577e-01, - -1.0985e00, - ], - [ - 3.4727e-01, - -4.6882e-01, - 4.0991e-01, - -1.1682e00, - 1.4562e00, - -1.0215e00, - 5.8703e-01, - -1.1974e00, - -9.5715e-02, - 5.4539e-01, - -4.6980e-01, - -1.1657e00, - 2.0645e00, - 1.0997e00, - 4.2453e-01, + -1.2846e00, + -8.0185e-04, + 2.4631e-02, + -2.9425e-01, + -5.7106e-01, + -1.3952e-01, + -5.1216e-01, + 1.4494e00, + -4.9483e-01, + 2.1886e00, + -2.3997e00, + -9.1521e-01, + -1.1930e00, + -5.8340e-01, + -9.2317e-02, + 1.6817e00, + ], + [ + 1.2671e-01, + -7.4045e-01, + 6.5163e-01, + -1.1401e-01, + -1.6354e00, + -8.9870e-02, + 1.7632e00, + -1.9103e00, + -3.0433e-01, + -2.8790e00, + 1.8402e00, + 4.5932e-01, + -1.3164e00, + -2.4466e-01, + -7.1074e-01, + -2.7785e-01, + ], + [ + -8.5156e-01, + -5.2703e-01, + 9.2877e-01, + -4.1786e-01, + -1.2257e00, + -1.5387e00, + -3.3556e-01, + 3.4207e-01, + -1.3021e00, + 7.1245e-02, + 4.5664e-01, + -1.7432e00, + -1.7817e-01, + -1.4683e00, + -2.7908e-01, + 4.9949e-01, + ], + [ + 5.5933e-02, + 4.5509e-01, + -1.7924e00, + 4.4304e-01, + 3.9626e-01, + -2.9052e-01, + 8.7966e-01, + -2.6047e00, + 5.9963e-01, + 7.9104e-02, + -8.9230e-01, + 5.4759e-01, + -2.4184e00, + -8.7250e-01, + -1.0432e00, + 8.7899e-01, + ], + [ + 5.2112e-01, + -2.0685e-01, + -2.9987e-02, + 2.3391e00, + 3.0662e-01, + 1.4457e-01, + 6.1888e-01, + 3.1488e-01, + -3.2506e-01, + 2.0656e-01, + 6.2897e-01, + -5.8242e-01, + -9.5471e-01, + -1.1662e00, + -7.7087e-01, + 6.7044e-01, + ], + [ + -1.4206e00, + 9.4547e-01, + 3.6033e-01, + 1.4280e00, + -8.5483e-01, + 1.5514e00, + 9.3433e-01, + -1.3688e00, + -4.3116e-01, + 9.9732e-02, + 1.1471e00, + 8.2643e-01, + -3.2997e-01, + 2.6330e00, + 6.9004e-01, + -1.0981e00, + ], + [ + 3.4715e-01, + -4.6920e-01, + 4.1035e-01, + -1.1685e00, + 1.4564e00, + -1.0217e00, + 5.8718e-01, + -1.1973e00, + -9.5747e-02, + 5.4561e-01, + -4.6989e-01, + -1.1655e00, + 2.0643e00, + 1.0996e00, + 4.2489e-01, -1.6526e00, ], [ - 1.5936e-02, - -2.3195e-02, - -5.4964e-01, - -6.9989e-01, - -1.1341e00, - -6.9916e-01, - -1.0908e00, - -5.7949e-02, - 1.7335e00, - 1.2239e-01, - 6.2136e-01, - 9.7468e-01, - 1.8242e00, - -2.2672e-01, - 3.0555e-01, - 1.1568e00, - ], - [ - -1.0894e00, - -1.4670e-03, - -8.3751e-01, - -9.0982e-01, - 1.5297e-01, - 4.2035e-01, - 5.3884e-01, - -9.8296e-01, - -1.4241e00, - 1.9568e00, - 6.2878e-01, - -4.6288e-01, - -1.3586e-02, - -3.1529e-01, - 9.8523e-01, - 2.6945e-01, - ], - [ - -4.6386e-01, - 8.6225e-01, - -3.1020e-02, - 5.5509e-01, - 7.2808e-01, - -5.6839e-02, - 7.9728e-01, - 4.5326e-04, - -9.3939e-01, - 7.6188e-01, - 1.5671e00, - 6.3086e-01, - -6.9171e-01, - 9.5051e-02, - -3.6977e-01, - 1.3042e-01, + 1.7231e-02, + -2.0116e-02, + -5.5294e-01, + -6.9772e-01, + -1.1358e00, + -6.9767e-01, + -1.0922e00, + -5.8551e-02, + 1.7340e00, + 1.2121e-01, + 6.2211e-01, + 9.7278e-01, + 1.8255e00, + -2.2550e-01, + 3.0186e-01, + 1.1572e00, + ], + [ + -1.0899e00, + -2.9773e-03, + -8.3603e-01, + -9.1078e-01, + 1.5384e-01, + 4.1955e-01, + 5.3944e-01, + -9.8254e-01, + -1.4242e00, + 1.9577e00, + 6.2848e-01, + -4.6216e-01, + -1.4210e-02, + -3.1593e-01, + 9.8690e-01, + 2.6924e-01, + ], + [ + -4.6154e-01, + 8.6809e-01, + -3.6587e-02, + 5.5872e-01, + 7.2403e-01, + -5.3270e-02, + 7.9516e-01, + -1.9120e-03, + -9.3815e-01, + 7.5863e-01, + 1.5688e00, + 6.2845e-01, + -6.8848e-01, + 9.7041e-02, + -3.7644e-01, + 1.3172e-01, ], ], ] @@ -411,371 +411,372 @@ [ [ [ - 0.2987, - 0.1710, - 0.0874, - 0.1070, - 1.0609, - 1.8368, - -0.5698, - -1.4487, - -0.2512, - 1.1667, - -0.4272, - -0.2945, - 0.1460, - 1.6644, - -2.6264, - -0.4318, - ], - [ - -0.0974, - -0.4372, - -1.9781, - -0.0376, - -0.7857, - -0.1179, - 1.8986, - 0.4533, - -0.5830, - 0.1756, - -0.2026, - -1.2683, - 0.8690, - 0.1411, - -1.4022, - 0.4120, - ], - [ - 1.4573, - -0.5374, - 0.8994, - -1.1398, - -1.3103, - -0.0956, - -2.4080, - -0.0092, - -0.6621, - 0.7977, - -0.0690, - -1.5179, - 0.2031, - -0.2464, - 0.2370, - 0.7602, - ], - [ - -0.5073, - 0.7488, - 1.0689, - -2.6347, - 0.6936, - -0.3235, - 0.5931, - -0.6219, - 1.6465, - -1.7073, - 0.0993, - -0.2896, - 1.0165, - -0.6589, - -0.4014, - -1.7983, - ], - [ - -0.3798, - 0.2318, - -0.7339, - -0.3998, - 1.2054, - -0.6917, - -1.5127, - 2.0223, - -0.8074, - 0.0932, - 0.2739, - 0.5442, - -2.4769, - 0.2099, - 0.2522, - -0.7333, - ], - [ - -1.3812, - -0.2091, - 0.8885, - 0.1862, - 0.5017, - -1.0082, - -1.3382, - -0.4522, - -0.1597, - -1.6080, - 0.1807, - 1.8638, - -1.1996, - -0.0730, - 0.1434, - -0.1497, - ], - [ - -0.4496, - 0.3060, - 0.9799, - -0.5400, - -0.4221, - 0.4049, - -0.3204, - 0.8829, - 0.6647, - -2.1901, - 0.4852, - 0.6874, - 1.6453, - -0.0984, - -0.9705, - 0.9076, - ], - [ - -0.9098, - 1.1626, - -1.4671, - 1.7207, - -0.3657, - 2.3592, - -0.4577, - -0.0585, - -1.2389, - -0.0240, - -2.0452, - 0.1932, - 0.5747, - -0.5138, - 0.9216, - 0.9877, - ], - [ - 0.0544, - 0.1561, - 0.6564, - 0.0226, - 0.8454, - 2.0737, - -0.3827, - -0.9432, - -0.4603, - -0.6954, - 0.3020, - -1.3905, - 1.3009, - -1.8029, - 1.8391, - -0.7233, - ], - [ - 0.6305, - -0.0678, - -1.2138, - -0.5290, - -1.5533, - -1.2025, - 0.2733, - -0.6120, - 0.9866, - 1.6195, - 0.5049, - -0.1242, - 0.0329, - 1.3147, - -0.6871, - -0.1035, + 2.9838e-01, + 1.7126e-01, + 8.7607e-02, + 1.0738e-01, + 1.0603e00, + 1.8367e00, + -5.7008e-01, + -1.4483e00, + -2.5143e-01, + 1.1669e00, + -4.2758e-01, + -2.9458e-01, + 1.4562e-01, + 1.6644e00, + -2.6262e00, + -4.3175e-01, + ], + [ + -9.7878e-02, + -4.3677e-01, + -1.9772e00, + -3.6714e-02, + -7.8681e-01, + -1.1854e-01, + 1.8978e00, + 4.5365e-01, + -5.8327e-01, + 1.7626e-01, + -2.0235e-01, + -1.2679e00, + 8.6835e-01, + 1.4124e-01, + -1.4023e00, + 4.1173e-01, + ], + [ + 1.4570e00, + -5.3661e-01, + 9.0018e-01, + -1.1391e00, + -1.3112e00, + -9.6248e-02, + -2.4089e00, + -8.9317e-03, + -6.6232e-01, + 7.9844e-01, + -6.8726e-02, + -1.5173e00, + 2.0212e-01, + -2.4613e-01, + 2.3697e-01, + 7.6006e-01, + ], + [ + -5.0764e-01, + 7.4937e-01, + 1.0697e00, + -2.6339e00, + 6.9272e-01, + -3.2408e-01, + 5.9240e-01, + -6.2163e-01, + 1.6463e00, + -1.7067e00, + 9.9320e-02, + -2.8918e-01, + 1.0159e00, + -6.5865e-01, + -4.0141e-01, + -1.7984e00, + ], + [ + -3.8006e-01, + 2.3230e-01, + -7.3308e-01, + -3.9914e-01, + 1.2045e00, + -6.9225e-01, + -1.5134e00, + 2.0226e00, + -8.0761e-01, + 9.3737e-02, + 2.7412e-01, + 5.4463e-01, + -2.4776e00, + 2.1004e-01, + 2.5220e-01, + -7.3346e-01, + ], + [ + -1.3814e00, + -2.0870e-01, + 8.8963e-01, + 1.8700e-01, + 5.0062e-01, + -1.0089e00, + -1.3390e00, + -4.5183e-01, + -1.5984e-01, + -1.6073e00, + 1.8123e-01, + 1.8644e00, + -1.2004e00, + -7.2672e-02, + 1.4320e-01, + -1.4994e-01, + ], + [ + -4.4996e-01, + 3.0626e-01, + 9.7965e-01, + -5.3987e-01, + -4.2235e-01, + 4.0507e-01, + -3.2054e-01, + 8.8324e-01, + 6.6452e-01, + -2.1902e00, + 4.8438e-01, + 6.8704e-01, + 1.6450e00, + -9.8583e-02, + -9.7032e-01, + 9.0766e-01, + ], + [ + -9.1012e-01, + 1.1629e00, + -1.4670e00, + 1.7210e00, + -3.6624e-01, + 2.3591e00, + -4.5800e-01, + -5.8167e-02, + -1.2391e00, + -2.3804e-02, + -2.0457e00, + 1.9308e-01, + 5.7434e-01, + -5.1394e-01, + 9.2175e-01, + 9.8776e-01, + ], + [ + 5.4119e-02, + 1.5637e-01, + 6.5645e-01, + 2.2937e-02, + 8.4491e-01, + 2.0736e00, + -3.8298e-01, + -9.4291e-01, + -4.6045e-01, + -6.9520e-01, + 3.0155e-01, + -1.3907e00, + 1.3006e00, + -1.8030e00, + 1.8393e00, + -7.2323e-01, + ], + [ + 6.3014e-01, + -6.7463e-02, + -1.2134e00, + -5.2848e-01, + -1.5540e00, + -1.2028e00, + 2.7283e-01, + -6.1163e-01, + 9.8645e-01, + 1.6198e00, + 5.0474e-01, + -1.2408e-01, + 3.2461e-02, + 1.3147e00, + -6.8706e-01, + -1.0350e-01, ], ], [ [ - 0.3722, - 0.6631, - 0.0579, - 0.7016, - -0.1608, - -1.0913, - 0.0232, - 0.4953, - -0.5769, - 0.6913, - 0.6749, - 0.5393, - -0.1781, - -0.7603, - 0.4883, - -1.4567, - ], - [ - 0.9310, - 0.2996, - -0.5292, - -0.2864, - 0.9601, - 1.7281, - -0.8070, - -0.2853, - -1.2598, - 0.0833, - 0.9996, - -0.7666, - -0.3689, - -0.1586, - 0.7312, - -0.4994, - ], - [ - -0.3036, - 0.9782, - 0.9017, - -0.9006, - -0.2319, - -0.9450, - -0.1538, - 1.0294, - 0.1789, - -0.2701, - 0.1591, - 1.1126, - -0.5714, - -0.9879, - -1.6782, - 1.8298, - ], - [ - -1.4060, - -0.1321, - -0.5814, - 1.0310, - 0.1669, - 0.1293, - 0.3375, - 1.0267, - -1.1576, - 0.2116, - 0.0724, - 0.4408, - 0.0254, - 0.1845, - 0.0339, - -1.8930, - ], - [ - 0.5482, - 0.2016, - -0.3331, - -1.3213, - -0.2425, - -0.4935, - 1.6462, - 0.8034, - 0.6938, - -0.9276, - 0.1874, - 0.0358, - -1.0279, - 0.3192, - -0.8468, - -2.1074, - ], - [ - 0.5162, - 0.6215, - 0.0208, - 1.3751, - -0.0211, - -0.1137, - -0.2875, - -0.1018, - 0.3427, - -0.2205, - -0.0986, - -0.5162, - 0.5160, - 0.3976, - 0.5623, - -0.0033, - ], - [ - -0.5035, - 0.4694, - -0.5886, - -0.4120, - 0.5295, - 1.3171, - -0.7917, - -0.5066, - 0.2353, - 1.2164, - 0.2118, - 1.2476, - 2.4633, - 0.1455, - 1.8384, - -0.2282, - ], - [ - 0.9652, - 0.0429, - -2.0354, - -1.0927, - -0.1751, - -1.0654, - 0.9205, - -0.1600, - 0.3693, - -0.2579, - 0.1277, - -1.7042, - 0.6414, - -0.6828, - -1.6438, - 0.1602, - ], - [ - -0.3631, - -0.1321, - -0.3041, - -1.7101, - 0.2306, - -0.4020, - -1.4054, - -0.8635, - 0.8307, - 0.1781, - 1.0022, - -0.6792, - 0.0312, - -1.0366, - 1.4263, - 0.3639, - ], - [ - 0.8436, - 0.4723, - 0.5435, - 0.0035, - -0.5429, - 0.1792, - -0.7729, - -1.0325, - 0.7302, - 1.6696, - 0.3535, - 0.3026, - 0.0482, - 0.5066, - -0.0296, - -1.8559, + 3.7233e-01, + 6.6301e-01, + 5.7612e-02, + 7.0148e-01, + -1.6063e-01, + -1.0913e00, + 2.3381e-02, + 4.9529e-01, + -5.7682e-01, + 6.9116e-01, + 6.7480e-01, + 5.3917e-01, + -1.7795e-01, + -7.6037e-01, + 4.8838e-01, + -1.4567e00, + ], + [ + 9.3107e-01, + 2.9953e-01, + -5.2947e-01, + -2.8655e-01, + 9.6032e-01, + 1.7283e00, + -8.0676e-01, + -2.8530e-01, + -1.2597e00, + 8.3121e-02, + 9.9947e-01, + -7.6673e-01, + -3.6870e-01, + -1.5868e-01, + 7.3130e-01, + -4.9935e-01, + ], + [ + -3.0351e-01, + 9.7811e-01, + 9.0159e-01, + -9.0063e-01, + -2.3179e-01, + -9.4498e-01, + -1.5372e-01, + 1.0294e00, + 1.7893e-01, + -2.7020e-01, + 1.5912e-01, + 1.1126e00, + -5.7129e-01, + -9.8791e-01, + -1.6782e00, + 1.8298e00, + ], + [ + -1.4059e00, + -1.3214e-01, + -5.8101e-01, + 1.0312e00, + 1.6680e-01, + 1.2908e-01, + 3.3739e-01, + 1.0267e00, + -1.1575e00, + 2.1173e-01, + 7.2886e-02, + 4.4114e-01, + 2.5281e-02, + 1.8461e-01, + 3.3815e-02, + -1.8931e00, + ], + [ + 5.4817e-01, + 2.0165e-01, + -3.3241e-01, + -1.3209e00, + -2.4280e-01, + -4.9396e-01, + 1.6459e00, + 8.0329e-01, + 6.9388e-01, + -9.2737e-01, + 1.8800e-01, + 3.6367e-02, + -1.0281e00, + 3.1946e-01, + -8.4688e-01, + -2.1077e00, + ], + [ + 5.1639e-01, + 6.2116e-01, + 1.9285e-02, + 1.3747e00, + -2.0656e-02, + -1.1299e-01, + -2.8660e-01, + -1.0224e-01, + 3.4257e-01, + -2.2108e-01, + -9.9400e-02, + -5.1705e-01, + 5.1652e-01, + 3.9698e-01, + 5.6252e-01, + -3.0944e-03, + ], + [ + -5.0308e-01, + 4.6915e-01, + -5.9016e-01, + -4.1293e-01, + 5.3041e-01, + 1.3182e00, + -7.9081e-01, + -5.0675e-01, + 2.3531e-01, + 1.2158e00, + 2.1092e-01, + 1.2466e00, + 2.4638e00, + 1.4476e-01, + 1.8387e00, + -2.2752e-01, + ], + [ + 9.6482e-01, + 4.3493e-02, + -2.0346e00, + -1.0919e00, + -1.7560e-01, + -1.0663e00, + 9.2010e-01, + -1.6013e-01, + 3.6920e-01, + -2.5736e-01, + 1.2857e-01, + -1.7032e00, + 6.4084e-01, + -6.8223e-01, + -1.6444e00, + 1.5987e-01, + ], + [ + -3.6305e-01, + -1.3185e-01, + -3.0372e-01, + -1.7098e00, + 2.3049e-01, + -4.0246e-01, + -1.4058e00, + -8.6362e-01, + 8.3076e-01, + 1.7841e-01, + 1.0028e00, + -6.7860e-01, + 3.0786e-02, + -1.0363e00, + 1.4260e00, + 3.6384e-01, + ], + [ + 8.4376e-01, + 4.7218e-01, + 5.4307e-01, + 3.2406e-03, + -5.4269e-01, + 1.7942e-01, + -7.7257e-01, + -1.0326e00, + 7.3026e-01, + 1.6694e00, + 3.5334e-01, + 3.0237e-01, + 4.8461e-02, + 5.0647e-01, + -2.9403e-02, + -1.8558e00, ], ], ] ) + DIT_BLOCK = torch.tensor( [ [ diff --git a/tests/unit/noether/modeling/modules/blocks/test_perceiver.py b/tests/unit/noether/modeling/modules/blocks/test_perceiver.py index 1dfe525b..b563c4ac 100644 --- a/tests/unit/noether/modeling/modules/blocks/test_perceiver.py +++ b/tests/unit/noether/modeling/modules/blocks/test_perceiver.py @@ -9,7 +9,7 @@ from noether.modeling.modules.layers import UnquantizedDropPath from noether.modeling.modules.mlp import UpActDownMlp -from .expected_output import DIT_PERCEIVER_BLOCK, PERCEIBER_BLOCK +from .expected_output import DIT_PERCEIVER_BLOCK, PERCEIVER_BLOCK def test_perceiver_block_initialization(): @@ -18,7 +18,7 @@ def test_perceiver_block_initialization(): kv_dim = 32 mlp_hidden_dim = 128 drop_path = 0.1 - norm_ctor = nn.LayerNorm + norm_ctor = nn.RMSNorm eps = 1e-5 init_weights = "truncnormal002" @@ -35,11 +35,11 @@ def test_perceiver_block_initialization(): block = PerceiverBlock(config=config) # Check if the attributes are correctly initialized - assert isinstance(block.norm1q, nn.LayerNorm) + assert isinstance(block.norm1q, nn.RMSNorm) assert block.norm1q.normalized_shape == (dim,) assert block.norm1q.eps == eps - assert isinstance(block.norm1kv, nn.LayerNorm) + assert isinstance(block.norm1kv, nn.RMSNorm) assert block.norm1kv.normalized_shape == (kv_dim,) assert block.norm1kv.eps == eps @@ -48,7 +48,7 @@ def test_perceiver_block_initialization(): assert isinstance(block.drop_path1, UnquantizedDropPath) assert block.drop_path1.drop_prob == drop_path - assert isinstance(block.norm2, nn.LayerNorm) + assert isinstance(block.norm2, nn.RMSNorm) assert block.norm2.normalized_shape == (dim,) assert block.norm2.eps == eps @@ -84,7 +84,7 @@ def test_perceiver_block_forward(): kv_dim = 8 mlp_hidden_dim = 128 drop_path = 0.1 - norm_ctor = nn.LayerNorm + norm_ctor = nn.RMSNorm eps = 1e-5 init_weights = "truncnormal002" @@ -111,7 +111,7 @@ def test_perceiver_block_forward(): assert output.shape == q.shape assert not torch.isnan(output).any() - assert torch.allclose(output, PERCEIBER_BLOCK, 1e-2) + assert torch.allclose(output, PERCEIVER_BLOCK, 1e-2) # @pytest.mark.skip(reason="Assertion error: config.kv_dim is None") diff --git a/tests/unit/noether/modeling/modules/blocks/test_transformer.py b/tests/unit/noether/modeling/modules/blocks/test_transformer.py index 991ff9fe..e0c25b6b 100644 --- a/tests/unit/noether/modeling/modules/blocks/test_transformer.py +++ b/tests/unit/noether/modeling/modules/blocks/test_transformer.py @@ -37,7 +37,6 @@ def test_transformer_block_forward(): num_heads=num_heads, mlp_hidden_dim=mlp_hidden_dim, drop_path=drop_path, - normalization_constructor=torch.nn.LayerNorm, attention_constructor=attention_constructor, layerscale=layerscale, eps=eps, diff --git a/tests/unit/noether/modeling/modules/test_rope.py b/tests/unit/noether/modeling/modules/test_rope.py index 55a9cc5a..874a8d34 100644 --- a/tests/unit/noether/modeling/modules/test_rope.py +++ b/tests/unit/noether/modeling/modules/test_rope.py @@ -26,235 +26,235 @@ ] ) -EXPECTED_OUTPUT_TRANSFORMER = torch.Tensor( +EXPECTED_OUTPUT_TRANSFORMER = torch.tensor( [ [ [ - 1.2016e00, - 3.4670e-01, - 9.6649e-01, - -6.2874e-01, - 1.0647e00, - -1.8693e00, - -1.1490e00, - 2.0133e00, - -1.3319e00, - 4.9961e-01, - -1.3232e-01, - -1.0726e-01, - -6.0204e-01, - -1.3064e00, - 6.9178e-01, - -1.0479e00, + 1.2020e00, + 3.4760e-01, + 9.6740e-01, + -6.2807e-01, + 1.0641e00, + -1.8679e00, + -1.1471e00, + 2.0125e00, + -1.3303e00, + 4.9845e-01, + -1.3191e-01, + -1.0934e-01, + -6.0162e-01, + -1.3069e00, + 6.9048e-01, + -1.0482e00, ], [ - -1.1403e-01, - 1.1538e00, - -4.4908e-01, - 1.2045e00, - 8.1183e-01, - 2.1009e00, - 1.1232e00, - 1.3549e00, - -5.1542e-01, - -3.3760e-01, - -9.5836e-01, - 1.2702e-02, - 4.7730e-01, - 3.6324e-01, - 7.4763e-02, - 7.8179e-01, + -1.1762e-01, + 1.1533e00, + -4.5457e-01, + 1.2040e00, + 8.1329e-01, + 2.0946e00, + 1.1236e00, + 1.3552e00, + -5.1526e-01, + -3.3662e-01, + -9.5354e-01, + 2.1194e-02, + 4.7831e-01, + 3.6832e-01, + 7.8824e-02, + 7.8473e-01, ], [ - 1.0810e00, - 1.9360e00, - 5.4689e-01, - 4.3009e-02, - -6.4128e-01, - 1.9479e00, - 9.0156e-01, - -8.9924e-01, - -4.3067e-01, - 1.8797e00, - 2.7805e-01, - 1.5734e00, - -4.8331e-01, - -7.5125e-01, - -1.6322e00, - -1.3513e00, + 1.0792e00, + 1.9358e00, + 5.4524e-01, + 4.3306e-02, + -6.4067e-01, + 1.9454e00, + 9.0167e-01, + -8.9915e-01, + -4.2944e-01, + 1.8791e00, + 2.8104e-01, + 1.5766e00, + -4.8257e-01, + -7.4883e-01, + -1.6302e00, + -1.3503e00, ], ], [ [ - -1.0274e00, - -6.4449e-01, - -3.1495e00, - 1.7645e-03, - 5.7879e-01, - 1.7817e00, - -7.3272e-01, - 8.1544e-01, - 5.5103e-02, - 2.4562e-01, - -1.3593e00, - 3.4795e-01, - -3.4434e-02, - -8.0227e-03, - 1.9691e00, - -1.1701e00, + -1.0259e00, + -6.4528e-01, + -3.1489e00, + 2.4705e-03, + 5.7916e-01, + 1.7831e00, + -7.3340e-01, + 8.1630e-01, + 5.3415e-02, + 2.4654e-01, + -1.3614e00, + 3.4650e-01, + -3.4810e-02, + -8.6258e-03, + 1.9686e00, + -1.1694e00, ], [ - 4.4651e-01, - 2.7101e-01, - -1.1847e00, - -9.9352e-01, + 4.4940e-01, + 2.7076e-01, + -1.1832e00, + -9.9185e-01, -1.1059e00, - -9.2329e-01, - 9.9352e-01, - -4.0599e-01, - -8.6103e-01, - -4.7311e-01, - -5.7329e-01, - 2.7870e-01, - 1.9281e00, - -8.2982e-01, - -1.3963e-01, - 2.2341e-01, + -9.2032e-01, + 9.9409e-01, + -4.0536e-01, + -8.6231e-01, + -4.7268e-01, + -5.7649e-01, + 2.7493e-01, + 1.9271e00, + -8.3155e-01, + -1.4182e-01, + 2.2350e-01, ], [ - -2.7558e-01, - -1.4914e-01, - -8.3003e-01, - -3.1375e-01, - -9.8371e-02, - -2.1650e-01, - -2.2605e00, - 4.5438e-01, - 1.2300e00, - 1.5715e-01, - -1.1405e00, - -7.7377e-01, - 9.6159e-01, - -7.0842e-01, - -1.2350e00, - -1.8665e00, + -2.7133e-01, + -1.4920e-01, + -8.2463e-01, + -3.1234e-01, + -9.8254e-02, + -2.1185e-01, + -2.2583e00, + 4.5365e-01, + 1.2284e00, + 1.5603e-01, + -1.1457e00, + -7.8025e-01, + 9.6168e-01, + -7.1040e-01, + -1.2397e00, + -1.8677e00, ], ], ] ) -EXPECTED_OUTPUT_PERCEIVER = torch.Tensor( +EXPECTED_OUTPUT_PERCEIVER = torch.tensor( [ [ [ - 1.2018, - 0.3431, - 0.9595, - -0.6259, - 1.0620, - -1.8655, - -1.1567, - 2.0177, - -1.3313, - 0.5038, - -0.1180, - -0.1093, - -0.6033, - -1.2977, - 0.6872, - -1.0491, + 1.2001e00, + 3.4561e-01, + 9.6043e-01, + -6.2427e-01, + 1.0608e00, + -1.8634e00, + -1.1521e00, + 2.0166e00, + -1.3288e00, + 5.0434e-01, + -1.1973e-01, + -1.1178e-01, + -6.0135e-01, + -1.3007e00, + 6.8579e-01, + -1.0478e00, ], [ - -0.1138, - 1.1502, - -0.4561, - 1.2073, - 0.8091, - 2.1046, - 1.1155, - 1.3594, - -0.5148, - -0.3334, - -0.9440, - 0.0107, - 0.4761, - 0.3719, - 0.0701, - 0.7806, + -1.1953e-01, + 1.1513e00, + -4.6157e-01, + 1.2077e00, + 8.1007e-01, + 2.0992e00, + 1.1186e00, + 1.3593e00, + -5.1379e-01, + -3.3072e-01, + -9.4129e-01, + 1.8699e-02, + 4.7863e-01, + 3.7455e-01, + 7.4125e-02, + 7.8516e-01, ], [ - 1.0812, - 1.9324, - 0.5399, - 0.0458, - -0.6440, - 1.9517, - 0.8939, - -0.8948, - -0.4301, - 1.8839, - 0.2924, - 1.5714, - -0.4845, - -0.7425, - -1.6368, - -1.3525, + 1.0774e00, + 1.9338e00, + 5.3827e-01, + 4.7093e-02, + -6.4390e-01, + 1.9500e00, + 8.9662e-01, + -8.9505e-01, + -4.2797e-01, + 1.8850e00, + 2.9324e-01, + 1.5742e00, + -4.8229e-01, + -7.4257e-01, + -1.6349e00, + -1.3499e00, ], ], [ [ - -1.0268, - -0.6347, - -3.1507, - 0.0095, - 0.5852, - 1.7874, - -0.7276, - 0.8102, - 0.0664, - 0.2419, - -1.3618, - 0.3388, - -0.0331, - -0.0114, - 1.9774, - -1.1582, + -1.0249e00, + -6.3701e-01, + -3.1494e00, + 1.0203e-02, + 5.8396e-01, + 1.7887e00, + -7.2731e-01, + 8.1116e-01, + 6.4484e-02, + 2.4214e-01, + -1.3626e00, + 3.3919e-01, + -3.3264e-02, + -1.1320e-02, + 1.9753e00, + -1.1594e00, ], [ - 0.4470, - 0.2808, - -1.1859, - -0.9858, - -1.0995, - -0.9176, - 0.9986, - -0.4112, - -0.8497, - -0.4769, - -0.5758, - 0.2696, - 1.9295, - -0.8332, - -0.1313, - 0.2354, + 4.5034e-01, + 2.7893e-01, + -1.1836e00, + -9.8420e-01, + -1.1011e00, + -9.1470e-01, + 1.0000e00, + -4.1049e-01, + -8.5132e-01, + -4.7707e-01, + -5.7761e-01, + 2.6768e-01, + 1.9287e00, + -8.3415e-01, + -1.3512e-01, + 2.3356e-01, ], [ - -0.2751, - -0.1393, - -0.8313, - -0.3060, - -0.0920, - -0.2107, - -2.2554, - 0.4492, - 1.2413, - 0.1534, - -1.1430, - -0.7829, - 0.9630, - -0.7117, - -1.2266, - -1.8546, + -2.7040e-01, + -1.4094e-01, + -8.2514e-01, + -3.0468e-01, + -9.3499e-02, + -2.0616e-01, + -2.2523e00, + 4.4854e-01, + 1.2395e00, + 1.5168e-01, + -1.1468e00, + -7.8760e-01, + 9.6318e-01, + -7.1299e-01, + -1.2331e00, + -1.8576e00, ], ], ]