ml4gw 0.5.0__py3-none-any.whl → 0.6.0__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.

Potentially problematic release.


This version of ml4gw might be problematic. Click here for more details.

Files changed (44) hide show
  1. ml4gw/augmentations.py +8 -2
  2. ml4gw/constants.py +10 -19
  3. ml4gw/dataloading/chunked_dataset.py +4 -2
  4. ml4gw/dataloading/hdf5_dataset.py +1 -1
  5. ml4gw/dataloading/in_memory_dataset.py +8 -4
  6. ml4gw/distributions.py +5 -3
  7. ml4gw/gw.py +21 -27
  8. ml4gw/nn/autoencoder/base.py +11 -6
  9. ml4gw/nn/autoencoder/convolutional.py +7 -4
  10. ml4gw/nn/autoencoder/skip_connection.py +7 -6
  11. ml4gw/nn/autoencoder/utils.py +2 -1
  12. ml4gw/nn/norm.py +5 -1
  13. ml4gw/nn/streaming/online_average.py +7 -5
  14. ml4gw/nn/streaming/snapshotter.py +7 -5
  15. ml4gw/spectral.py +41 -37
  16. ml4gw/transforms/__init__.py +1 -0
  17. ml4gw/transforms/pearson.py +7 -3
  18. ml4gw/transforms/qtransform.py +151 -53
  19. ml4gw/transforms/scaler.py +9 -3
  20. ml4gw/transforms/snr_rescaler.py +6 -5
  21. ml4gw/transforms/spectral.py +9 -2
  22. ml4gw/transforms/spectrogram.py +7 -1
  23. ml4gw/transforms/spline_interpolation.py +370 -0
  24. ml4gw/transforms/transform.py +4 -3
  25. ml4gw/transforms/waveforms.py +10 -7
  26. ml4gw/transforms/whitening.py +12 -4
  27. ml4gw/types.py +25 -10
  28. ml4gw/utils/interferometer.py +1 -1
  29. ml4gw/utils/slicing.py +24 -16
  30. ml4gw/waveforms/__init__.py +2 -5
  31. ml4gw/waveforms/adhoc/__init__.py +2 -0
  32. ml4gw/waveforms/{ringdown.py → adhoc/ringdown.py} +8 -9
  33. ml4gw/waveforms/{sine_gaussian.py → adhoc/sine_gaussian.py} +6 -6
  34. ml4gw/waveforms/cbc/__init__.py +3 -0
  35. ml4gw/waveforms/{phenom_d.py → cbc/phenom_d.py} +20 -18
  36. ml4gw/waveforms/{phenom_p.py → cbc/phenom_p.py} +106 -95
  37. ml4gw/waveforms/{taylorf2.py → cbc/taylorf2.py} +33 -27
  38. ml4gw/waveforms/conversion.py +187 -0
  39. ml4gw/waveforms/generator.py +9 -5
  40. {ml4gw-0.5.0.dist-info → ml4gw-0.6.0.dist-info}/METADATA +4 -3
  41. ml4gw-0.6.0.dist-info/RECORD +51 -0
  42. {ml4gw-0.5.0.dist-info → ml4gw-0.6.0.dist-info}/WHEEL +1 -1
  43. ml4gw-0.5.0.dist-info/RECORD +0 -47
  44. /ml4gw/waveforms/{phenom_d_data.py → cbc/phenom_d_data.py} +0 -0
@@ -0,0 +1,187 @@
1
+ import torch
2
+
3
+ from ml4gw.constants import MTSUN_SI, PI
4
+ from ml4gw.types import BatchTensor
5
+
6
+
7
+ def rotate_z(angle: BatchTensor, x, y, z):
8
+ x_tmp = x * torch.cos(angle) - y * torch.sin(angle)
9
+ y_tmp = x * torch.sin(angle) + y * torch.cos(angle)
10
+ return x_tmp, y_tmp, z
11
+
12
+
13
+ def rotate_y(angle, x, y, z):
14
+ x_tmp = x * torch.cos(angle) + z * torch.sin(angle)
15
+ z_tmp = -x * torch.sin(angle) + z * torch.cos(angle)
16
+ return x_tmp, y, z_tmp
17
+
18
+
19
+ def XLALSimInspiralLN(
20
+ total_mass: BatchTensor, eta: BatchTensor, v: BatchTensor
21
+ ):
22
+ """
23
+ See https://git.ligo.org/lscsoft/lalsuite/-/blob/master/lalsimulation/lib/LALSimInspiralPNCoefficients.c#L2173 # noqa
24
+ """
25
+ return total_mass**2 * eta / v
26
+
27
+
28
+ def XLALSimInspiralL_2PN(eta: BatchTensor):
29
+ """
30
+ See https://git.ligo.org/lscsoft/lalsuite/-/blob/master/lalsimulation/lib/LALSimInspiralPNCoefficients.c#L2181 # noqa
31
+ """
32
+ return 1.5 + eta / 6.0
33
+
34
+
35
+ def bilby_spins_to_lalsim(
36
+ theta_jn: BatchTensor,
37
+ phi_jl: BatchTensor,
38
+ tilt_1: BatchTensor,
39
+ tilt_2: BatchTensor,
40
+ phi_12: BatchTensor,
41
+ a_1: BatchTensor,
42
+ a_2: BatchTensor,
43
+ mass_1: BatchTensor,
44
+ mass_2: BatchTensor,
45
+ f_ref: float,
46
+ phi_ref: BatchTensor,
47
+ ):
48
+ """
49
+ Converts between bilby spin and lalsimulation spin conventions.
50
+
51
+ See https://github.com/bilby-dev/bilby/blob/cccdf891e82d46319e69dbfdf48c4970b4e9a727/bilby/gw/conversion.py#L105 # noqa
52
+ and https://git.ligo.org/lscsoft/lalsuite/-/blob/master/lalsimulation/lib/LALSimInspiral.c#L3594 # noqa
53
+
54
+ Args:
55
+ theta_jn: BatchTensor,
56
+ phi_jl: BatchTensor,
57
+ tilt_1: BatchTensor,
58
+ tilt_2: BatchTensor,
59
+ phi_12: BatchTensor,
60
+ a_1: BatchTensor,
61
+ a_2: BatchTensor,
62
+ mass_1: BatchTensor,
63
+ mass_2: BatchTensor,
64
+ f_ref: float,
65
+ phi_ref: BatchTensor,
66
+ """
67
+
68
+ # check if f_ref is valid
69
+ if f_ref <= 0.0:
70
+ raise ValueError(
71
+ "f_ref <= 0 is invalid. "
72
+ "Please pass in the starting GW frequency instead."
73
+ )
74
+
75
+ # starting frame: LNhat is along the z-axis and the unit
76
+ # spin vectors are defined from the angles relative to LNhat.
77
+ # Note that we put s1hat in the x-z plane, and phi12
78
+ # sets the azimuthal angle of s2hat measured from the x-axis.
79
+ lnh_x = 0
80
+ lnh_y = 0
81
+ lnh_z = 1
82
+ # Spins are given wrt to L,
83
+ # but still we cannot fill the spin as we do not know
84
+ # what will be the relative orientation of L and N.
85
+ # Note that these spin components are NOT wrt to binary
86
+ # separation vector, but wrt to binary separation vector
87
+ # at phiref=0.
88
+
89
+ s1hatx = torch.sin(tilt_1) * torch.cos(phi_ref)
90
+ s1haty = torch.sin(tilt_1) * torch.sin(phi_ref)
91
+ s1hatz = torch.cos(tilt_1)
92
+ s2hatx = torch.sin(tilt_2) * torch.cos(phi_12 + phi_ref)
93
+ s2haty = torch.sin(tilt_2) * torch.sin(phi_12 + phi_ref)
94
+ s2hatz = torch.cos(tilt_2)
95
+
96
+ total_mass = mass_1 + mass_2
97
+
98
+ eta = mass_1 * mass_2 / (mass_1 + mass_2) / (mass_1 + mass_2)
99
+
100
+ # v parameter at reference point
101
+ v0 = ((mass_1 + mass_2) * MTSUN_SI * PI * f_ref) ** (1 / 3)
102
+
103
+ # Define S1, S2, J with proper magnitudes */
104
+
105
+ l_mag = XLALSimInspiralLN(total_mass, eta, v0) * (
106
+ 1.0 + v0 * v0 * XLALSimInspiralL_2PN(eta)
107
+ )
108
+ s1x = mass_1 * mass_1 * a_1 * s1hatx
109
+ s1y = mass_1 * mass_1 * a_1 * s1haty
110
+ s1z = mass_1 * mass_1 * a_1 * s1hatz
111
+ s2x = mass_2 * mass_2 * a_2 * s2hatx
112
+ s2y = mass_2 * mass_2 * a_2 * s2haty
113
+ s2z = mass_2 * mass_2 * a_2 * s2hatz
114
+ Jx = s1x + s2x
115
+ Jy = s1y + s2y
116
+ Jz = l_mag + s1z + s2z
117
+
118
+ # Normalize J to Jhat, find its angles in starting frame */
119
+ Jnorm = torch.sqrt(Jx * Jx + Jy * Jy + Jz * Jz)
120
+ Jhatx = Jx / Jnorm
121
+ Jhaty = Jy / Jnorm
122
+ Jhatz = Jz / Jnorm
123
+ theta0 = torch.acos(Jhatz)
124
+ phi0 = torch.atan2(Jhaty, Jhatx)
125
+
126
+ # Rotation 1: Rotate about z-axis by -phi0 to put Jhat in x-z plane
127
+ s1hatx, s1haty, s1hatz = rotate_z(-phi0, s1hatx, s1haty, s1hatz)
128
+ s2hatx, s2haty, s2hatz = rotate_z(-phi0, s2hatx, s2haty, s2hatz)
129
+
130
+ # Rotation 2: Rotate about new y-axis by -theta0
131
+ # to put Jhat along z-axis
132
+
133
+ lnh_x, lnh_y, lnh_z = rotate_y(-theta0, lnh_x, lnh_y, lnh_z)
134
+ s1hatx, s1haty, s1hatz = rotate_y(-theta0, s1hatx, s1haty, s1hatz)
135
+ s2hatx, s2haty, s2hatz = rotate_y(-theta0, s2hatx, s2haty, s2hatz)
136
+
137
+ # Rotation 3: Rotate about new z-axis by phiJL to put L at desired
138
+ # azimuth about J. Note that is currently in x-z plane towards -x
139
+ # (i.e. azimuth=pi). Hence we rotate about z by phiJL - LAL_PI
140
+ lnh_x, lnh_y, lnh_z = rotate_z(phi_jl - PI, lnh_x, lnh_y, lnh_z)
141
+ s1hatx, s1haty, s1hatz = rotate_z(phi_jl - PI, s1hatx, s1haty, s1hatz)
142
+ s2hatx, s2haty, s2hatz = rotate_z(phi_jl - PI, s2hatx, s2haty, s2hatz)
143
+
144
+ # The cosinus of the angle between L and N is the scalar
145
+ # product of the two vectors.
146
+ # We do not need to perform additional rotation to compute it.
147
+ Nx = 0.0
148
+ Ny = torch.sin(theta_jn)
149
+ Nz = torch.cos(theta_jn)
150
+ incl = torch.acos(Nx * lnh_x + Ny * lnh_y + Nz * lnh_z)
151
+
152
+ # Rotation 4-5: Now J is along z and N in y-z plane, inclined from J
153
+ # by thetaJN and with >ve component along y.
154
+ # Now we bring L into the z axis to get spin components.
155
+ thetalj = torch.acos(lnh_z)
156
+ phil = torch.atan2(lnh_y, lnh_x)
157
+
158
+ s1hatx, s1haty, s1hatz = rotate_z(-phil, s1hatx, s1haty, s1hatz)
159
+ s2hatx, s2haty, s2hatz = rotate_z(-phil, s2hatx, s2haty, s2hatz)
160
+ Nx, Ny, Nz = rotate_z(-phil, Nx, Ny, Nz)
161
+
162
+ s1hatx, s1haty, s1hatz = rotate_y(-thetalj, s1hatx, s1haty, s1hatz)
163
+ s2hatx, s2haty, s2hatz = rotate_y(-thetalj, s2hatx, s2haty, s2hatz)
164
+ Nx, Ny, Nz = rotate_y(-thetalj, Nx, Ny, Nz)
165
+
166
+ # Rotation 6: Now L is along z and we have to bring N
167
+ # in the y-z plane with >ve y components.
168
+
169
+ phiN = torch.atan2(Ny, Nx)
170
+ # Note the extra -phiRef here:
171
+ # output spins must be given wrt to two body separations
172
+ # which are rigidly rotated with spins
173
+ s1hatx, s1haty, s1hatz = rotate_z(
174
+ PI / 2.0 - phiN - phi_ref, s1hatx, s1haty, s1hatz
175
+ )
176
+ s2hatx, s2haty, s2hatz = rotate_z(
177
+ PI / 2.0 - phiN - phi_ref, s2hatx, s2haty, s2hatz
178
+ )
179
+
180
+ s1x = s1hatx * a_1
181
+ s1y = s1haty * a_1
182
+ s1z = s1hatz * a_1
183
+ s2x = s2hatx * a_2
184
+ s2y = s2haty * a_2
185
+ s2z = s2hatz * a_2
186
+
187
+ return incl, s1x, s1y, s1z, s2x, s2y, s2z
@@ -1,24 +1,26 @@
1
- from typing import Callable
1
+ from typing import Callable, Dict, Tuple
2
2
 
3
3
  import torch
4
+ from jaxtyping import Float
5
+ from torch import Tensor
4
6
 
5
7
 
6
8
  class ParameterSampler(torch.nn.Module):
7
- def __init__(self, **parameters: Callable):
9
+ def __init__(self, **parameters: Callable) -> None:
8
10
  super().__init__()
9
11
  self.parameters = parameters
10
12
 
11
13
  def forward(
12
14
  self,
13
15
  N: int,
14
- ):
16
+ ) -> Dict[str, Float[Tensor, " {N}"]]:
15
17
  return {k: v.sample((N,)) for k, v in self.parameters.items()}
16
18
 
17
19
 
18
20
  class WaveformGenerator(torch.nn.Module):
19
21
  def __init__(
20
22
  self, waveform: Callable, parameter_sampler: ParameterSampler
21
- ):
23
+ ) -> None:
22
24
  """
23
25
  A torch module that generates waveforms from a given waveform function
24
26
  and a parameter sampler.
@@ -34,6 +36,8 @@ class WaveformGenerator(torch.nn.Module):
34
36
  self.waveform = waveform
35
37
  self.parameter_sampler = parameter_sampler
36
38
 
37
- def forward(self, N: int):
39
+ def forward(
40
+ self, N: int
41
+ ) -> Tuple[Float[Tensor, "{N} samples"], Dict[str, Float[Tensor, " {N}"]]]:
38
42
  parameters = self.parameter_sampler(N)
39
43
  return self.waveform(**parameters), parameters
@@ -1,19 +1,20 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ml4gw
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: Tools for training torch models on gravitational wave data
5
5
  Author: Alec Gunny
6
6
  Author-email: alec.gunny@ligo.org
7
- Requires-Python: >=3.8,<3.12
7
+ Requires-Python: >=3.8,<3.13
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.8
10
10
  Classifier: Programming Language :: Python :: 3.9
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Dist: jaxtyping (>=0.2,<0.3)
13
15
  Requires-Dist: numpy (<2.0.0)
14
16
  Requires-Dist: torch (>=2.0,<3.0)
15
17
  Requires-Dist: torchaudio (>=2.0,<3.0)
16
- Requires-Dist: torchtyping (>=0.1,<0.2)
17
18
  Description-Content-Type: text/markdown
18
19
 
19
20
  # ML4GW
@@ -0,0 +1,51 @@
1
+ ml4gw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ ml4gw/augmentations.py,sha256=pZH9tjEpXV0AIqvHHDkpUE-BorG02beOz2pmSipw2EY,1232
3
+ ml4gw/constants.py,sha256=RQPXwavlw_cWu3ByltvTejPsi6EWXHDJQ1HaV9iE3Lg,850
4
+ ml4gw/dataloading/__init__.py,sha256=EHBBqU7y2-Np5iQ_xyufxamUEM1pPEquqFo7oaJnaJE,149
5
+ ml4gw/dataloading/chunked_dataset.py,sha256=FpDc4gFxt-PMyXs5qSWLuTGXMTuS1B-hH8gUOCOGxZk,5260
6
+ ml4gw/dataloading/hdf5_dataset.py,sha256=UB1Eog8l7m4M78Owst7oYQZICb0DRJer9WVLVn4hl_I,6645
7
+ ml4gw/dataloading/in_memory_dataset.py,sha256=kleMA9ABUKA6J0tCdz78tbX9lM6uxVSLhqgHbSa1iWY,9550
8
+ ml4gw/distributions.py,sha256=tUuaOiX5enjKLYWD7uiN8rdRVQcrIKps64xBkTl8fMs,4991
9
+ ml4gw/gw.py,sha256=To_hQz9tUp02ADllGLxFCPsNcfbb-kbvfgGpooxcOII,17693
10
+ ml4gw/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ ml4gw/nn/autoencoder/__init__.py,sha256=ZaT1XhJTHpMuPQqu5E__Jezeh9uwtjcXlT7IZ18byq4,161
12
+ ml4gw/nn/autoencoder/base.py,sha256=4d5Ej30IUzZh3XbldzWlCpp3p0_91YUvKeRID8ZEZGA,3225
13
+ ml4gw/nn/autoencoder/convolutional.py,sha256=2BXDuPWYC-151RO_FL0ogdrqSVTfo4YNrY80lPwrmFA,5419
14
+ ml4gw/nn/autoencoder/skip_connection.py,sha256=fpXxxIIl0CXY4mAfUZQuvI542pEBSwpg90TNG2rbZY8,1411
15
+ ml4gw/nn/autoencoder/utils.py,sha256=m_ivYGNwdrhA7cFxJVD4gqM8AHiWIGmlQI3pFNRklXQ,355
16
+ ml4gw/nn/norm.py,sha256=JIOMXQbUtoWlrhncGsqW6f1-DiGDx9zQH2O3CvQml3U,3594
17
+ ml4gw/nn/resnet/__init__.py,sha256=vBI0IftVP_EYAeDlqomtkGqUYE-RE_S4WNioUhniw9s,64
18
+ ml4gw/nn/resnet/resnet_1d.py,sha256=IQ-EIIzAXd-NWuLwt7JTXLWg5bO3FGJpuFAZwZ78jaI,13218
19
+ ml4gw/nn/resnet/resnet_2d.py,sha256=aK4I0FOZk62JxnYFz0t1O0s5s7J7yRNYSM1flRypvVc,13301
20
+ ml4gw/nn/streaming/__init__.py,sha256=zgjGR2L8t0txXLnil9ceZT0tM8Y2FC8yPxqIKYH0o1A,80
21
+ ml4gw/nn/streaming/online_average.py,sha256=aI8hkT7I3thXkda9tsXxYrzump9swelSXPdSTwPlJWY,4719
22
+ ml4gw/nn/streaming/snapshotter.py,sha256=B9qtbHxnPszAHQ5WQppWJLRuMnnYIxGk7MRUlgja7Is,4476
23
+ ml4gw/spectral.py,sha256=0UPgbqGay-xP-3uJ7orZCb9fSO4eVbu6JTjzZJOFqj4,19160
24
+ ml4gw/transforms/__init__.py,sha256=-DLdjD4usIi0ttSw61ZV7HieCTgHz1vTwfAlRgzbuDw,414
25
+ ml4gw/transforms/pearson.py,sha256=Ep3mMsY15AF55taRaWNjpHRTvtr1StShUDfqk0dN-qo,3235
26
+ ml4gw/transforms/qtransform.py,sha256=TWQsBeKhRoqJdkc4cPt58pKozgb_6-jZivn8u0AzQyQ,20695
27
+ ml4gw/transforms/scaler.py,sha256=souOt-hOO4M6dqPNXOspfmeU2V9622yGoIMNvju5JZI,2524
28
+ ml4gw/transforms/snr_rescaler.py,sha256=3XXCTaXc2dzzpXRZx7iqRwImvYtRSJLM5fHdBGfpoUs,2351
29
+ ml4gw/transforms/spectral.py,sha256=gTHUeC0gGYbzgBZHb_FxC_4zdhl5H-XCiLg1hrvKB70,4393
30
+ ml4gw/transforms/spectrogram.py,sha256=HS3Rf5iB7JjhlSESRDdFGUwCtIBdvUaJUDulkB4Lmos,6162
31
+ ml4gw/transforms/spline_interpolation.py,sha256=GkyAVLrtZODIIDLkBdAngO9jqEHRzvEFTdxjNM7U1Bc,13526
32
+ ml4gw/transforms/transform.py,sha256=BuzTbPFxp18OEGP9Tu9jBGtvqy3len1cqvqg5X37DiY,2512
33
+ ml4gw/transforms/waveforms.py,sha256=LkYCvxPqYhHa2yYZTvPE6j0E4HFy16b5ndCRQb7WfcA,3196
34
+ ml4gw/transforms/whitening.py,sha256=Aw_ogq93CYCATiHWBqSZ-qsUtaHAMA3k009ZRtQTtHA,9596
35
+ ml4gw/types.py,sha256=CcctqDcNajR7khGT6BD-WYsfRKpiP0udoSAB0k1qcFw,863
36
+ ml4gw/utils/interferometer.py,sha256=lRS0N3SwUTknhYXX57VACJ99jK1P9M19oUWN_i_nQN0,1814
37
+ ml4gw/utils/slicing.py,sha256=ilRz_5sJzwmd5VyBlrj81tvyC3uCnXYjd0TO2fzFMr8,13563
38
+ ml4gw/waveforms/__init__.py,sha256=QVUzBx_y8A9_AsRuTJruPvL9mqGnBt11Iw1MOYjXyE4,40
39
+ ml4gw/waveforms/adhoc/__init__.py,sha256=XVwP4t8TMUj87WY3yMGRTkXsv7_lVr1w8p8iKBW8iKE,71
40
+ ml4gw/waveforms/adhoc/ringdown.py,sha256=m8IBQTxKBBGFqBtWGEO4KG3DEYR8TTnNyGVdVLaMKa8,3316
41
+ ml4gw/waveforms/adhoc/sine_gaussian.py,sha256=-MtrI7ydwBTk4K0O4tdkC8-w5OifQszdnWN9__I4XzY,3569
42
+ ml4gw/waveforms/cbc/__init__.py,sha256=hGbPsFNAIveYJnff8qKY8RWeBPFtZoYcnGHxraPWtWI,99
43
+ ml4gw/waveforms/cbc/phenom_d.py,sha256=vA60SjOvWSIcsU83-KEw2hnU3ATo4eW8A2mMmuMXo7Y,46941
44
+ ml4gw/waveforms/cbc/phenom_d_data.py,sha256=WA1FBxUp9fo1IQaV_OLJ_5g5gI166mY1FtG9n25he9U,53447
45
+ ml4gw/waveforms/cbc/phenom_p.py,sha256=Y8L2r3UPkJeQqJNwknWBmcG_nO2Z_aXJ_DfWc_lzJhg,26720
46
+ ml4gw/waveforms/cbc/taylorf2.py,sha256=ySYLGTT_c3k4NzPDsQ9v822kzvU6TwYpELJEWlCDGQE,10428
47
+ ml4gw/waveforms/conversion.py,sha256=F5fsNeqf6KHY66opDIj8fN9bwUcwrt9f7PCaxLAi9Jk,6367
48
+ ml4gw/waveforms/generator.py,sha256=dO6RQ96EC87p2q0tEkxA62XkkJc1xARFO1SKcGvyDhM,1272
49
+ ml4gw-0.6.0.dist-info/METADATA,sha256=6bwcfu6ojmrxgtMnFVViy9FanSmMXjhnN33yAzViFzo,5785
50
+ ml4gw-0.6.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
51
+ ml4gw-0.6.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,47 +0,0 @@
1
- ml4gw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ml4gw/augmentations.py,sha256=UEwNxdjzIQUqUgtAdrstptTZ73ay5sLc3imQY1DVUqs,1027
3
- ml4gw/constants.py,sha256=W9beA9RDRdIug1I2H7VLPEPv_DFsQWWoYRmzxv7FWgM,891
4
- ml4gw/dataloading/__init__.py,sha256=EHBBqU7y2-Np5iQ_xyufxamUEM1pPEquqFo7oaJnaJE,149
5
- ml4gw/dataloading/chunked_dataset.py,sha256=jy-y5xhMJqRZIA_pjrc4QHhqpAcpM9aJi2omT24riXY,5195
6
- ml4gw/dataloading/hdf5_dataset.py,sha256=D6cWBtF5_nox89SO4M9so2GDhkfkhdkc0EUpPhyvEyE,6643
7
- ml4gw/dataloading/in_memory_dataset.py,sha256=8bHOB7GreoLWcb_IYEQd2-BXfaYCO1EonD6MHFVPAzA,9429
8
- ml4gw/distributions.py,sha256=sTaiRkHEuNVP0l5qt3J3BlH1Xvow2RZWdua7LKIrddY,4922
9
- ml4gw/gw.py,sha256=RlG8Vj9GCcv0wpKWz9XlbRattls1A-FCCN1RiIhSE_w,17914
10
- ml4gw/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- ml4gw/nn/autoencoder/__init__.py,sha256=ZaT1XhJTHpMuPQqu5E__Jezeh9uwtjcXlT7IZ18byq4,161
12
- ml4gw/nn/autoencoder/base.py,sha256=PLr26Cn5DHmgDYX1qj4idfrLehHVeiJqer065ea8_QM,3098
13
- ml4gw/nn/autoencoder/convolutional.py,sha256=JTMpTJVdFju9HPPAh9UDdXG1MsFbADrqUIKM8_xg74E,5316
14
- ml4gw/nn/autoencoder/skip_connection.py,sha256=bOKBLzMqZDh9w8s9G5U93LCESjTSFUHzQGo0hLDOeSk,1304
15
- ml4gw/nn/autoencoder/utils.py,sha256=whTnWPvdKuVDlxg52azJeM1d9YjiYFWoqIOzJVDGups,326
16
- ml4gw/nn/norm.py,sha256=IQIiXDnKxzK-3BcA4UgHxLDmy_N89BTj-FENj9y4u7E,3447
17
- ml4gw/nn/resnet/__init__.py,sha256=vBI0IftVP_EYAeDlqomtkGqUYE-RE_S4WNioUhniw9s,64
18
- ml4gw/nn/resnet/resnet_1d.py,sha256=IQ-EIIzAXd-NWuLwt7JTXLWg5bO3FGJpuFAZwZ78jaI,13218
19
- ml4gw/nn/resnet/resnet_2d.py,sha256=aK4I0FOZk62JxnYFz0t1O0s5s7J7yRNYSM1flRypvVc,13301
20
- ml4gw/nn/streaming/__init__.py,sha256=zgjGR2L8t0txXLnil9ceZT0tM8Y2FC8yPxqIKYH0o1A,80
21
- ml4gw/nn/streaming/online_average.py,sha256=T-wWw7eEufbUVPRNnLAXIq0cedAyJWEE9tdZ6CTi3cs,4561
22
- ml4gw/nn/streaming/snapshotter.py,sha256=-l_YsWby7ZnEzGIAlLAV2mtR0daLMtLCxovtt4OI3Z0,4432
23
- ml4gw/spectral.py,sha256=5GfKAV_1vw5yyzTD2u_myjT5jIlAyAHDX6TXj9ynL_o,19021
24
- ml4gw/transforms/__init__.py,sha256=24pdP_hIg1wfrtZxxRBPhcEXsCbvVKtNKp7JL8SEogE,362
25
- ml4gw/transforms/pearson.py,sha256=bJ77lO4wBY6y1R1aESN_bcUEMbc55hWCIaCBdbIj4CY,3133
26
- ml4gw/transforms/qtransform.py,sha256=hvCzdGROLoW1nJYR_ZZWDnafJpX4kD1os3CZ2jQJ7IU,17328
27
- ml4gw/transforms/scaler.py,sha256=5VGov0M80NZostRzccViC3HNftx4ZVu0kOKTDmiLrR4,2327
28
- ml4gw/transforms/snr_rescaler.py,sha256=ocYr6UjpHW7t5TvruV7fyY8KuuDfGOJyvxEulmiFA6o,2275
29
- ml4gw/transforms/spectral.py,sha256=WgRkS-QVbZEKa8Dwgst5I6NM6kVhbsY5c7ZmYqpcecE,4178
30
- ml4gw/transforms/spectrogram.py,sha256=R3O8eUB6NHdBFx89v8e_WdJIvXl4qwVeGWZnPyLhHHQ,6024
31
- ml4gw/transforms/transform.py,sha256=jEr9OFj4u7Wjeh_rpRq90jMpK_TfzcIelbBmt30DxQU,2408
32
- ml4gw/transforms/waveforms.py,sha256=iyEDSRqK_1zZrxxJenJFbwGUWqbE-alVTXhvjaGl1ww,3060
33
- ml4gw/transforms/whitening.py,sha256=TmvFCCeTOcSEWo5Pt_JQRJ23X5byiJ91q5jHgBRy0rc,9428
34
- ml4gw/types.py,sha256=XbxunX8zRF95Fp1mZ9jEbixb63bwDQMoayRMMxT9Lzo,429
35
- ml4gw/utils/interferometer.py,sha256=Ei9fJoNxjtFNZcMZIs5MG2yj2n-wrlSlWwi-ELRv7Nc,1806
36
- ml4gw/utils/slicing.py,sha256=Cbwcpk_0hsfN4zczFVM2YbDRjeirA7jFvApM4Jy0U8s,13535
37
- ml4gw/waveforms/__init__.py,sha256=dnxfRGX_B3zQPB3_3srLyjZXRxTn4miZqYIRe7PYyrU,170
38
- ml4gw/waveforms/generator.py,sha256=HYTAbih5y-i4v5iV4twTo2DPSADUrrsuz2m9WDqJoH4,1067
39
- ml4gw/waveforms/phenom_d.py,sha256=6wV_NYH8iNQcJ_uuB2cB00m8_2wfkVz3Hu7NTY4hBQg,46823
40
- ml4gw/waveforms/phenom_d_data.py,sha256=WA1FBxUp9fo1IQaV_OLJ_5g5gI166mY1FtG9n25he9U,53447
41
- ml4gw/waveforms/phenom_p.py,sha256=qZXhDexcSedCP8UwEk1Jw2YoBy9Uxp0zWg1ltXu-guk,26615
42
- ml4gw/waveforms/ringdown.py,sha256=1-KAzfe2EOv0y9MY-DOB8Qv--9wS8fYIa6xTLcKI4i4,3320
43
- ml4gw/waveforms/sine_gaussian.py,sha256=LlSgPwd-_HPrkpVhdqZbMReepAn4BQgsMP4Ei33IWAA,3575
44
- ml4gw/waveforms/taylorf2.py,sha256=-5q52p0Ie5oZJhhfJwdKXR9RNeTLW1QJxsRKMGi1w-c,10160
45
- ml4gw-0.5.0.dist-info/METADATA,sha256=psK8lqAVUUCfJV6uI4XX9EFrXa2-h8Eyt-KWcO6gDmI,5736
46
- ml4gw-0.5.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
47
- ml4gw-0.5.0.dist-info/RECORD,,