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.
- ml4gw/augmentations.py +8 -2
- ml4gw/constants.py +10 -19
- ml4gw/dataloading/chunked_dataset.py +4 -2
- ml4gw/dataloading/hdf5_dataset.py +1 -1
- ml4gw/dataloading/in_memory_dataset.py +8 -4
- ml4gw/distributions.py +5 -3
- ml4gw/gw.py +21 -27
- ml4gw/nn/autoencoder/base.py +11 -6
- ml4gw/nn/autoencoder/convolutional.py +7 -4
- ml4gw/nn/autoencoder/skip_connection.py +7 -6
- ml4gw/nn/autoencoder/utils.py +2 -1
- ml4gw/nn/norm.py +5 -1
- ml4gw/nn/streaming/online_average.py +7 -5
- ml4gw/nn/streaming/snapshotter.py +7 -5
- ml4gw/spectral.py +41 -37
- ml4gw/transforms/__init__.py +1 -0
- ml4gw/transforms/pearson.py +7 -3
- ml4gw/transforms/qtransform.py +151 -53
- ml4gw/transforms/scaler.py +9 -3
- ml4gw/transforms/snr_rescaler.py +6 -5
- ml4gw/transforms/spectral.py +9 -2
- ml4gw/transforms/spectrogram.py +7 -1
- ml4gw/transforms/spline_interpolation.py +370 -0
- ml4gw/transforms/transform.py +4 -3
- ml4gw/transforms/waveforms.py +10 -7
- ml4gw/transforms/whitening.py +12 -4
- ml4gw/types.py +25 -10
- ml4gw/utils/interferometer.py +1 -1
- ml4gw/utils/slicing.py +24 -16
- ml4gw/waveforms/__init__.py +2 -5
- ml4gw/waveforms/adhoc/__init__.py +2 -0
- ml4gw/waveforms/{ringdown.py → adhoc/ringdown.py} +8 -9
- ml4gw/waveforms/{sine_gaussian.py → adhoc/sine_gaussian.py} +6 -6
- ml4gw/waveforms/cbc/__init__.py +3 -0
- ml4gw/waveforms/{phenom_d.py → cbc/phenom_d.py} +20 -18
- ml4gw/waveforms/{phenom_p.py → cbc/phenom_p.py} +106 -95
- ml4gw/waveforms/{taylorf2.py → cbc/taylorf2.py} +33 -27
- ml4gw/waveforms/conversion.py +187 -0
- ml4gw/waveforms/generator.py +9 -5
- {ml4gw-0.5.0.dist-info → ml4gw-0.6.0.dist-info}/METADATA +4 -3
- ml4gw-0.6.0.dist-info/RECORD +51 -0
- {ml4gw-0.5.0.dist-info → ml4gw-0.6.0.dist-info}/WHEEL +1 -1
- ml4gw-0.5.0.dist-info/RECORD +0 -47
- /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
|
ml4gw/waveforms/generator.py
CHANGED
|
@@ -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(
|
|
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.
|
|
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.
|
|
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,,
|
ml4gw-0.5.0.dist-info/RECORD
DELETED
|
@@ -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,,
|
|
File without changes
|