This commit is contained in:
MZ YANG
2026-02-10 18:24:59 +08:00
parent 7eee14ba2a
commit ccb33bf876
20 changed files with 174700 additions and 986 deletions

View File

@@ -12,7 +12,7 @@ from typing import Dict, List
import torch
import torch.nn.functional as F
from data_utils import load_split, inverse_quantile_transform, quantile_calibrate_to_real
from data_utils import load_split, normalize_cont, inverse_quantile_transform, quantile_calibrate_to_real
from hybrid_diffusion import HybridDiffusionModel, TemporalGRUGenerator, TemporalTransformerGenerator, cosine_beta_schedule
from platform_utils import resolve_device, safe_path, ensure_dir, resolve_path
@@ -157,10 +157,15 @@ def main():
cont_post_calibrate = bool(cfg.get("cont_post_calibrate", False))
type1_cols = cfg.get("type1_features", []) or []
type5_cols = cfg.get("type5_features", []) or []
type4_cols = cfg.get("type4_features", []) or []
type1_cols = [c for c in type1_cols if c in cont_cols]
type5_cols = [c for c in type5_cols if c in cont_cols]
type4_cols = [c for c in type4_cols if c in cont_cols]
model_cont_cols = [c for c in cont_cols if c not in type1_cols and c not in type5_cols]
use_temporal_stage1 = bool(cfg.get("use_temporal_stage1", False))
temporal_use_type1_cond = bool(cfg.get("temporal_use_type1_cond", False))
temporal_focus_type4 = bool(cfg.get("temporal_focus_type4", False))
temporal_exclude_type4 = bool(cfg.get("temporal_exclude_type4", False))
temporal_backbone = str(cfg.get("temporal_backbone", "gru"))
temporal_hidden_dim = int(cfg.get("temporal_hidden_dim", 256))
temporal_num_layers = int(cfg.get("temporal_num_layers", 1))
@@ -207,6 +212,22 @@ def main():
temporal_model = None
if use_temporal_stage1:
temporal_path = Path(args.model_path).with_name("temporal.pt")
if not temporal_path.exists():
raise SystemExit(f"missing temporal model file: {temporal_path}")
temporal_state = load_torch_state(str(temporal_path), device)
temporal_cond_dim = len(type1_cols) if (temporal_use_type1_cond and type1_cols) else 0
if isinstance(temporal_state, dict):
if "in_proj.weight" in temporal_state:
try:
temporal_cond_dim = max(0, int(temporal_state["in_proj.weight"].shape[1]) - len(model_cont_cols))
except Exception:
pass
elif "gru.weight_ih_l0" in temporal_state:
try:
temporal_cond_dim = max(0, int(temporal_state["gru.weight_ih_l0"].shape[1]) - len(model_cont_cols))
except Exception:
pass
if temporal_backbone == "transformer":
temporal_model = TemporalTransformerGenerator(
input_dim=len(model_cont_cols),
@@ -217,6 +238,7 @@ def main():
dropout=temporal_transformer_dropout,
pos_dim=temporal_pos_dim,
use_pos_embed=temporal_use_pos_embed,
cond_dim=temporal_cond_dim,
).to(device)
else:
temporal_model = TemporalGRUGenerator(
@@ -224,11 +246,9 @@ def main():
hidden_dim=temporal_hidden_dim,
num_layers=temporal_num_layers,
dropout=temporal_dropout,
cond_dim=temporal_cond_dim,
).to(device)
temporal_path = Path(args.model_path).with_name("temporal.pt")
if not temporal_path.exists():
raise SystemExit(f"missing temporal model file: {temporal_path}")
temporal_model.load_state_dict(load_torch_state(str(temporal_path), device))
temporal_model.load_state_dict(temporal_state)
temporal_model.eval()
betas = cosine_beta_schedule(args.timesteps).to(device)
@@ -279,13 +299,32 @@ def main():
for t, row in enumerate(seq):
for i, c in enumerate(type1_cols):
cond_cont[:, t, i] = float(row[c])
mean_vec = torch.tensor([mean[c] for c in type1_cols], dtype=cond_cont.dtype, device=device)
std_vec = torch.tensor([std[c] for c in type1_cols], dtype=cond_cont.dtype, device=device)
cond_cont = (cond_cont - mean_vec) / std_vec
cond_cont = normalize_cont(
cond_cont,
type1_cols,
mean,
std,
transforms=transforms,
quantile_probs=quantile_probs,
quantile_values=quantile_values,
use_quantile=use_quantile,
)
trend = None
if temporal_model is not None:
trend = temporal_model.generate(args.batch_size, args.seq_len, device)
trend = temporal_model.generate(args.batch_size, args.seq_len, device, cond_cont=cond_cont)
if temporal_focus_type4 and type4_cols:
type4_model_idx = [model_cont_cols.index(c) for c in type4_cols if c in model_cont_cols]
if type4_model_idx:
trend_mask = torch.zeros(1, 1, len(model_cont_cols), device=device, dtype=trend.dtype)
trend_mask[:, :, type4_model_idx] = 1.0
trend = trend * trend_mask
elif temporal_exclude_type4 and type4_cols:
type4_model_idx = [model_cont_cols.index(c) for c in type4_cols if c in model_cont_cols]
if type4_model_idx:
trend_mask = torch.ones(1, 1, len(model_cont_cols), device=device, dtype=trend.dtype)
trend_mask[:, :, type4_model_idx] = 0.0
trend = trend * trend_mask
for t in reversed(range(args.timesteps)):
t_batch = torch.full((args.batch_size,), t, device=device, dtype=torch.long)

View File

@@ -69,11 +69,13 @@ class SinusoidalTimeEmbedding(nn.Module):
class TemporalGRUGenerator(nn.Module):
"""Stage-1 temporal generator for sequence trend."""
def __init__(self, input_dim: int, hidden_dim: int = 256, num_layers: int = 1, dropout: float = 0.0):
def __init__(self, input_dim: int, hidden_dim: int = 256, num_layers: int = 1, dropout: float = 0.0, cond_dim: int = 0):
super().__init__()
self.input_dim = int(input_dim)
self.cond_dim = int(cond_dim)
self.start_token = nn.Parameter(torch.zeros(input_dim))
self.gru = nn.GRU(
input_dim,
input_dim + self.cond_dim,
hidden_dim,
num_layers=num_layers,
dropout=dropout if num_layers > 1 else 0.0,
@@ -81,11 +83,16 @@ class TemporalGRUGenerator(nn.Module):
)
self.out = nn.Linear(hidden_dim, input_dim)
def forward_teacher(self, x: torch.Tensor) -> torch.Tensor:
def forward_teacher(self, x: torch.Tensor, cond_cont: torch.Tensor | None = None) -> torch.Tensor:
"""Teacher-forced next-step prediction. Returns trend sequence and preds."""
if x.size(1) < 2:
raise ValueError("sequence length must be >= 2 for teacher forcing")
inp = x[:, :-1, :]
if self.cond_dim > 0:
if cond_cont is None:
cond_cont = torch.zeros(x.size(0), x.size(1), self.cond_dim, device=x.device, dtype=x.dtype)
inp = torch.cat([x[:, :-1, :], cond_cont[:, :-1, :]], dim=-1)
else:
inp = x[:, :-1, :]
out, _ = self.gru(inp)
pred_next = self.out(out)
trend = torch.zeros_like(x)
@@ -93,13 +100,35 @@ class TemporalGRUGenerator(nn.Module):
trend[:, 1:, :] = pred_next
return trend, pred_next
def generate(self, batch_size: int, seq_len: int, device: torch.device) -> torch.Tensor:
def generate(
self,
batch_size: int,
seq_len: int,
device: torch.device,
cond_cont: torch.Tensor | None = None,
start_x: torch.Tensor | None = None,
) -> torch.Tensor:
"""Autoregressively generate a backbone sequence."""
h = None
prev = self.start_token.unsqueeze(0).expand(batch_size, -1).to(device)
if start_x is not None:
if start_x.dim() == 3 and start_x.size(1) == 1:
start_x = start_x[:, 0, :]
prev = start_x.to(device)
else:
prev = self.start_token.unsqueeze(0).expand(batch_size, -1).to(device)
if self.cond_dim > 0:
if cond_cont is None:
cond_cont = torch.zeros(batch_size, seq_len, self.cond_dim, device=device, dtype=prev.dtype)
else:
cond_cont = cond_cont.to(device)
outputs = []
for _ in range(seq_len):
out, h = self.gru(prev.unsqueeze(1), h)
for t in range(seq_len):
if self.cond_dim > 0:
ct = cond_cont[:, t, :] if t < cond_cont.size(1) else torch.zeros(batch_size, self.cond_dim, device=device, dtype=prev.dtype)
step_inp = torch.cat([prev, ct], dim=-1)
else:
step_inp = prev
out, h = self.gru(step_inp.unsqueeze(1), h)
nxt = self.out(out.squeeze(1))
outputs.append(nxt.unsqueeze(1))
prev = nxt
@@ -117,10 +146,13 @@ class TemporalTransformerGenerator(nn.Module):
dropout: float = 0.1,
pos_dim: int = 64,
use_pos_embed: bool = True,
cond_dim: int = 0,
):
super().__init__()
self.input_dim = int(input_dim)
self.cond_dim = int(cond_dim)
self.start_token = nn.Parameter(torch.zeros(input_dim))
self.in_proj = nn.Linear(input_dim, hidden_dim)
self.in_proj = nn.Linear(input_dim + self.cond_dim, hidden_dim)
self.pos_dim = pos_dim
self.use_pos_embed = use_pos_embed
self.pos_proj = nn.Linear(pos_dim, hidden_dim) if use_pos_embed and pos_dim > 0 else None
@@ -135,10 +167,15 @@ class TemporalTransformerGenerator(nn.Module):
self.backbone = nn.TransformerEncoder(encoder_layer, num_layers=num_layers)
self.out = nn.Linear(hidden_dim, input_dim)
def forward_teacher(self, x: torch.Tensor) -> torch.Tensor:
def forward_teacher(self, x: torch.Tensor, cond_cont: torch.Tensor | None = None) -> torch.Tensor:
if x.size(1) < 2:
raise ValueError("sequence length must be >= 2 for teacher forcing")
inp = x[:, :-1, :]
if self.cond_dim > 0:
if cond_cont is None:
cond_cont = torch.zeros(x.size(0), x.size(1), self.cond_dim, device=x.device, dtype=x.dtype)
inp = torch.cat([x[:, :-1, :], cond_cont[:, :-1, :]], dim=-1)
else:
inp = x[:, :-1, :]
out = self._encode(inp)
pred_next = self.out(out)
trend = torch.zeros_like(x)
@@ -146,14 +183,40 @@ class TemporalTransformerGenerator(nn.Module):
trend[:, 1:, :] = pred_next
return trend, pred_next
def generate(self, batch_size: int, seq_len: int, device: torch.device) -> torch.Tensor:
context = self.start_token.unsqueeze(0).unsqueeze(1).expand(batch_size, 1, -1).to(device)
def generate(
self,
batch_size: int,
seq_len: int,
device: torch.device,
cond_cont: torch.Tensor | None = None,
start_x: torch.Tensor | None = None,
) -> torch.Tensor:
if start_x is not None:
if start_x.dim() == 2:
context_x = start_x.unsqueeze(1).to(device)
else:
context_x = start_x.to(device)
else:
context_x = self.start_token.unsqueeze(0).unsqueeze(1).expand(batch_size, 1, -1).to(device)
if self.cond_dim > 0:
if cond_cont is None:
cond_cont = torch.zeros(batch_size, seq_len, self.cond_dim, device=device, dtype=context_x.dtype)
else:
cond_cont = cond_cont.to(device)
if cond_cont.size(1) < seq_len:
pad = torch.zeros(batch_size, seq_len - cond_cont.size(1), self.cond_dim, device=device, dtype=cond_cont.dtype)
cond_cont = torch.cat([cond_cont, pad], dim=1)
outputs = []
for _ in range(seq_len):
out = self._encode(context)
if self.cond_dim > 0:
cond_ctx = cond_cont[:, : context_x.size(1), :]
context_in = torch.cat([context_x, cond_ctx], dim=-1)
else:
context_in = context_x
out = self._encode(context_in)
next_token = self.out(out[:, -1, :])
outputs.append(next_token.unsqueeze(1))
context = torch.cat([context, next_token.unsqueeze(1)], dim=1)
context_x = torch.cat([context_x, next_token.unsqueeze(1)], dim=1)
return torch.cat(outputs, dim=1)
def _encode(self, x: torch.Tensor) -> torch.Tensor:

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,15 @@
{
"data_path": "/root/autodl-tmp/mask-ddpm/dataset/hai/hai-21.03/train1.csv.gz",
"data_glob": "/root/autodl-tmp/mask-ddpm/mask-ddpm/example/../../dataset/hai/hai-21.03/train*.csv.gz",
"split_path": "/root/autodl-tmp/mask-ddpm/mask-ddpm/example/feature_split.json",
"stats_path": "/root/autodl-tmp/mask-ddpm/mask-ddpm/example/results/cont_stats.json",
"vocab_path": "/root/autodl-tmp/mask-ddpm/mask-ddpm/example/results/disc_vocab.json",
"out_dir": "/root/autodl-tmp/mask-ddpm/mask-ddpm/example/results",
"data_path": "F:\\Development\\modbus_diffusion\\mask-ddpm\\dataset\\hai\\hai-21.03\\train1.csv.gz",
"data_glob": "F:\\Development\\modbus_diffusion\\mask-ddpm\\mask-ddpm\\example\\..\\..\\dataset\\hai\\hai-21.03\\train*.csv.gz",
"split_path": "F:\\Development\\modbus_diffusion\\mask-ddpm\\mask-ddpm\\example\\feature_split.json",
"stats_path": "F:\\Development\\modbus_diffusion\\mask-ddpm\\mask-ddpm\\example\\results\\cont_stats.json",
"vocab_path": "F:\\Development\\modbus_diffusion\\mask-ddpm\\mask-ddpm\\example\\results\\disc_vocab.json",
"out_dir": "F:\\Development\\modbus_diffusion\\mask-ddpm\\mask-ddpm\\example\\results",
"device": "cuda",
"timesteps": 600,
"batch_size": 12,
"seq_len": 96,
"epochs": 10,
"epochs": 0,
"max_batches": 4000,
"lambda": 0.7,
"lr": 0.0005,
@@ -51,6 +51,8 @@
"temporal_transformer_dropout": 0.1,
"temporal_epochs": 3,
"temporal_lr": 0.001,
"temporal_focus_type4": false,
"temporal_exclude_type4": false,
"quantile_loss_weight": 0.2,
"quantile_points": [
0.05,
@@ -90,7 +92,11 @@
"P1_PCV02Z",
"P1_PCV01Z",
"P1_PCV01D",
"P1_FCV02Z"
"P1_FCV02Z",
"P1_FCV03D",
"P1_FCV03Z",
"P1_LCV01D",
"P1_LCV01Z"
],
"type4_features": [
"P1_PIT02",
@@ -98,7 +104,8 @@
"P1_FT03"
],
"type5_features": [
"P1_FT03Z"
"P1_FT03Z",
"P1_FT02Z"
],
"type6_features": [
"P4_HT_PO",

View File

@@ -1,801 +1 @@
epoch,step,loss,loss_cont,loss_disc
0,0,3183.833496,4547.250000,2.165921
0,10,4260.964844,6086.371094,1.477616
0,20,2116.119873,3022.433350,1.257380
0,30,3882.547119,5545.978516,1.078264
0,40,2126.222656,3036.978516,0.966898
0,50,2942.983643,4203.791504,0.981975
0,60,3079.097900,4398.337402,0.751671
0,70,2756.608154,3937.662598,0.690103
0,80,2882.933350,4118.061523,0.833904
0,90,3349.992188,4785.333496,0.757422
0,100,1741.162476,2487.016113,0.741698
0,110,1668.691528,2383.486084,0.736027
0,120,1626.804077,2323.649658,0.714632
0,130,1739.610596,2484.779053,0.805368
0,140,1190.108276,1699.823975,0.678712
0,150,1587.094727,2266.948242,0.682505
0,160,1427.858887,2039.499756,0.609859
0,170,1811.523193,2587.579590,0.641686
0,180,1308.677856,1869.259033,0.509748
0,190,1787.746948,2553.791260,0.202289
0,200,1296.434937,1851.945190,0.162002
0,210,1573.985596,2248.483643,0.062722
0,220,1657.316772,2367.471191,0.214760
0,230,1573.392700,2247.636719,0.068238
0,240,1417.035889,2024.277466,0.049557
0,250,1549.874023,2214.043213,0.047622
0,260,1425.188721,2035.934326,0.038305
0,270,1193.563599,1704.947876,0.255677
0,280,1639.197632,2341.459473,0.510232
0,290,1509.789917,2156.656494,0.358221
0,300,1520.971924,2172.569580,0.499612
0,310,1448.923096,2069.689209,0.405220
0,320,1509.381592,2156.093506,0.324874
0,330,1431.812378,2045.166016,0.590879
0,340,1586.484375,2265.996826,0.895936
0,350,1540.961792,2200.998291,0.807437
0,360,1403.801270,2005.122559,0.650033
0,370,1182.521973,1689.022095,0.607263
0,380,1575.898926,2250.958496,0.672297
0,390,1119.291748,1598.626587,0.761839
0,400,1457.056763,2081.217529,0.623194
0,410,1458.964355,2083.939697,0.627759
0,420,1857.774902,2653.647217,0.657969
0,430,1479.923218,2113.928467,0.519893
0,440,1556.646851,2223.401611,0.798703
0,450,1512.004028,2159.686768,0.684771
0,460,1503.624146,2147.708740,0.707785
0,470,1485.873047,2122.466064,0.437047
0,480,1240.096558,1771.299438,0.569240
0,490,1520.380493,2171.614014,0.783165
0,500,1390.873169,1986.582886,0.827785
0,510,1466.522095,2094.705078,0.713094
0,520,1343.955078,1919.605347,0.707818
0,530,1489.076904,2126.915771,0.734974
0,540,1373.783813,1962.234985,0.680721
0,550,1483.088501,2118.368652,0.715005
0,560,1375.881714,1965.243042,0.646410
0,570,1489.005127,2126.831543,0.696469
0,580,1442.773315,2060.724854,0.844003
0,590,1448.177979,2068.571533,0.545372
0,600,1465.157715,2092.761230,0.707009
0,610,1417.420410,2024.518066,0.810667
0,620,1580.409302,2257.281982,0.981756
0,630,1380.472656,1971.689453,0.917575
0,640,1359.237793,1941.466919,0.650692
0,650,1409.855713,2013.786499,0.632975
0,660,1321.520020,1887.537476,0.760216
0,670,1487.645386,2124.899902,0.669072
0,680,1452.418335,2074.552979,0.725417
0,690,1441.415161,2058.786133,0.834513
0,700,1402.777588,2003.592529,0.817658
0,710,1485.798706,2122.215820,0.770396
0,720,1443.123169,2061.236084,0.801226
0,730,1562.140747,2231.276367,0.760848
0,740,1465.517090,2093.262695,0.718800
0,750,1503.987549,2148.218994,0.731936
0,760,1463.923584,2091.003906,0.680780
0,770,1248.211670,1782.830566,0.706683
0,780,1291.236084,1844.320435,0.651371
0,790,1389.062012,1984.033691,0.709403
1,0,1192.243164,1702.854980,0.694978
1,10,1406.769165,2009.306519,0.767720
1,20,1403.562134,2004.855957,0.472092
1,30,1455.620605,2079.084473,0.809346
1,40,1511.905029,2159.533203,0.690817
1,50,1361.750732,1945.103149,0.523287
1,60,1441.327515,2058.760498,0.602468
1,70,1538.143433,2197.074707,0.577835
1,80,1556.282959,2222.928955,0.707042
1,90,1408.079956,2011.192383,0.755949
1,100,1252.612061,1789.158936,0.587348
1,110,1425.406250,2035.969116,0.702207
1,120,1466.847290,2095.232422,0.559751
1,130,1442.323730,2060.066650,0.864437
1,140,1486.157593,2122.814209,0.568802
1,150,1354.899292,1935.276489,0.622464
1,160,1523.623169,2176.253174,0.764237
1,170,1375.681519,1964.998901,0.545158
1,180,1432.013916,2045.550781,0.364375
1,190,1573.346191,2247.483154,0.293261
1,200,1373.219238,1961.681885,0.073897
1,210,1200.231689,1714.564941,0.044114
1,220,1443.027466,2061.372070,0.153626
1,230,1392.894165,1989.752197,0.159111
1,240,1248.433350,1783.423218,0.045142
1,250,1399.079956,1998.641724,0.046081
1,260,1043.950562,1491.313354,0.026152
1,270,1386.855713,1981.114624,0.190385
1,280,1301.704956,1859.409668,0.327215
1,290,1453.345703,2075.958252,0.534003
1,300,1007.209778,1438.617432,0.507804
1,310,1420.263184,2028.741821,0.432041
1,320,1401.183838,2001.453613,0.500705
1,330,1162.425659,1660.487305,0.229063
1,340,1444.356934,2063.087402,0.597427
1,350,1515.763794,2165.058105,0.693658
1,360,1176.056152,1679.809082,0.579492
1,370,1488.808594,2126.468262,0.875025
1,380,1483.213379,2118.474854,0.880310
1,390,1530.847290,2186.571533,0.770389
1,400,1452.788818,2075.002686,0.902439
1,410,1051.481812,1501.793091,0.699194
1,420,1325.271729,1892.873901,0.817299
1,430,1221.533203,1744.660034,0.826395
1,440,1364.080688,1948.351685,0.644970
1,450,1425.246582,2035.773926,0.599805
1,460,1392.415894,1988.808228,0.766945
1,470,1398.283203,1997.180542,0.804351
1,480,1357.390625,1938.774780,0.782836
1,490,1385.345947,1978.764404,0.652330
1,500,1436.315063,2051.581055,0.641387
1,510,1381.300049,1972.979248,0.665288
1,520,1531.555908,2187.629395,0.669540
1,530,1423.214111,2032.781616,0.844305
1,540,1489.749756,2127.918945,0.644862
1,550,1448.497803,2068.940674,0.748062
1,560,1345.417603,1921.640747,0.847624
1,570,1427.397217,2038.823608,0.692119
1,580,1386.693604,1980.625854,0.800293
1,590,1386.573486,1980.441284,0.837725
1,600,1465.146729,2092.761719,0.667743
1,610,1482.564819,2117.677246,0.584602
1,620,1376.572876,1966.167847,0.800428
1,630,918.296814,1311.554321,0.632072
1,640,1324.733643,1892.135132,0.743117
1,650,1401.460938,2001.751953,0.737485
1,660,1447.588745,2067.669678,0.687752
1,670,1245.077515,1778.398438,0.618556
1,680,1341.766846,1916.551758,0.543834
1,690,1405.754150,2007.927124,0.623327
1,700,1443.610107,2061.937988,0.797176
1,710,1411.496216,2016.130127,0.640040
1,720,1356.189331,1937.049805,0.798009
1,730,1274.552490,1820.477051,0.670119
1,740,1423.458984,2033.200562,0.676492
1,750,1479.755005,2113.521973,0.918397
1,760,1450.786987,2072.183105,0.813719
1,770,1281.817139,1830.844849,0.705245
1,780,1346.415405,1923.209106,0.519566
1,790,1358.163574,1939.853638,0.828874
2,0,1310.122192,1871.381714,0.418646
2,10,1361.304565,1944.360352,0.766878
2,20,1466.903442,2095.298584,0.591117
2,30,1188.091553,1696.908447,0.785655
2,40,1031.407104,1473.176514,0.537891
2,50,1450.158569,2071.397949,0.552217
2,60,1406.581543,2009.071777,0.715261
2,70,1425.637939,2036.380127,0.512891
2,80,1281.622070,1830.561768,0.705330
2,90,1403.056030,2004.125000,0.509431
2,100,921.419739,1315.966064,0.738051
2,110,1476.578735,2109.053467,0.758207
2,120,1449.954224,2071.107666,0.521591
2,130,1636.102051,2337.042969,0.519529
2,140,1452.944824,2075.289551,0.746595
2,150,1463.096558,2089.815918,0.694976
2,160,1442.698608,2060.724121,0.573986
2,170,1278.251953,1825.785767,0.605055
2,180,1307.614746,1867.812744,0.415971
2,190,1470.441772,2100.503418,0.248311
2,200,1396.237671,1994.438232,0.381042
2,210,1387.538574,1982.151001,0.054129
2,220,1439.064453,2055.743652,0.090782
2,230,1205.754150,1722.462646,0.061438
2,240,1364.279419,1948.926514,0.055147
2,250,1439.678833,2056.550781,0.255331
2,260,1400.453857,2000.613892,0.035497
2,270,1358.423462,1940.484863,0.233596
2,280,1438.205200,2054.382324,0.407459
2,290,1228.822510,1755.127930,0.715387
2,300,1432.869751,2046.666626,0.633316
2,310,1407.755005,2010.844116,0.493981
2,320,1333.771729,1905.215942,0.346601
2,330,1399.125488,1998.428223,0.710479
2,340,1320.554199,1886.152832,0.781575
2,350,1441.380615,2058.753662,0.800905
2,360,1284.714478,1835.115845,0.395085
2,370,1482.997559,2118.269043,0.645539
2,380,1493.872192,2133.795166,0.676303
2,390,1374.022339,1962.591675,0.646625
2,400,1350.922241,1929.632324,0.554588
2,410,1353.784302,1933.590454,0.853464
2,420,1225.463135,1750.319458,0.742598
2,430,1374.721436,1963.573486,0.688309
2,440,1363.357910,1947.348022,0.670548
2,450,1327.532227,1896.116577,0.789792
2,460,1122.100342,1602.577515,0.931781
2,470,1462.956421,2089.627197,0.680613
2,480,1028.083862,1468.319336,0.826784
2,490,1444.081421,2062.705322,0.585638
2,500,1326.344604,1894.331787,0.993218
2,510,1400.913696,2000.963989,0.748535
2,520,1399.426270,1998.923096,0.551655
2,530,1317.556152,1881.988647,0.506432
2,540,1462.125244,2088.394531,0.785299
2,550,1318.631836,1883.374390,0.853133
2,560,1400.045166,1999.746948,0.703460
2,570,1338.887451,1912.402100,0.640872
2,580,1398.414673,1997.384155,0.776960
2,590,1335.390625,1907.374634,0.717682
2,600,1407.163574,2009.879639,0.782327
2,610,1103.324097,1575.834595,0.737488
2,620,1469.277954,2098.603271,0.803315
2,630,1377.150635,1967.023315,0.728316
2,640,1284.598755,1834.763550,0.835004
2,650,1468.784790,2097.991455,0.595406
2,660,1310.691284,1872.121460,0.631713
2,670,1328.395996,1897.360840,0.761301
2,680,1329.978882,1899.589111,0.844821
2,690,1358.114746,1939.866577,0.648494
2,700,1330.349365,1900.161133,0.732546
2,710,1094.310059,1562.884155,0.919431
2,720,996.794189,1423.642334,0.752403
2,730,1509.052979,2155.485352,0.665574
2,740,1437.262085,2052.928711,0.656775
2,750,1192.932983,1703.909546,0.612598
2,760,1379.242432,1969.965454,0.834590
2,770,1392.717285,1989.165649,0.952917
2,780,1409.844727,2013.728760,0.735940
2,790,1354.926025,1935.198608,0.906308
3,0,1474.789917,2106.657959,0.320913
3,10,1233.481934,1761.912109,0.392319
3,20,1306.513062,1866.142334,0.642290
3,30,1382.109497,1974.100830,0.742490
3,40,1445.045044,2063.961670,0.848702
3,50,1220.986694,1743.925171,0.746243
3,60,1394.458252,1991.725220,0.764863
3,70,1016.398865,1451.727417,0.572467
3,80,1347.343140,1924.485474,0.622466
3,90,1479.106567,2112.760010,0.535122
3,100,1501.767090,2145.130859,0.539186
3,110,1398.487793,1997.606934,0.498223
3,120,1387.138550,1981.401611,0.481850
3,130,1333.497559,1904.718262,0.600926
3,140,1406.692749,2009.258911,0.649231
3,150,1528.006348,2182.471680,0.858538
3,160,1194.264404,1705.728760,0.790984
3,170,1344.019165,1919.763550,0.560959
3,180,1385.327637,1978.867432,0.341166
3,190,1249.843018,1785.375000,0.201357
3,200,1339.098267,1912.930420,0.108677
3,210,1351.928833,1931.249634,0.125045
3,220,1321.489258,1887.758179,0.145731
3,230,1481.554321,2116.449707,0.080655
3,240,1444.743042,2063.873535,0.057254
3,250,1311.291382,1873.229736,0.063893
3,260,1436.432129,2052.005859,0.049077
3,270,1325.572388,1893.491333,0.382297
3,280,1379.625122,1970.720947,0.355222
3,290,1244.760986,1777.933716,0.640860
3,300,1251.521851,1787.569702,0.691775
3,310,1193.661743,1704.999512,0.483678
3,320,1392.481445,1989.121948,0.277586
3,330,1371.599854,1959.125244,0.661989
3,340,1388.293945,1983.006958,0.576749
3,350,1410.410889,2014.557007,0.690085
3,360,1290.459351,1843.239502,0.588218
3,370,1386.642700,1980.658325,0.561619
3,380,1431.838501,2045.134766,0.765934
3,390,1330.940796,1900.982300,0.790070
3,400,1386.725098,1980.703491,0.723482
3,410,1281.702271,1830.694702,0.678544
3,420,1450.241821,2071.481689,0.639323
3,430,1334.888794,1906.645142,0.746211
3,440,1475.799194,2107.986328,0.650364
3,450,1324.678589,1892.029785,0.807135
3,460,1354.497681,1934.654175,0.756229
3,470,1107.910522,1582.490601,0.500695
3,480,1435.326904,2050.153564,0.674719
3,490,1319.159912,1884.216187,0.647862
3,500,1340.236450,1914.410034,0.445445
3,510,1342.714111,1917.880615,0.612413
3,520,1348.723022,1926.403320,0.760435
3,530,1276.793091,1823.782227,0.438722
3,540,1405.454834,2007.481689,0.681101
3,550,1302.241211,1859.974121,0.819137
3,560,1539.127075,2198.369385,0.854926
3,570,1331.934326,1902.481323,0.614280
3,580,1194.027344,1705.411621,0.751001
3,590,1362.927124,1946.679688,0.793889
3,600,1361.725342,1944.994141,0.720772
3,610,1373.232910,1961.463135,0.653718
3,620,1302.502075,1860.420044,0.657502
3,630,1317.537964,1881.926880,0.589975
3,640,1428.997559,2041.073120,0.772419
3,650,1255.266235,1792.909302,0.719631
3,660,1291.690918,1844.971436,0.659025
3,670,1378.569824,1969.075317,0.679549
3,680,1198.053833,1711.111084,0.873652
3,690,1250.473877,1786.015625,0.839820
3,700,1291.293457,1844.336548,0.809987
3,710,1389.156494,1984.216309,0.640415
3,720,1451.439941,2073.153809,0.734372
3,730,1389.186523,1984.201538,0.775694
3,740,1460.354492,2085.836182,0.858047
3,750,1494.142822,2134.183350,0.665175
3,760,1398.958862,1998.135132,0.834417
3,770,1360.851929,1943.689453,0.848515
3,780,1288.482056,1840.310547,0.838317
3,790,1344.724854,1920.667847,0.813874
4,0,1331.611694,1902.077393,0.427302
4,10,1351.088379,1929.804443,0.674919
4,20,1344.562988,1920.547607,0.537479
4,30,1380.292236,1971.577881,0.562771
4,40,1476.475220,2108.975098,0.584272
4,50,1437.855591,2053.761719,0.683065
4,60,1447.503418,2067.565674,0.635268
4,70,1396.583374,1994.818115,0.656298
4,80,1402.370972,2003.057617,0.716676
4,90,1463.434814,2090.305176,0.693182
4,100,1411.198120,2015.713135,0.622315
4,110,1334.692871,1906.357178,0.763460
4,120,1379.127930,1969.912598,0.586174
4,130,1254.672119,1792.081055,0.657634
4,140,1264.629639,1806.285645,0.714038
4,150,1438.762817,2055.045410,0.714952
4,160,1412.637085,2017.642944,0.910181
4,170,1364.711670,1949.279053,0.664152
4,180,1377.968384,1968.219849,0.666259
4,190,1494.332520,2134.637451,0.229824
4,200,1355.711548,1936.567505,0.320178
4,210,1419.343994,2027.532837,0.179927
4,220,1143.623535,1633.558594,0.391724
4,230,1454.817993,2078.259033,0.068267
4,240,1330.723755,1900.961304,0.117085
4,250,1415.292480,2021.797607,0.066861
4,260,1369.316406,1956.117920,0.069667
4,270,1443.334351,2061.570801,0.715960
4,280,1381.048340,1972.641846,0.615013
4,290,1400.020752,1999.707031,0.697925
4,300,1270.261475,1814.306152,0.769272
4,310,1416.783691,2023.819092,0.320928
4,320,1380.434082,1971.820557,0.481759
4,330,1394.524292,1991.854858,0.708896
4,340,1390.549316,1986.302368,0.411659
4,350,1219.830078,1742.383301,0.492701
4,360,1394.687866,1992.046143,0.802289
4,370,1384.779663,1977.907593,0.764099
4,380,1425.712646,2036.517334,0.454959
4,390,1269.325195,1812.961182,0.793848
4,400,1332.023926,1902.674072,0.465408
4,410,1358.205078,1940.052124,0.525438
4,420,1218.857666,1740.845581,0.846466
4,430,1432.824097,2046.588867,0.657311
4,440,1397.947754,1996.774902,0.645416
4,450,1317.465576,1881.677002,0.935239
4,460,1437.938110,2053.898926,0.657603
4,470,1333.029053,1903.984863,0.765121
4,480,1379.205811,1970.075195,0.460714
4,490,1403.384155,2004.584229,0.541554
4,500,1500.303101,2143.006592,0.618541
4,510,1469.422119,2098.944092,0.497694
4,520,1407.687744,2010.706177,0.604236
4,530,1324.212891,1891.329956,0.901385
4,540,1051.848145,1502.319458,0.692303
4,550,1410.138550,2014.073853,0.910204
4,560,1080.340576,1543.012939,0.707045
4,570,1480.853760,2115.173828,0.736971
4,580,1313.857056,1876.673950,0.572590
4,590,1489.191772,2127.010742,0.908589
4,600,1402.813232,2003.766235,0.545628
4,610,1350.005127,1928.306152,0.596006
4,620,1409.174561,2012.693848,0.919607
4,630,1322.290894,1888.672974,0.685984
4,640,1483.182739,2118.432373,0.887685
4,650,1477.207397,2109.938721,0.795490
4,660,1368.469482,1954.636963,0.703189
4,670,1346.890259,1923.822388,0.679141
4,680,1309.446167,1870.284790,0.782634
4,690,1259.538818,1798.951660,0.871608
4,700,1213.964722,1733.989868,0.538498
4,710,1341.846313,1916.611084,0.688046
4,720,1278.633911,1826.321167,0.655422
4,730,1321.792969,1888.046021,0.496103
4,740,1294.553955,1849.028320,0.734913
4,750,1331.466309,1901.765991,0.728413
4,760,1343.263062,1918.590332,0.793747
4,770,1346.412720,1923.192139,0.549143
4,780,1394.250732,1991.488403,0.654786
4,790,1178.614258,1683.442993,0.624984
5,0,1381.578125,1973.440308,0.475622
5,10,1292.605347,1846.350342,0.445175
5,20,1343.879395,1919.609863,0.449178
5,30,1333.156250,1904.241333,0.568427
5,40,1432.652100,2046.270264,0.826029
5,50,1424.269287,2034.384644,0.615697
5,60,1386.381226,1980.285889,0.559561
5,70,1296.574829,1852.006958,0.525181
5,80,1235.729736,1765.068481,0.552107
5,90,1388.295532,1983.003906,0.598889
5,100,1362.903809,1946.667480,0.742882
5,110,1339.192017,1912.866089,0.579080
5,120,1445.760620,2065.082031,0.623679
5,130,1444.509766,2063.282715,0.659761
5,140,1260.166138,1799.897583,0.722035
5,150,1311.296509,1872.888184,0.857408
5,160,1401.315552,2001.600098,0.595261
5,170,1431.771118,2045.029053,0.781770
5,180,1476.872559,2109.530518,0.611725
5,190,1433.121338,2047.075928,0.497609
5,200,1368.606201,1954.957397,0.398229
5,210,1434.444092,2049.137451,0.108338
5,220,1301.695435,1859.457764,0.198909
5,230,1350.648560,1929.392822,0.198544
5,240,1402.938965,2004.110107,0.158466
5,250,1374.445557,1963.446411,0.063809
5,260,1331.590454,1902.227417,0.058766
5,270,1358.835938,1940.958740,0.490266
5,280,1277.334961,1824.541626,0.471479
5,290,1289.189087,1841.444946,0.543997
5,300,1234.718262,1763.685425,0.398413
5,310,1467.128052,2095.673828,0.481397
5,320,1484.625122,2120.722412,0.351158
5,330,1402.348145,2003.108276,0.524456
5,340,1311.093872,1872.732666,0.560579
5,350,1299.273682,1855.947510,0.321461
5,360,1318.420410,1883.184204,0.597162
5,370,1356.793457,1937.954956,0.708372
5,380,1215.855225,1736.743164,0.393075
5,390,1391.972534,1988.185425,0.768275
5,400,1385.025635,1978.317627,0.634894
5,410,1338.120117,1911.285156,0.697956
5,420,1053.971558,1505.272339,0.894339
5,430,1466.043457,2094.085938,0.571332
5,440,1446.653687,2066.309326,0.749992
5,450,1352.591431,1931.964844,0.680090
5,460,938.970459,1341.028442,0.775030
5,470,1433.025024,2046.961548,0.462366
5,480,1382.997559,1975.474731,0.502687
5,490,1211.074097,1729.823120,0.616560
5,500,1355.821167,1936.559326,0.721231
5,510,1220.898071,1743.921021,0.469647
5,520,1311.034302,1872.702148,0.435444
5,530,1475.334595,2107.316162,0.661365
5,540,1202.873535,1718.044434,0.772177
5,550,1368.494263,1954.595703,0.884758
5,560,1352.476685,1931.809448,0.660819
5,570,1265.553101,1807.529419,0.899061
5,580,1359.037720,1941.129883,0.781809
5,590,1433.665527,2047.720947,0.830307
5,600,1454.692383,2077.746826,0.855085
5,610,1350.079468,1928.400513,0.622484
5,620,1431.371338,2044.401855,0.924907
5,630,1353.085205,1932.621704,0.789309
5,640,1343.684692,1919.240234,0.680895
5,650,1153.452271,1647.436646,0.782024
5,660,1341.494995,1916.067017,0.784926
5,670,1206.219971,1722.879272,0.635128
5,680,1368.555542,1954.773193,0.669750
5,690,1199.484131,1713.189453,0.800724
5,700,1394.796143,1992.213379,0.783516
5,710,1293.515015,1847.551025,0.719907
5,720,1390.605835,1986.249878,0.720971
5,730,1321.877930,1888.095459,0.664969
5,740,1449.051514,2069.736572,0.746680
5,750,1337.472046,1910.338745,0.741736
5,760,1256.858887,1795.156982,0.784702
5,770,1306.135498,1865.594971,0.684015
5,780,1315.913208,1879.570679,0.670323
5,790,1451.889648,2073.807861,0.705214
6,0,1402.109131,2002.675049,0.703659
6,10,1414.470215,2020.408325,0.529152
6,20,1377.476929,1967.583374,0.494593
6,30,1421.947144,2031.060059,0.627377
6,40,1337.385376,1910.196289,0.772749
6,50,1331.247559,1901.492065,0.629588
6,60,1363.626343,1947.782349,0.544360
6,70,1306.166992,1865.672729,0.607935
6,80,1394.703735,1992.135986,0.647641
6,90,1295.145264,1849.924438,0.615009
6,100,1306.985474,1866.828979,0.640840
6,110,1469.330078,2098.781006,0.566757
6,120,1292.434814,1846.058960,0.596419
6,130,1090.012207,1556.880127,0.602326
6,140,1271.001099,1815.373901,0.744468
6,150,1371.640137,1959.215820,0.581206
6,160,1352.763550,1932.159424,0.777695
6,170,1335.919189,1908.079102,0.824870
6,180,1324.261230,1891.578613,0.454496
6,190,1302.863525,1860.899902,0.708667
6,200,1193.828003,1705.381592,0.129727
6,210,1375.309448,1964.645874,0.131988
6,220,1289.626587,1842.238892,0.142794
6,230,1382.268066,1974.597290,0.117433
6,240,1396.389526,1994.690674,0.304747
6,250,1212.410278,1731.955566,0.082068
6,260,1442.449951,2060.592285,0.071983
6,270,1349.172485,1927.286011,0.195212
6,280,1267.510132,1810.568237,0.312127
6,290,1458.786133,2083.804443,0.361726
6,300,1258.974976,1798.295044,0.513440
6,310,1461.175293,2087.189697,0.433528
6,320,1230.999023,1758.362671,0.437663
6,330,1386.516357,1980.402344,0.735239
6,340,1442.661743,2060.596924,0.768169
6,350,1309.266968,1870.097168,0.614782
6,360,1420.350708,2028.842529,0.485295
6,370,1412.714355,2017.947144,0.460662
6,380,1426.125366,2037.005371,0.693541
6,390,1321.096069,1886.950073,0.721198
6,400,1483.022705,2118.393311,0.445550
6,410,1365.421875,1950.244751,0.783437
6,420,1436.181030,2051.374023,0.686178
6,430,1482.874023,2118.070068,0.712547
6,440,1302.881104,1861.025269,0.493659
6,450,1356.820068,1937.925049,0.866001
6,460,1446.284668,2065.759033,0.801515
6,470,1034.633789,1477.762329,0.611554
6,480,1263.159912,1804.263428,0.546072
6,490,1448.827148,2069.524414,0.490979
6,500,1365.781860,1950.902466,0.458113
6,510,1392.418579,1988.891724,0.603457
6,520,1380.563232,1971.895264,0.748071
6,530,1383.598877,1976.245605,0.714526
6,540,1283.676392,1833.432251,0.870318
6,550,1406.994019,2009.698486,0.642495
6,560,1452.090210,2074.053711,0.800106
6,570,1128.043213,1611.086792,0.888306
6,580,1353.439575,1933.157593,0.716758
6,590,1433.040283,2046.892822,0.678801
6,600,1465.141479,2092.778564,0.611183
6,610,1360.478882,1943.135986,0.905106
6,620,1365.959229,1951.064087,0.674060
6,630,1364.727905,1949.238647,0.827151
6,640,1276.682983,1823.518188,0.687770
6,650,1314.865479,1878.089233,0.635976
6,660,1448.328125,2068.691406,0.775176
6,670,1424.035522,2033.954468,0.852288
6,680,1385.819824,1979.389648,0.779933
6,690,1443.240845,2061.336426,0.976319
6,700,1326.837524,1895.168579,0.680883
6,710,1408.063965,2011.209473,0.689842
6,720,1393.958618,1991.055786,0.683554
6,730,1383.852539,1976.616577,0.698341
6,740,1371.577515,1959.052368,0.763584
6,750,975.784180,1393.620850,0.774587
6,760,1397.252808,1995.782959,0.639068
6,770,1296.468140,1851.828003,0.580253
6,780,1323.732544,1890.660278,0.853858
6,790,1253.175171,1789.927856,0.707006
7,0,1427.383911,2038.921875,0.357666
7,10,1149.285278,1641.530762,0.625638
7,20,1398.872803,1998.107422,0.595522
7,30,1173.637939,1676.378174,0.510373
7,40,1408.580688,2011.977295,0.602553
7,50,1327.318359,1895.835449,0.726305
7,60,1210.938477,1729.561646,0.769907
7,70,1289.211426,1841.411621,0.701483
7,80,1256.855591,1795.246094,0.573556
7,90,1404.395386,2005.986816,0.637843
7,100,1333.393188,1904.515625,0.731328
7,110,1380.505615,1971.832520,0.699024
7,120,1124.031982,1605.477051,0.587771
7,130,1247.642334,1782.053345,0.637281
7,140,1414.689087,2020.663818,0.699980
7,150,1467.120850,2095.564209,0.702573
7,160,1394.851196,1992.263428,0.830261
7,170,1479.298584,2112.988037,0.628267
7,180,1391.184082,1987.135620,0.573001
7,190,1573.935059,2248.292236,0.379493
7,200,1334.128540,1905.747681,0.291988
7,210,1410.637695,2015.101440,0.172436
7,220,1369.421509,1956.244873,0.117897
7,230,1397.929321,1996.967407,0.129837
7,240,1275.251709,1821.724243,0.100066
7,250,1277.143677,1824.428589,0.091271
7,260,1397.119019,1995.833862,0.070850
7,270,1262.207031,1803.056519,0.179170
7,280,1394.497925,1991.944824,0.405396
7,290,1329.105835,1898.488892,0.496955
7,300,1440.054810,2056.928955,0.632547
7,310,1296.870728,1852.476440,0.413340
7,320,1375.024780,1964.122925,0.416442
7,330,1339.952637,1914.008179,0.442784
7,340,1552.520752,2217.615479,0.592493
7,350,1338.742798,1912.194458,0.642815
7,360,1396.040405,1994.139893,0.427340
7,370,1206.552368,1723.403931,0.523065
7,380,1217.284180,1738.697998,0.603473
7,390,1465.359985,2093.057617,0.687396
7,400,1223.174194,1746.990356,0.894657
7,410,1322.689087,1889.255981,0.647148
7,420,1426.747925,2037.823730,0.863030
7,430,1327.786865,1896.571411,0.578874
7,440,1400.174561,1999.928711,0.705682
7,450,1393.601929,1990.545532,0.691348
7,460,1225.392700,1750.205078,0.791842
7,470,1377.230713,1967.231079,0.515584
7,480,993.232178,1418.604248,0.640837
7,490,1385.767822,1979.260498,0.907338
7,500,1370.890503,1958.112183,0.657997
7,510,1337.819458,1910.889038,0.615062
7,520,1370.637695,1957.712280,0.748476
7,530,1338.053833,1911.143799,0.798569
7,540,1366.044678,1951.188599,0.670380
7,550,1393.078125,1989.796753,0.700469
7,560,1129.454224,1613.093140,0.911564
7,570,1273.085571,1818.362671,0.726649
7,580,1265.287842,1807.219116,0.737303
7,590,1386.473145,1980.346313,0.729028
7,600,1316.534424,1880.404053,0.802621
7,610,1462.629395,2089.238770,0.500190
7,620,1343.828369,1919.334839,0.936861
7,630,1185.687134,1693.479736,0.792609
7,640,1329.250122,1898.628174,0.661207
7,650,1451.651245,2073.404297,0.852252
7,660,1341.429077,1916.085693,0.529053
7,670,1357.372314,1938.728271,0.833373
7,680,1288.235962,1839.983154,0.784858
7,690,1364.239868,1948.524292,0.869382
7,700,1322.240845,1888.505005,0.923278
7,710,1377.459351,1967.501099,0.643483
7,720,1246.564819,1780.465942,0.750393
7,730,1425.477295,2036.080566,0.692054
7,740,1351.905151,1931.035278,0.557867
7,750,1388.324341,1982.980103,0.746014
7,760,1384.515015,1977.564697,0.687298
7,770,1158.278320,1654.387329,0.634209
7,780,1348.044312,1925.471069,0.679789
7,790,1184.838013,1692.351685,0.594770
8,0,1430.853882,2043.857178,0.413180
8,10,1402.583740,2003.463989,0.447673
8,20,1354.354248,1934.396606,0.859101
8,30,1412.740845,2017.922974,0.591015
8,40,1305.915283,1865.248901,0.736410
8,50,1276.975342,1823.904053,0.757966
8,60,1384.281860,1977.309692,0.492115
8,70,1267.346558,1810.141724,0.783241
8,80,1345.061768,1921.269043,0.537711
8,90,1346.264404,1922.974854,0.563284
8,100,1391.877808,1988.105957,0.635657
8,110,1366.934448,1952.426147,0.741894
8,120,1253.876343,1790.927246,0.701687
8,130,1277.523926,1824.749512,0.613267
8,140,1303.589233,1861.918335,0.766769
8,150,1379.761719,1970.743286,0.749061
8,160,1256.161743,1794.232178,0.607267
8,170,1286.510132,1837.542114,0.709287
8,180,1381.922485,1973.952271,0.458755
8,190,1367.694824,1953.644531,0.422003
8,200,1351.914429,1931.200439,0.190074
8,210,1310.535278,1872.065308,0.242793
8,220,1074.070679,1534.313232,0.108120
8,230,1422.666748,2032.280640,0.182237
8,240,1348.740234,1926.643921,0.252413
8,250,1394.232544,1991.698730,0.102536
8,260,1382.515137,1974.969849,0.076682
8,270,1407.324463,2010.302490,0.327881
8,280,1362.257446,1945.829346,0.531096
8,290,1386.497925,1980.541992,0.351584
8,300,1460.178955,2085.657715,0.683763
8,310,1275.496216,1821.935913,0.424736
8,320,1385.472656,1979.039185,0.430447
8,330,1517.117188,2167.053955,0.548888
8,340,1318.596558,1883.497803,0.452265
8,350,1242.619263,1774.961182,0.440472
8,360,1310.204834,1871.395752,0.715310
8,370,1401.934570,2002.489258,0.599136
8,380,1193.227905,1704.293823,0.692336
8,390,1329.633667,1899.126221,0.774669
8,400,1350.765991,1929.382446,0.614092
8,410,1405.248291,2007.186035,0.683590
8,420,1396.550781,1994.799561,0.597365
8,430,1364.058960,1948.376343,0.609830
8,440,1409.152954,2012.791016,0.621008
8,450,1306.067871,1865.509888,0.652660
8,460,1374.333984,1962.987915,0.770055
8,470,1306.677246,1866.374268,0.672749
8,480,1365.465210,1950.428833,0.503327
8,490,1369.738525,1956.447144,0.707809
8,500,1446.645508,2066.331055,0.672423
8,510,1404.481201,2006.176270,0.475139
8,520,1333.953003,1905.416016,0.499908
8,530,1451.401978,2073.205322,0.485541
8,540,1276.721802,1823.650391,0.513795
8,550,1416.303223,2022.925537,0.801875
8,560,1512.302246,2160.107910,0.715139
8,570,1458.925903,2083.821777,0.796904
8,580,1489.223511,2127.107666,0.781716
8,590,1340.004639,1914.004272,0.623736
8,600,1354.776978,1934.992798,0.899712
8,610,1225.583008,1750.554321,0.603478
8,620,1225.543213,1750.441528,0.743612
8,630,1356.140137,1937.092529,0.543510
8,640,1357.819824,1939.369995,0.830926
8,650,1276.639404,1823.498413,0.595685
8,660,1352.599243,1931.996704,0.628689
8,670,1326.531128,1894.691162,0.778533
8,680,1168.036743,1668.287476,0.735241
8,690,1183.291138,1690.091187,0.707204
8,700,1406.184814,2008.546631,0.638747
8,710,1462.970459,2089.560791,0.880348
8,720,1411.845337,2016.594727,0.727399
8,730,1183.481201,1690.309448,0.845188
8,740,1375.187744,1964.222900,0.728351
8,750,1382.059326,1973.986206,0.855727
8,760,1352.645508,1932.000977,0.773716
8,770,1240.372070,1771.634155,0.712623
8,780,1351.737671,1930.695068,0.793972
8,790,1362.313965,1945.845337,0.701692
9,0,1167.117920,1667.099609,0.374608
9,10,1389.198242,1984.362549,0.404507
9,20,1284.041260,1834.031250,0.669447
9,30,1257.346313,1795.982422,0.462772
9,40,1342.695557,1917.816772,0.689729
9,50,1360.405273,1943.096558,0.743577
9,60,1301.845825,1859.481934,0.645122
9,70,1485.945679,2122.514648,0.570123
9,80,1461.847900,2088.071045,0.618146
9,90,1314.727783,1877.804321,0.840805
9,100,1334.130127,1905.605103,0.645316
9,110,1221.221191,1744.278931,0.699416
9,120,1385.631104,1979.259644,0.450594
9,130,1327.047119,1895.480713,0.654597
9,140,1381.455688,1973.164307,0.751353
9,150,1213.203613,1732.836060,0.663023
9,160,1238.085083,1768.382080,0.664160
9,170,1262.798096,1803.687988,0.660173
9,180,1430.566772,2043.460205,0.422453
9,190,1270.846558,1815.304443,0.378631
9,200,1422.160645,2031.538330,0.223065
9,210,1374.248169,1963.124878,0.147017
9,220,1298.134521,1854.404053,0.120393
9,230,1349.836914,1928.244385,0.168487
9,240,1354.287598,1934.576172,0.234960
9,250,1452.162231,2074.443604,0.133361
9,260,1409.717163,2013.821289,0.097083
9,270,1420.777954,2029.524048,0.323000
9,280,1397.178223,1995.813965,0.314937
9,290,1382.241455,1974.427612,0.425842
9,300,1360.468384,1943.337036,0.394178
9,310,1291.504395,1844.836426,0.349840
9,320,1405.881104,2008.145874,0.556430
9,330,1257.617676,1796.228394,0.815588
9,340,1255.381226,1793.084961,0.690902
9,350,1288.353394,1840.301392,0.418188
9,360,1246.255249,1780.006470,0.781109
9,370,1322.656616,1889.198242,0.680039
9,380,1295.011841,1849.683105,0.737371
9,390,1400.574951,2000.593140,0.485168
9,400,1426.532471,2037.596191,0.678564
9,410,1378.598389,1969.005981,0.938101
9,420,1282.483398,1831.788696,0.721778
9,430,1258.534546,1797.566162,0.753230
9,440,1386.989014,1981.104004,0.677300
9,450,1401.886353,2002.432007,0.570592
9,460,1422.267090,2031.503296,0.677374
9,470,1360.145752,1942.751953,0.695174
9,480,1416.858032,2023.820068,0.569829
9,490,1353.596069,1933.342407,0.804701
9,500,1363.734009,1947.892456,0.662382
9,510,1357.725220,1939.232300,0.834168
9,520,1362.017456,1945.438477,0.662265
9,530,1236.691650,1766.357422,0.755286
9,540,1447.441772,2067.534668,0.516392
9,550,1312.263550,1874.350586,0.682969
9,560,1303.780762,1862.239014,0.664007
9,570,1446.870361,2066.586670,0.819120
9,580,1427.273560,2038.615967,0.766797
9,590,1398.765869,1997.956299,0.615517
9,600,1372.102295,1959.864990,0.612538
9,610,1351.152100,1929.911865,0.671775
9,620,1339.440674,1913.146851,0.750727
9,630,1256.030273,1793.962769,0.809595
9,640,1431.364136,2044.424072,0.851141
9,650,1197.544678,1710.423950,0.785345
9,660,1364.932739,1949.630493,0.600471
9,670,1202.534668,1717.592529,0.687238
9,680,1413.439819,2018.868896,0.729740
9,690,1297.329346,1852.953979,0.827475
9,700,1394.275146,1991.509033,0.685360
9,710,1329.347412,1898.767334,0.656253
9,720,1231.160889,1758.465088,0.729312
9,730,1374.985352,1963.928467,0.739654
9,740,1223.265869,1747.197144,0.711846
9,750,1398.930420,1998.148315,0.716038
9,760,1281.642944,1830.601807,0.698900
9,770,1328.708618,1897.798340,0.789865
9,780,1293.412109,1847.345093,0.847453
9,790,1441.486572,2058.928955,0.744339
1 epoch step loss loss_cont loss_disc
0 0 3183.833496 4547.250000 2.165921
0 10 4260.964844 6086.371094 1.477616
0 20 2116.119873 3022.433350 1.257380
0 30 3882.547119 5545.978516 1.078264
0 40 2126.222656 3036.978516 0.966898
0 50 2942.983643 4203.791504 0.981975
0 60 3079.097900 4398.337402 0.751671
0 70 2756.608154 3937.662598 0.690103
0 80 2882.933350 4118.061523 0.833904
0 90 3349.992188 4785.333496 0.757422
0 100 1741.162476 2487.016113 0.741698
0 110 1668.691528 2383.486084 0.736027
0 120 1626.804077 2323.649658 0.714632
0 130 1739.610596 2484.779053 0.805368
0 140 1190.108276 1699.823975 0.678712
0 150 1587.094727 2266.948242 0.682505
0 160 1427.858887 2039.499756 0.609859
0 170 1811.523193 2587.579590 0.641686
0 180 1308.677856 1869.259033 0.509748
0 190 1787.746948 2553.791260 0.202289
0 200 1296.434937 1851.945190 0.162002
0 210 1573.985596 2248.483643 0.062722
0 220 1657.316772 2367.471191 0.214760
0 230 1573.392700 2247.636719 0.068238
0 240 1417.035889 2024.277466 0.049557
0 250 1549.874023 2214.043213 0.047622
0 260 1425.188721 2035.934326 0.038305
0 270 1193.563599 1704.947876 0.255677
0 280 1639.197632 2341.459473 0.510232
0 290 1509.789917 2156.656494 0.358221
0 300 1520.971924 2172.569580 0.499612
0 310 1448.923096 2069.689209 0.405220
0 320 1509.381592 2156.093506 0.324874
0 330 1431.812378 2045.166016 0.590879
0 340 1586.484375 2265.996826 0.895936
0 350 1540.961792 2200.998291 0.807437
0 360 1403.801270 2005.122559 0.650033
0 370 1182.521973 1689.022095 0.607263
0 380 1575.898926 2250.958496 0.672297
0 390 1119.291748 1598.626587 0.761839
0 400 1457.056763 2081.217529 0.623194
0 410 1458.964355 2083.939697 0.627759
0 420 1857.774902 2653.647217 0.657969
0 430 1479.923218 2113.928467 0.519893
0 440 1556.646851 2223.401611 0.798703
0 450 1512.004028 2159.686768 0.684771
0 460 1503.624146 2147.708740 0.707785
0 470 1485.873047 2122.466064 0.437047
0 480 1240.096558 1771.299438 0.569240
0 490 1520.380493 2171.614014 0.783165
0 500 1390.873169 1986.582886 0.827785
0 510 1466.522095 2094.705078 0.713094
0 520 1343.955078 1919.605347 0.707818
0 530 1489.076904 2126.915771 0.734974
0 540 1373.783813 1962.234985 0.680721
0 550 1483.088501 2118.368652 0.715005
0 560 1375.881714 1965.243042 0.646410
0 570 1489.005127 2126.831543 0.696469
0 580 1442.773315 2060.724854 0.844003
0 590 1448.177979 2068.571533 0.545372
0 600 1465.157715 2092.761230 0.707009
0 610 1417.420410 2024.518066 0.810667
0 620 1580.409302 2257.281982 0.981756
0 630 1380.472656 1971.689453 0.917575
0 640 1359.237793 1941.466919 0.650692
0 650 1409.855713 2013.786499 0.632975
0 660 1321.520020 1887.537476 0.760216
0 670 1487.645386 2124.899902 0.669072
0 680 1452.418335 2074.552979 0.725417
0 690 1441.415161 2058.786133 0.834513
0 700 1402.777588 2003.592529 0.817658
0 710 1485.798706 2122.215820 0.770396
0 720 1443.123169 2061.236084 0.801226
0 730 1562.140747 2231.276367 0.760848
0 740 1465.517090 2093.262695 0.718800
0 750 1503.987549 2148.218994 0.731936
0 760 1463.923584 2091.003906 0.680780
0 770 1248.211670 1782.830566 0.706683
0 780 1291.236084 1844.320435 0.651371
0 790 1389.062012 1984.033691 0.709403
1 0 1192.243164 1702.854980 0.694978
1 10 1406.769165 2009.306519 0.767720
1 20 1403.562134 2004.855957 0.472092
1 30 1455.620605 2079.084473 0.809346
1 40 1511.905029 2159.533203 0.690817
1 50 1361.750732 1945.103149 0.523287
1 60 1441.327515 2058.760498 0.602468
1 70 1538.143433 2197.074707 0.577835
1 80 1556.282959 2222.928955 0.707042
1 90 1408.079956 2011.192383 0.755949
1 100 1252.612061 1789.158936 0.587348
1 110 1425.406250 2035.969116 0.702207
1 120 1466.847290 2095.232422 0.559751
1 130 1442.323730 2060.066650 0.864437
1 140 1486.157593 2122.814209 0.568802
1 150 1354.899292 1935.276489 0.622464
1 160 1523.623169 2176.253174 0.764237
1 170 1375.681519 1964.998901 0.545158
1 180 1432.013916 2045.550781 0.364375
1 190 1573.346191 2247.483154 0.293261
1 200 1373.219238 1961.681885 0.073897
1 210 1200.231689 1714.564941 0.044114
1 220 1443.027466 2061.372070 0.153626
1 230 1392.894165 1989.752197 0.159111
1 240 1248.433350 1783.423218 0.045142
1 250 1399.079956 1998.641724 0.046081
1 260 1043.950562 1491.313354 0.026152
1 270 1386.855713 1981.114624 0.190385
1 280 1301.704956 1859.409668 0.327215
1 290 1453.345703 2075.958252 0.534003
1 300 1007.209778 1438.617432 0.507804
1 310 1420.263184 2028.741821 0.432041
1 320 1401.183838 2001.453613 0.500705
1 330 1162.425659 1660.487305 0.229063
1 340 1444.356934 2063.087402 0.597427
1 350 1515.763794 2165.058105 0.693658
1 360 1176.056152 1679.809082 0.579492
1 370 1488.808594 2126.468262 0.875025
1 380 1483.213379 2118.474854 0.880310
1 390 1530.847290 2186.571533 0.770389
1 400 1452.788818 2075.002686 0.902439
1 410 1051.481812 1501.793091 0.699194
1 420 1325.271729 1892.873901 0.817299
1 430 1221.533203 1744.660034 0.826395
1 440 1364.080688 1948.351685 0.644970
1 450 1425.246582 2035.773926 0.599805
1 460 1392.415894 1988.808228 0.766945
1 470 1398.283203 1997.180542 0.804351
1 480 1357.390625 1938.774780 0.782836
1 490 1385.345947 1978.764404 0.652330
1 500 1436.315063 2051.581055 0.641387
1 510 1381.300049 1972.979248 0.665288
1 520 1531.555908 2187.629395 0.669540
1 530 1423.214111 2032.781616 0.844305
1 540 1489.749756 2127.918945 0.644862
1 550 1448.497803 2068.940674 0.748062
1 560 1345.417603 1921.640747 0.847624
1 570 1427.397217 2038.823608 0.692119
1 580 1386.693604 1980.625854 0.800293
1 590 1386.573486 1980.441284 0.837725
1 600 1465.146729 2092.761719 0.667743
1 610 1482.564819 2117.677246 0.584602
1 620 1376.572876 1966.167847 0.800428
1 630 918.296814 1311.554321 0.632072
1 640 1324.733643 1892.135132 0.743117
1 650 1401.460938 2001.751953 0.737485
1 660 1447.588745 2067.669678 0.687752
1 670 1245.077515 1778.398438 0.618556
1 680 1341.766846 1916.551758 0.543834
1 690 1405.754150 2007.927124 0.623327
1 700 1443.610107 2061.937988 0.797176
1 710 1411.496216 2016.130127 0.640040
1 720 1356.189331 1937.049805 0.798009
1 730 1274.552490 1820.477051 0.670119
1 740 1423.458984 2033.200562 0.676492
1 750 1479.755005 2113.521973 0.918397
1 760 1450.786987 2072.183105 0.813719
1 770 1281.817139 1830.844849 0.705245
1 780 1346.415405 1923.209106 0.519566
1 790 1358.163574 1939.853638 0.828874
2 0 1310.122192 1871.381714 0.418646
2 10 1361.304565 1944.360352 0.766878
2 20 1466.903442 2095.298584 0.591117
2 30 1188.091553 1696.908447 0.785655
2 40 1031.407104 1473.176514 0.537891
2 50 1450.158569 2071.397949 0.552217
2 60 1406.581543 2009.071777 0.715261
2 70 1425.637939 2036.380127 0.512891
2 80 1281.622070 1830.561768 0.705330
2 90 1403.056030 2004.125000 0.509431
2 100 921.419739 1315.966064 0.738051
2 110 1476.578735 2109.053467 0.758207
2 120 1449.954224 2071.107666 0.521591
2 130 1636.102051 2337.042969 0.519529
2 140 1452.944824 2075.289551 0.746595
2 150 1463.096558 2089.815918 0.694976
2 160 1442.698608 2060.724121 0.573986
2 170 1278.251953 1825.785767 0.605055
2 180 1307.614746 1867.812744 0.415971
2 190 1470.441772 2100.503418 0.248311
2 200 1396.237671 1994.438232 0.381042
2 210 1387.538574 1982.151001 0.054129
2 220 1439.064453 2055.743652 0.090782
2 230 1205.754150 1722.462646 0.061438
2 240 1364.279419 1948.926514 0.055147
2 250 1439.678833 2056.550781 0.255331
2 260 1400.453857 2000.613892 0.035497
2 270 1358.423462 1940.484863 0.233596
2 280 1438.205200 2054.382324 0.407459
2 290 1228.822510 1755.127930 0.715387
2 300 1432.869751 2046.666626 0.633316
2 310 1407.755005 2010.844116 0.493981
2 320 1333.771729 1905.215942 0.346601
2 330 1399.125488 1998.428223 0.710479
2 340 1320.554199 1886.152832 0.781575
2 350 1441.380615 2058.753662 0.800905
2 360 1284.714478 1835.115845 0.395085
2 370 1482.997559 2118.269043 0.645539
2 380 1493.872192 2133.795166 0.676303
2 390 1374.022339 1962.591675 0.646625
2 400 1350.922241 1929.632324 0.554588
2 410 1353.784302 1933.590454 0.853464
2 420 1225.463135 1750.319458 0.742598
2 430 1374.721436 1963.573486 0.688309
2 440 1363.357910 1947.348022 0.670548
2 450 1327.532227 1896.116577 0.789792
2 460 1122.100342 1602.577515 0.931781
2 470 1462.956421 2089.627197 0.680613
2 480 1028.083862 1468.319336 0.826784
2 490 1444.081421 2062.705322 0.585638
2 500 1326.344604 1894.331787 0.993218
2 510 1400.913696 2000.963989 0.748535
2 520 1399.426270 1998.923096 0.551655
2 530 1317.556152 1881.988647 0.506432
2 540 1462.125244 2088.394531 0.785299
2 550 1318.631836 1883.374390 0.853133
2 560 1400.045166 1999.746948 0.703460
2 570 1338.887451 1912.402100 0.640872
2 580 1398.414673 1997.384155 0.776960
2 590 1335.390625 1907.374634 0.717682
2 600 1407.163574 2009.879639 0.782327
2 610 1103.324097 1575.834595 0.737488
2 620 1469.277954 2098.603271 0.803315
2 630 1377.150635 1967.023315 0.728316
2 640 1284.598755 1834.763550 0.835004
2 650 1468.784790 2097.991455 0.595406
2 660 1310.691284 1872.121460 0.631713
2 670 1328.395996 1897.360840 0.761301
2 680 1329.978882 1899.589111 0.844821
2 690 1358.114746 1939.866577 0.648494
2 700 1330.349365 1900.161133 0.732546
2 710 1094.310059 1562.884155 0.919431
2 720 996.794189 1423.642334 0.752403
2 730 1509.052979 2155.485352 0.665574
2 740 1437.262085 2052.928711 0.656775
2 750 1192.932983 1703.909546 0.612598
2 760 1379.242432 1969.965454 0.834590
2 770 1392.717285 1989.165649 0.952917
2 780 1409.844727 2013.728760 0.735940
2 790 1354.926025 1935.198608 0.906308
3 0 1474.789917 2106.657959 0.320913
3 10 1233.481934 1761.912109 0.392319
3 20 1306.513062 1866.142334 0.642290
3 30 1382.109497 1974.100830 0.742490
3 40 1445.045044 2063.961670 0.848702
3 50 1220.986694 1743.925171 0.746243
3 60 1394.458252 1991.725220 0.764863
3 70 1016.398865 1451.727417 0.572467
3 80 1347.343140 1924.485474 0.622466
3 90 1479.106567 2112.760010 0.535122
3 100 1501.767090 2145.130859 0.539186
3 110 1398.487793 1997.606934 0.498223
3 120 1387.138550 1981.401611 0.481850
3 130 1333.497559 1904.718262 0.600926
3 140 1406.692749 2009.258911 0.649231
3 150 1528.006348 2182.471680 0.858538
3 160 1194.264404 1705.728760 0.790984
3 170 1344.019165 1919.763550 0.560959
3 180 1385.327637 1978.867432 0.341166
3 190 1249.843018 1785.375000 0.201357
3 200 1339.098267 1912.930420 0.108677
3 210 1351.928833 1931.249634 0.125045
3 220 1321.489258 1887.758179 0.145731
3 230 1481.554321 2116.449707 0.080655
3 240 1444.743042 2063.873535 0.057254
3 250 1311.291382 1873.229736 0.063893
3 260 1436.432129 2052.005859 0.049077
3 270 1325.572388 1893.491333 0.382297
3 280 1379.625122 1970.720947 0.355222
3 290 1244.760986 1777.933716 0.640860
3 300 1251.521851 1787.569702 0.691775
3 310 1193.661743 1704.999512 0.483678
3 320 1392.481445 1989.121948 0.277586
3 330 1371.599854 1959.125244 0.661989
3 340 1388.293945 1983.006958 0.576749
3 350 1410.410889 2014.557007 0.690085
3 360 1290.459351 1843.239502 0.588218
3 370 1386.642700 1980.658325 0.561619
3 380 1431.838501 2045.134766 0.765934
3 390 1330.940796 1900.982300 0.790070
3 400 1386.725098 1980.703491 0.723482
3 410 1281.702271 1830.694702 0.678544
3 420 1450.241821 2071.481689 0.639323
3 430 1334.888794 1906.645142 0.746211
3 440 1475.799194 2107.986328 0.650364
3 450 1324.678589 1892.029785 0.807135
3 460 1354.497681 1934.654175 0.756229
3 470 1107.910522 1582.490601 0.500695
3 480 1435.326904 2050.153564 0.674719
3 490 1319.159912 1884.216187 0.647862
3 500 1340.236450 1914.410034 0.445445
3 510 1342.714111 1917.880615 0.612413
3 520 1348.723022 1926.403320 0.760435
3 530 1276.793091 1823.782227 0.438722
3 540 1405.454834 2007.481689 0.681101
3 550 1302.241211 1859.974121 0.819137
3 560 1539.127075 2198.369385 0.854926
3 570 1331.934326 1902.481323 0.614280
3 580 1194.027344 1705.411621 0.751001
3 590 1362.927124 1946.679688 0.793889
3 600 1361.725342 1944.994141 0.720772
3 610 1373.232910 1961.463135 0.653718
3 620 1302.502075 1860.420044 0.657502
3 630 1317.537964 1881.926880 0.589975
3 640 1428.997559 2041.073120 0.772419
3 650 1255.266235 1792.909302 0.719631
3 660 1291.690918 1844.971436 0.659025
3 670 1378.569824 1969.075317 0.679549
3 680 1198.053833 1711.111084 0.873652
3 690 1250.473877 1786.015625 0.839820
3 700 1291.293457 1844.336548 0.809987
3 710 1389.156494 1984.216309 0.640415
3 720 1451.439941 2073.153809 0.734372
3 730 1389.186523 1984.201538 0.775694
3 740 1460.354492 2085.836182 0.858047
3 750 1494.142822 2134.183350 0.665175
3 760 1398.958862 1998.135132 0.834417
3 770 1360.851929 1943.689453 0.848515
3 780 1288.482056 1840.310547 0.838317
3 790 1344.724854 1920.667847 0.813874
4 0 1331.611694 1902.077393 0.427302
4 10 1351.088379 1929.804443 0.674919
4 20 1344.562988 1920.547607 0.537479
4 30 1380.292236 1971.577881 0.562771
4 40 1476.475220 2108.975098 0.584272
4 50 1437.855591 2053.761719 0.683065
4 60 1447.503418 2067.565674 0.635268
4 70 1396.583374 1994.818115 0.656298
4 80 1402.370972 2003.057617 0.716676
4 90 1463.434814 2090.305176 0.693182
4 100 1411.198120 2015.713135 0.622315
4 110 1334.692871 1906.357178 0.763460
4 120 1379.127930 1969.912598 0.586174
4 130 1254.672119 1792.081055 0.657634
4 140 1264.629639 1806.285645 0.714038
4 150 1438.762817 2055.045410 0.714952
4 160 1412.637085 2017.642944 0.910181
4 170 1364.711670 1949.279053 0.664152
4 180 1377.968384 1968.219849 0.666259
4 190 1494.332520 2134.637451 0.229824
4 200 1355.711548 1936.567505 0.320178
4 210 1419.343994 2027.532837 0.179927
4 220 1143.623535 1633.558594 0.391724
4 230 1454.817993 2078.259033 0.068267
4 240 1330.723755 1900.961304 0.117085
4 250 1415.292480 2021.797607 0.066861
4 260 1369.316406 1956.117920 0.069667
4 270 1443.334351 2061.570801 0.715960
4 280 1381.048340 1972.641846 0.615013
4 290 1400.020752 1999.707031 0.697925
4 300 1270.261475 1814.306152 0.769272
4 310 1416.783691 2023.819092 0.320928
4 320 1380.434082 1971.820557 0.481759
4 330 1394.524292 1991.854858 0.708896
4 340 1390.549316 1986.302368 0.411659
4 350 1219.830078 1742.383301 0.492701
4 360 1394.687866 1992.046143 0.802289
4 370 1384.779663 1977.907593 0.764099
4 380 1425.712646 2036.517334 0.454959
4 390 1269.325195 1812.961182 0.793848
4 400 1332.023926 1902.674072 0.465408
4 410 1358.205078 1940.052124 0.525438
4 420 1218.857666 1740.845581 0.846466
4 430 1432.824097 2046.588867 0.657311
4 440 1397.947754 1996.774902 0.645416
4 450 1317.465576 1881.677002 0.935239
4 460 1437.938110 2053.898926 0.657603
4 470 1333.029053 1903.984863 0.765121
4 480 1379.205811 1970.075195 0.460714
4 490 1403.384155 2004.584229 0.541554
4 500 1500.303101 2143.006592 0.618541
4 510 1469.422119 2098.944092 0.497694
4 520 1407.687744 2010.706177 0.604236
4 530 1324.212891 1891.329956 0.901385
4 540 1051.848145 1502.319458 0.692303
4 550 1410.138550 2014.073853 0.910204
4 560 1080.340576 1543.012939 0.707045
4 570 1480.853760 2115.173828 0.736971
4 580 1313.857056 1876.673950 0.572590
4 590 1489.191772 2127.010742 0.908589
4 600 1402.813232 2003.766235 0.545628
4 610 1350.005127 1928.306152 0.596006
4 620 1409.174561 2012.693848 0.919607
4 630 1322.290894 1888.672974 0.685984
4 640 1483.182739 2118.432373 0.887685
4 650 1477.207397 2109.938721 0.795490
4 660 1368.469482 1954.636963 0.703189
4 670 1346.890259 1923.822388 0.679141
4 680 1309.446167 1870.284790 0.782634
4 690 1259.538818 1798.951660 0.871608
4 700 1213.964722 1733.989868 0.538498
4 710 1341.846313 1916.611084 0.688046
4 720 1278.633911 1826.321167 0.655422
4 730 1321.792969 1888.046021 0.496103
4 740 1294.553955 1849.028320 0.734913
4 750 1331.466309 1901.765991 0.728413
4 760 1343.263062 1918.590332 0.793747
4 770 1346.412720 1923.192139 0.549143
4 780 1394.250732 1991.488403 0.654786
4 790 1178.614258 1683.442993 0.624984
5 0 1381.578125 1973.440308 0.475622
5 10 1292.605347 1846.350342 0.445175
5 20 1343.879395 1919.609863 0.449178
5 30 1333.156250 1904.241333 0.568427
5 40 1432.652100 2046.270264 0.826029
5 50 1424.269287 2034.384644 0.615697
5 60 1386.381226 1980.285889 0.559561
5 70 1296.574829 1852.006958 0.525181
5 80 1235.729736 1765.068481 0.552107
5 90 1388.295532 1983.003906 0.598889
5 100 1362.903809 1946.667480 0.742882
5 110 1339.192017 1912.866089 0.579080
5 120 1445.760620 2065.082031 0.623679
5 130 1444.509766 2063.282715 0.659761
5 140 1260.166138 1799.897583 0.722035
5 150 1311.296509 1872.888184 0.857408
5 160 1401.315552 2001.600098 0.595261
5 170 1431.771118 2045.029053 0.781770
5 180 1476.872559 2109.530518 0.611725
5 190 1433.121338 2047.075928 0.497609
5 200 1368.606201 1954.957397 0.398229
5 210 1434.444092 2049.137451 0.108338
5 220 1301.695435 1859.457764 0.198909
5 230 1350.648560 1929.392822 0.198544
5 240 1402.938965 2004.110107 0.158466
5 250 1374.445557 1963.446411 0.063809
5 260 1331.590454 1902.227417 0.058766
5 270 1358.835938 1940.958740 0.490266
5 280 1277.334961 1824.541626 0.471479
5 290 1289.189087 1841.444946 0.543997
5 300 1234.718262 1763.685425 0.398413
5 310 1467.128052 2095.673828 0.481397
5 320 1484.625122 2120.722412 0.351158
5 330 1402.348145 2003.108276 0.524456
5 340 1311.093872 1872.732666 0.560579
5 350 1299.273682 1855.947510 0.321461
5 360 1318.420410 1883.184204 0.597162
5 370 1356.793457 1937.954956 0.708372
5 380 1215.855225 1736.743164 0.393075
5 390 1391.972534 1988.185425 0.768275
5 400 1385.025635 1978.317627 0.634894
5 410 1338.120117 1911.285156 0.697956
5 420 1053.971558 1505.272339 0.894339
5 430 1466.043457 2094.085938 0.571332
5 440 1446.653687 2066.309326 0.749992
5 450 1352.591431 1931.964844 0.680090
5 460 938.970459 1341.028442 0.775030
5 470 1433.025024 2046.961548 0.462366
5 480 1382.997559 1975.474731 0.502687
5 490 1211.074097 1729.823120 0.616560
5 500 1355.821167 1936.559326 0.721231
5 510 1220.898071 1743.921021 0.469647
5 520 1311.034302 1872.702148 0.435444
5 530 1475.334595 2107.316162 0.661365
5 540 1202.873535 1718.044434 0.772177
5 550 1368.494263 1954.595703 0.884758
5 560 1352.476685 1931.809448 0.660819
5 570 1265.553101 1807.529419 0.899061
5 580 1359.037720 1941.129883 0.781809
5 590 1433.665527 2047.720947 0.830307
5 600 1454.692383 2077.746826 0.855085
5 610 1350.079468 1928.400513 0.622484
5 620 1431.371338 2044.401855 0.924907
5 630 1353.085205 1932.621704 0.789309
5 640 1343.684692 1919.240234 0.680895
5 650 1153.452271 1647.436646 0.782024
5 660 1341.494995 1916.067017 0.784926
5 670 1206.219971 1722.879272 0.635128
5 680 1368.555542 1954.773193 0.669750
5 690 1199.484131 1713.189453 0.800724
5 700 1394.796143 1992.213379 0.783516
5 710 1293.515015 1847.551025 0.719907
5 720 1390.605835 1986.249878 0.720971
5 730 1321.877930 1888.095459 0.664969
5 740 1449.051514 2069.736572 0.746680
5 750 1337.472046 1910.338745 0.741736
5 760 1256.858887 1795.156982 0.784702
5 770 1306.135498 1865.594971 0.684015
5 780 1315.913208 1879.570679 0.670323
5 790 1451.889648 2073.807861 0.705214
6 0 1402.109131 2002.675049 0.703659
6 10 1414.470215 2020.408325 0.529152
6 20 1377.476929 1967.583374 0.494593
6 30 1421.947144 2031.060059 0.627377
6 40 1337.385376 1910.196289 0.772749
6 50 1331.247559 1901.492065 0.629588
6 60 1363.626343 1947.782349 0.544360
6 70 1306.166992 1865.672729 0.607935
6 80 1394.703735 1992.135986 0.647641
6 90 1295.145264 1849.924438 0.615009
6 100 1306.985474 1866.828979 0.640840
6 110 1469.330078 2098.781006 0.566757
6 120 1292.434814 1846.058960 0.596419
6 130 1090.012207 1556.880127 0.602326
6 140 1271.001099 1815.373901 0.744468
6 150 1371.640137 1959.215820 0.581206
6 160 1352.763550 1932.159424 0.777695
6 170 1335.919189 1908.079102 0.824870
6 180 1324.261230 1891.578613 0.454496
6 190 1302.863525 1860.899902 0.708667
6 200 1193.828003 1705.381592 0.129727
6 210 1375.309448 1964.645874 0.131988
6 220 1289.626587 1842.238892 0.142794
6 230 1382.268066 1974.597290 0.117433
6 240 1396.389526 1994.690674 0.304747
6 250 1212.410278 1731.955566 0.082068
6 260 1442.449951 2060.592285 0.071983
6 270 1349.172485 1927.286011 0.195212
6 280 1267.510132 1810.568237 0.312127
6 290 1458.786133 2083.804443 0.361726
6 300 1258.974976 1798.295044 0.513440
6 310 1461.175293 2087.189697 0.433528
6 320 1230.999023 1758.362671 0.437663
6 330 1386.516357 1980.402344 0.735239
6 340 1442.661743 2060.596924 0.768169
6 350 1309.266968 1870.097168 0.614782
6 360 1420.350708 2028.842529 0.485295
6 370 1412.714355 2017.947144 0.460662
6 380 1426.125366 2037.005371 0.693541
6 390 1321.096069 1886.950073 0.721198
6 400 1483.022705 2118.393311 0.445550
6 410 1365.421875 1950.244751 0.783437
6 420 1436.181030 2051.374023 0.686178
6 430 1482.874023 2118.070068 0.712547
6 440 1302.881104 1861.025269 0.493659
6 450 1356.820068 1937.925049 0.866001
6 460 1446.284668 2065.759033 0.801515
6 470 1034.633789 1477.762329 0.611554
6 480 1263.159912 1804.263428 0.546072
6 490 1448.827148 2069.524414 0.490979
6 500 1365.781860 1950.902466 0.458113
6 510 1392.418579 1988.891724 0.603457
6 520 1380.563232 1971.895264 0.748071
6 530 1383.598877 1976.245605 0.714526
6 540 1283.676392 1833.432251 0.870318
6 550 1406.994019 2009.698486 0.642495
6 560 1452.090210 2074.053711 0.800106
6 570 1128.043213 1611.086792 0.888306
6 580 1353.439575 1933.157593 0.716758
6 590 1433.040283 2046.892822 0.678801
6 600 1465.141479 2092.778564 0.611183
6 610 1360.478882 1943.135986 0.905106
6 620 1365.959229 1951.064087 0.674060
6 630 1364.727905 1949.238647 0.827151
6 640 1276.682983 1823.518188 0.687770
6 650 1314.865479 1878.089233 0.635976
6 660 1448.328125 2068.691406 0.775176
6 670 1424.035522 2033.954468 0.852288
6 680 1385.819824 1979.389648 0.779933
6 690 1443.240845 2061.336426 0.976319
6 700 1326.837524 1895.168579 0.680883
6 710 1408.063965 2011.209473 0.689842
6 720 1393.958618 1991.055786 0.683554
6 730 1383.852539 1976.616577 0.698341
6 740 1371.577515 1959.052368 0.763584
6 750 975.784180 1393.620850 0.774587
6 760 1397.252808 1995.782959 0.639068
6 770 1296.468140 1851.828003 0.580253
6 780 1323.732544 1890.660278 0.853858
6 790 1253.175171 1789.927856 0.707006
7 0 1427.383911 2038.921875 0.357666
7 10 1149.285278 1641.530762 0.625638
7 20 1398.872803 1998.107422 0.595522
7 30 1173.637939 1676.378174 0.510373
7 40 1408.580688 2011.977295 0.602553
7 50 1327.318359 1895.835449 0.726305
7 60 1210.938477 1729.561646 0.769907
7 70 1289.211426 1841.411621 0.701483
7 80 1256.855591 1795.246094 0.573556
7 90 1404.395386 2005.986816 0.637843
7 100 1333.393188 1904.515625 0.731328
7 110 1380.505615 1971.832520 0.699024
7 120 1124.031982 1605.477051 0.587771
7 130 1247.642334 1782.053345 0.637281
7 140 1414.689087 2020.663818 0.699980
7 150 1467.120850 2095.564209 0.702573
7 160 1394.851196 1992.263428 0.830261
7 170 1479.298584 2112.988037 0.628267
7 180 1391.184082 1987.135620 0.573001
7 190 1573.935059 2248.292236 0.379493
7 200 1334.128540 1905.747681 0.291988
7 210 1410.637695 2015.101440 0.172436
7 220 1369.421509 1956.244873 0.117897
7 230 1397.929321 1996.967407 0.129837
7 240 1275.251709 1821.724243 0.100066
7 250 1277.143677 1824.428589 0.091271
7 260 1397.119019 1995.833862 0.070850
7 270 1262.207031 1803.056519 0.179170
7 280 1394.497925 1991.944824 0.405396
7 290 1329.105835 1898.488892 0.496955
7 300 1440.054810 2056.928955 0.632547
7 310 1296.870728 1852.476440 0.413340
7 320 1375.024780 1964.122925 0.416442
7 330 1339.952637 1914.008179 0.442784
7 340 1552.520752 2217.615479 0.592493
7 350 1338.742798 1912.194458 0.642815
7 360 1396.040405 1994.139893 0.427340
7 370 1206.552368 1723.403931 0.523065
7 380 1217.284180 1738.697998 0.603473
7 390 1465.359985 2093.057617 0.687396
7 400 1223.174194 1746.990356 0.894657
7 410 1322.689087 1889.255981 0.647148
7 420 1426.747925 2037.823730 0.863030
7 430 1327.786865 1896.571411 0.578874
7 440 1400.174561 1999.928711 0.705682
7 450 1393.601929 1990.545532 0.691348
7 460 1225.392700 1750.205078 0.791842
7 470 1377.230713 1967.231079 0.515584
7 480 993.232178 1418.604248 0.640837
7 490 1385.767822 1979.260498 0.907338
7 500 1370.890503 1958.112183 0.657997
7 510 1337.819458 1910.889038 0.615062
7 520 1370.637695 1957.712280 0.748476
7 530 1338.053833 1911.143799 0.798569
7 540 1366.044678 1951.188599 0.670380
7 550 1393.078125 1989.796753 0.700469
7 560 1129.454224 1613.093140 0.911564
7 570 1273.085571 1818.362671 0.726649
7 580 1265.287842 1807.219116 0.737303
7 590 1386.473145 1980.346313 0.729028
7 600 1316.534424 1880.404053 0.802621
7 610 1462.629395 2089.238770 0.500190
7 620 1343.828369 1919.334839 0.936861
7 630 1185.687134 1693.479736 0.792609
7 640 1329.250122 1898.628174 0.661207
7 650 1451.651245 2073.404297 0.852252
7 660 1341.429077 1916.085693 0.529053
7 670 1357.372314 1938.728271 0.833373
7 680 1288.235962 1839.983154 0.784858
7 690 1364.239868 1948.524292 0.869382
7 700 1322.240845 1888.505005 0.923278
7 710 1377.459351 1967.501099 0.643483
7 720 1246.564819 1780.465942 0.750393
7 730 1425.477295 2036.080566 0.692054
7 740 1351.905151 1931.035278 0.557867
7 750 1388.324341 1982.980103 0.746014
7 760 1384.515015 1977.564697 0.687298
7 770 1158.278320 1654.387329 0.634209
7 780 1348.044312 1925.471069 0.679789
7 790 1184.838013 1692.351685 0.594770
8 0 1430.853882 2043.857178 0.413180
8 10 1402.583740 2003.463989 0.447673
8 20 1354.354248 1934.396606 0.859101
8 30 1412.740845 2017.922974 0.591015
8 40 1305.915283 1865.248901 0.736410
8 50 1276.975342 1823.904053 0.757966
8 60 1384.281860 1977.309692 0.492115
8 70 1267.346558 1810.141724 0.783241
8 80 1345.061768 1921.269043 0.537711
8 90 1346.264404 1922.974854 0.563284
8 100 1391.877808 1988.105957 0.635657
8 110 1366.934448 1952.426147 0.741894
8 120 1253.876343 1790.927246 0.701687
8 130 1277.523926 1824.749512 0.613267
8 140 1303.589233 1861.918335 0.766769
8 150 1379.761719 1970.743286 0.749061
8 160 1256.161743 1794.232178 0.607267
8 170 1286.510132 1837.542114 0.709287
8 180 1381.922485 1973.952271 0.458755
8 190 1367.694824 1953.644531 0.422003
8 200 1351.914429 1931.200439 0.190074
8 210 1310.535278 1872.065308 0.242793
8 220 1074.070679 1534.313232 0.108120
8 230 1422.666748 2032.280640 0.182237
8 240 1348.740234 1926.643921 0.252413
8 250 1394.232544 1991.698730 0.102536
8 260 1382.515137 1974.969849 0.076682
8 270 1407.324463 2010.302490 0.327881
8 280 1362.257446 1945.829346 0.531096
8 290 1386.497925 1980.541992 0.351584
8 300 1460.178955 2085.657715 0.683763
8 310 1275.496216 1821.935913 0.424736
8 320 1385.472656 1979.039185 0.430447
8 330 1517.117188 2167.053955 0.548888
8 340 1318.596558 1883.497803 0.452265
8 350 1242.619263 1774.961182 0.440472
8 360 1310.204834 1871.395752 0.715310
8 370 1401.934570 2002.489258 0.599136
8 380 1193.227905 1704.293823 0.692336
8 390 1329.633667 1899.126221 0.774669
8 400 1350.765991 1929.382446 0.614092
8 410 1405.248291 2007.186035 0.683590
8 420 1396.550781 1994.799561 0.597365
8 430 1364.058960 1948.376343 0.609830
8 440 1409.152954 2012.791016 0.621008
8 450 1306.067871 1865.509888 0.652660
8 460 1374.333984 1962.987915 0.770055
8 470 1306.677246 1866.374268 0.672749
8 480 1365.465210 1950.428833 0.503327
8 490 1369.738525 1956.447144 0.707809
8 500 1446.645508 2066.331055 0.672423
8 510 1404.481201 2006.176270 0.475139
8 520 1333.953003 1905.416016 0.499908
8 530 1451.401978 2073.205322 0.485541
8 540 1276.721802 1823.650391 0.513795
8 550 1416.303223 2022.925537 0.801875
8 560 1512.302246 2160.107910 0.715139
8 570 1458.925903 2083.821777 0.796904
8 580 1489.223511 2127.107666 0.781716
8 590 1340.004639 1914.004272 0.623736
8 600 1354.776978 1934.992798 0.899712
8 610 1225.583008 1750.554321 0.603478
8 620 1225.543213 1750.441528 0.743612
8 630 1356.140137 1937.092529 0.543510
8 640 1357.819824 1939.369995 0.830926
8 650 1276.639404 1823.498413 0.595685
8 660 1352.599243 1931.996704 0.628689
8 670 1326.531128 1894.691162 0.778533
8 680 1168.036743 1668.287476 0.735241
8 690 1183.291138 1690.091187 0.707204
8 700 1406.184814 2008.546631 0.638747
8 710 1462.970459 2089.560791 0.880348
8 720 1411.845337 2016.594727 0.727399
8 730 1183.481201 1690.309448 0.845188
8 740 1375.187744 1964.222900 0.728351
8 750 1382.059326 1973.986206 0.855727
8 760 1352.645508 1932.000977 0.773716
8 770 1240.372070 1771.634155 0.712623
8 780 1351.737671 1930.695068 0.793972
8 790 1362.313965 1945.845337 0.701692
9 0 1167.117920 1667.099609 0.374608
9 10 1389.198242 1984.362549 0.404507
9 20 1284.041260 1834.031250 0.669447
9 30 1257.346313 1795.982422 0.462772
9 40 1342.695557 1917.816772 0.689729
9 50 1360.405273 1943.096558 0.743577
9 60 1301.845825 1859.481934 0.645122
9 70 1485.945679 2122.514648 0.570123
9 80 1461.847900 2088.071045 0.618146
9 90 1314.727783 1877.804321 0.840805
9 100 1334.130127 1905.605103 0.645316
9 110 1221.221191 1744.278931 0.699416
9 120 1385.631104 1979.259644 0.450594
9 130 1327.047119 1895.480713 0.654597
9 140 1381.455688 1973.164307 0.751353
9 150 1213.203613 1732.836060 0.663023
9 160 1238.085083 1768.382080 0.664160
9 170 1262.798096 1803.687988 0.660173
9 180 1430.566772 2043.460205 0.422453
9 190 1270.846558 1815.304443 0.378631
9 200 1422.160645 2031.538330 0.223065
9 210 1374.248169 1963.124878 0.147017
9 220 1298.134521 1854.404053 0.120393
9 230 1349.836914 1928.244385 0.168487
9 240 1354.287598 1934.576172 0.234960
9 250 1452.162231 2074.443604 0.133361
9 260 1409.717163 2013.821289 0.097083
9 270 1420.777954 2029.524048 0.323000
9 280 1397.178223 1995.813965 0.314937
9 290 1382.241455 1974.427612 0.425842
9 300 1360.468384 1943.337036 0.394178
9 310 1291.504395 1844.836426 0.349840
9 320 1405.881104 2008.145874 0.556430
9 330 1257.617676 1796.228394 0.815588
9 340 1255.381226 1793.084961 0.690902
9 350 1288.353394 1840.301392 0.418188
9 360 1246.255249 1780.006470 0.781109
9 370 1322.656616 1889.198242 0.680039
9 380 1295.011841 1849.683105 0.737371
9 390 1400.574951 2000.593140 0.485168
9 400 1426.532471 2037.596191 0.678564
9 410 1378.598389 1969.005981 0.938101
9 420 1282.483398 1831.788696 0.721778
9 430 1258.534546 1797.566162 0.753230
9 440 1386.989014 1981.104004 0.677300
9 450 1401.886353 2002.432007 0.570592
9 460 1422.267090 2031.503296 0.677374
9 470 1360.145752 1942.751953 0.695174
9 480 1416.858032 2023.820068 0.569829
9 490 1353.596069 1933.342407 0.804701
9 500 1363.734009 1947.892456 0.662382
9 510 1357.725220 1939.232300 0.834168
9 520 1362.017456 1945.438477 0.662265
9 530 1236.691650 1766.357422 0.755286
9 540 1447.441772 2067.534668 0.516392
9 550 1312.263550 1874.350586 0.682969
9 560 1303.780762 1862.239014 0.664007
9 570 1446.870361 2066.586670 0.819120
9 580 1427.273560 2038.615967 0.766797
9 590 1398.765869 1997.956299 0.615517
9 600 1372.102295 1959.864990 0.612538
9 610 1351.152100 1929.911865 0.671775
9 620 1339.440674 1913.146851 0.750727
9 630 1256.030273 1793.962769 0.809595
9 640 1431.364136 2044.424072 0.851141
9 650 1197.544678 1710.423950 0.785345
9 660 1364.932739 1949.630493 0.600471
9 670 1202.534668 1717.592529 0.687238
9 680 1413.439819 2018.868896 0.729740
9 690 1297.329346 1852.953979 0.827475
9 700 1394.275146 1991.509033 0.685360
9 710 1329.347412 1898.767334 0.656253
9 720 1231.160889 1758.465088 0.729312
9 730 1374.985352 1963.928467 0.739654
9 740 1223.265869 1747.197144 0.711846
9 750 1398.930420 1998.148315 0.716038
9 760 1281.642944 1830.601807 0.698900
9 770 1328.708618 1897.798340 0.789865
9 780 1293.412109 1847.345093 0.847453
9 790 1441.486572 2058.928955 0.744339

View File

@@ -0,0 +1,38 @@
{
"features": [
"P1_B4022",
"P4_HT_LD"
],
"generated": {
"P1_B4022": {
"num_changes": 383,
"mean_dwell": 1.0,
"median_dwell": 1.0,
"mean_step": 0.01383368146214119,
"median_step": 0.00916000000000139
},
"P4_HT_LD": {
"num_changes": 15,
"mean_dwell": 24.0,
"median_dwell": 2.5,
"mean_step": 0.03375866666666667,
"median_step": 0.02171
}
},
"reference": {
"P1_B4022": {
"num_changes": 909932,
"mean_dwell": 1.0128251200912595,
"median_dwell": 1,
"mean_step": 0.01171526248115434,
"median_step": 0.00952999999999804
},
"P4_HT_LD": {
"num_changes": 585364,
"mean_dwell": 1.5744074210108223,
"median_dwell": 1,
"mean_step": 1.043229230819962,
"median_step": 0.24593999999999738
}
}
}

View File

@@ -79,6 +79,8 @@ DEFAULTS = {
"temporal_transformer_dropout": 0.1,
"temporal_epochs": 2,
"temporal_lr": 1e-3,
"temporal_focus_type4": False,
"temporal_exclude_type4": False,
"quantile_loss_weight": 0.0,
"quantile_points": [0.05, 0.25, 0.5, 0.75, 0.95],
"snr_weighted_loss": True,
@@ -110,6 +112,7 @@ def parse_args():
parser.add_argument("--device", default="auto", help="cpu, cuda, or auto")
parser.add_argument("--out-dir", default=None, help="Override output directory")
parser.add_argument("--seed", type=int, default=None, help="Override random seed")
parser.add_argument("--temporal-only", action="store_true", help="Only train temporal stage-1 and exit.")
return parser.parse_args()
@@ -178,6 +181,9 @@ def main():
config["out_dir"] = str(out_dir)
if args.seed is not None:
config["seed"] = int(args.seed)
if bool(args.temporal_only):
config["use_temporal_stage1"] = True
config["epochs"] = 0
set_seed(int(config["seed"]))
@@ -188,8 +194,10 @@ def main():
type1_cols = config.get("type1_features", []) or []
type5_cols = config.get("type5_features", []) or []
type4_cols = config.get("type4_features", []) or []
type1_cols = [c for c in type1_cols if c in cont_cols]
type5_cols = [c for c in type5_cols if c in cont_cols]
type4_cols = [c for c in type4_cols if c in cont_cols]
model_cont_cols = [c for c in cont_cols if c not in type1_cols and c not in type5_cols]
if not model_cont_cols:
raise SystemExit("model_cont_cols is empty; check type1/type5 config")
@@ -243,6 +251,18 @@ def main():
opt = torch.optim.Adam(model.parameters(), lr=float(config["lr"]))
temporal_model = None
opt_temporal = None
temporal_use_type1_cond = bool(config.get("temporal_use_type1_cond", False))
temporal_cond_dim = len(type1_cols) if (temporal_use_type1_cond and type1_cols) else 0
temporal_focus_type4 = bool(config.get("temporal_focus_type4", False))
temporal_exclude_type4 = bool(config.get("temporal_exclude_type4", False))
type4_model_idx = [model_cont_cols.index(c) for c in type4_cols if c in model_cont_cols]
trend_mask = None
if temporal_focus_type4 and type4_model_idx:
trend_mask = torch.zeros(1, 1, len(model_cont_cols), device=device)
trend_mask[:, :, type4_model_idx] = 1.0
elif temporal_exclude_type4 and type4_model_idx:
trend_mask = torch.ones(1, 1, len(model_cont_cols), device=device)
trend_mask[:, :, type4_model_idx] = 0.0
if bool(config.get("use_temporal_stage1", False)):
temporal_backbone = str(config.get("temporal_backbone", "gru"))
if temporal_backbone == "transformer":
@@ -255,6 +275,7 @@ def main():
dropout=float(config.get("temporal_transformer_dropout", 0.1)),
pos_dim=int(config.get("temporal_pos_dim", 64)),
use_pos_embed=bool(config.get("temporal_use_pos_embed", True)),
cond_dim=temporal_cond_dim,
).to(device)
else:
temporal_model = TemporalGRUGenerator(
@@ -262,6 +283,7 @@ def main():
hidden_dim=int(config.get("temporal_hidden_dim", 256)),
num_layers=int(config.get("temporal_num_layers", 1)),
dropout=float(config.get("temporal_dropout", 0.0)),
cond_dim=temporal_cond_dim,
).to(device)
opt_temporal = torch.optim.Adam(
temporal_model.parameters(),
@@ -306,8 +328,18 @@ def main():
x_cont = x_cont.to(device)
model_idx = [cont_cols.index(c) for c in model_cont_cols]
x_cont_model = x_cont[:, :, model_idx]
trend, pred_next = temporal_model.forward_teacher(x_cont_model)
temporal_loss = F.mse_loss(pred_next, x_cont_model[:, 1:, :])
cond_cont = None
if temporal_cond_dim > 0:
cond_idx = [cont_cols.index(c) for c in type1_cols]
cond_cont = x_cont[:, :, cond_idx]
trend, pred_next = temporal_model.forward_teacher(x_cont_model, cond_cont=cond_cont)
target_next = x_cont_model[:, 1:, :]
if trend_mask is not None:
mask = trend_mask.to(dtype=pred_next.dtype, device=pred_next.device)
mse = (pred_next - target_next) ** 2
temporal_loss = (mse * mask).sum() / torch.clamp(mask.sum() * mse.size(0) * mse.size(1), min=1.0)
else:
temporal_loss = F.mse_loss(pred_next, target_next)
opt_temporal.zero_grad()
temporal_loss.backward()
if float(config.get("grad_clip", 0.0)) > 0:
@@ -356,7 +388,9 @@ def main():
if temporal_model is not None:
temporal_model.eval()
with torch.no_grad():
trend, _ = temporal_model.forward_teacher(x_cont_model)
trend, _ = temporal_model.forward_teacher(x_cont_model, cond_cont=cond_cont)
if trend_mask is not None and trend is not None:
trend = trend * trend_mask.to(dtype=trend.dtype, device=trend.device)
x_cont_resid = x_cont_model if trend is None else x_cont_model - trend
bsz = x_cont.size(0)

3979
figures/_smoke_cdf_all.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 110 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 677 KiB

1351
figures/_smoke_disc_all.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 48 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 48 KiB

23724
figures/cdf_grid_all.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 703 KiB

24278
figures/cdf_grid_types.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 729 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 675 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 629 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 629 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 678 KiB

1936
figures/lines_temporal.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 54 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 191 KiB