darabos commited on
Commit
114fd1c
·
1 Parent(s): 6565904

Preserve order of inputs, outputs, and params.

Browse files
examples/Airlines demo.lynxkite.json CHANGED
The diff for this file is too large to render. See raw diff
 
examples/Image processing.lynxkite.json CHANGED
@@ -46,26 +46,26 @@
46
  "error": null,
47
  "input_metadata": null,
48
  "meta": {
49
- "inputs": {},
50
  "name": "Open image",
51
- "outputs": {
52
- "output": {
53
  "name": "output",
54
  "position": "right",
55
  "type": {
56
  "type": "None"
57
  }
58
  }
59
- },
60
- "params": {
61
- "filename": {
62
  "default": null,
63
  "name": "filename",
64
  "type": {
65
  "type": "<class 'str'>"
66
  }
67
  }
68
- },
69
  "type": "basic"
70
  },
71
  "params": {
@@ -91,18 +91,18 @@
91
  "error": null,
92
  "input_metadata": null,
93
  "meta": {
94
- "inputs": {
95
- "image": {
96
  "name": "image",
97
  "position": "left",
98
  "type": {
99
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
100
  }
101
  }
102
- },
103
  "name": "View image",
104
- "outputs": {},
105
- "params": {},
106
  "type": "image"
107
  },
108
  "params": {},
@@ -126,18 +126,18 @@
126
  "error": null,
127
  "input_metadata": null,
128
  "meta": {
129
- "inputs": {
130
- "image": {
131
  "name": "image",
132
  "position": "left",
133
  "type": {
134
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
135
  }
136
  }
137
- },
138
  "name": "View image",
139
- "outputs": {},
140
- "params": {},
141
  "type": "image"
142
  },
143
  "params": {},
@@ -163,26 +163,26 @@
163
  "error": null,
164
  "input_metadata": null,
165
  "meta": {
166
- "inputs": {
167
- "image": {
168
  "name": "image",
169
  "position": "left",
170
  "type": {
171
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
172
  }
173
  }
174
- },
175
  "name": "To grayscale",
176
- "outputs": {
177
- "output": {
178
  "name": "output",
179
  "position": "right",
180
  "type": {
181
  "type": "None"
182
  }
183
  }
184
- },
185
- "params": {},
186
  "type": "basic"
187
  },
188
  "params": {},
@@ -208,34 +208,34 @@
208
  "error": null,
209
  "input_metadata": null,
210
  "meta": {
211
- "inputs": {
212
- "image": {
213
  "name": "image",
214
  "position": "left",
215
  "type": {
216
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
217
  }
218
  }
219
- },
220
  "name": "Blur",
221
- "outputs": {
222
- "output": {
223
  "name": "output",
224
  "position": "right",
225
  "type": {
226
  "type": "None"
227
  }
228
  }
229
- },
230
- "params": {
231
- "radius": {
232
  "default": 5.0,
233
  "name": "radius",
234
  "type": {
235
  "type": "<class 'float'>"
236
  }
237
  }
238
- },
239
  "type": "basic"
240
  },
241
  "params": {
@@ -263,26 +263,26 @@
263
  "error": null,
264
  "input_metadata": null,
265
  "meta": {
266
- "inputs": {
267
- "image": {
268
  "name": "image",
269
  "position": "left",
270
  "type": {
271
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
272
  }
273
  }
274
- },
275
  "name": "Flip vertically",
276
- "outputs": {
277
- "output": {
278
  "name": "output",
279
  "position": "right",
280
  "type": {
281
  "type": "None"
282
  }
283
  }
284
- },
285
- "params": {},
286
  "type": "basic"
287
  },
288
  "params": {},
 
46
  "error": null,
47
  "input_metadata": null,
48
  "meta": {
49
+ "inputs": [],
50
  "name": "Open image",
51
+ "outputs": [
52
+ {
53
  "name": "output",
54
  "position": "right",
55
  "type": {
56
  "type": "None"
57
  }
58
  }
59
+ ],
60
+ "params": [
61
+ {
62
  "default": null,
63
  "name": "filename",
64
  "type": {
65
  "type": "<class 'str'>"
66
  }
67
  }
68
+ ],
69
  "type": "basic"
70
  },
71
  "params": {
 
91
  "error": null,
92
  "input_metadata": null,
93
  "meta": {
94
+ "inputs": [
95
+ {
96
  "name": "image",
97
  "position": "left",
98
  "type": {
99
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
100
  }
101
  }
102
+ ],
103
  "name": "View image",
104
+ "outputs": [],
105
+ "params": [],
106
  "type": "image"
107
  },
108
  "params": {},
 
126
  "error": null,
127
  "input_metadata": null,
128
  "meta": {
129
+ "inputs": [
130
+ {
131
  "name": "image",
132
  "position": "left",
133
  "type": {
134
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
135
  }
136
  }
137
+ ],
138
  "name": "View image",
139
+ "outputs": [],
140
+ "params": [],
141
  "type": "image"
142
  },
143
  "params": {},
 
163
  "error": null,
164
  "input_metadata": null,
165
  "meta": {
166
+ "inputs": [
167
+ {
168
  "name": "image",
169
  "position": "left",
170
  "type": {
171
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
172
  }
173
  }
174
+ ],
175
  "name": "To grayscale",
176
+ "outputs": [
177
+ {
178
  "name": "output",
179
  "position": "right",
180
  "type": {
181
  "type": "None"
182
  }
183
  }
184
+ ],
185
+ "params": [],
186
  "type": "basic"
187
  },
188
  "params": {},
 
208
  "error": null,
209
  "input_metadata": null,
210
  "meta": {
211
+ "inputs": [
212
+ {
213
  "name": "image",
214
  "position": "left",
215
  "type": {
216
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
217
  }
218
  }
219
+ ],
220
  "name": "Blur",
221
+ "outputs": [
222
+ {
223
  "name": "output",
224
  "position": "right",
225
  "type": {
226
  "type": "None"
227
  }
228
  }
229
+ ],
230
+ "params": [
231
+ {
232
  "default": 5.0,
233
  "name": "radius",
234
  "type": {
235
  "type": "<class 'float'>"
236
  }
237
  }
238
+ ],
239
  "type": "basic"
240
  },
241
  "params": {
 
263
  "error": null,
264
  "input_metadata": null,
265
  "meta": {
266
+ "inputs": [
267
+ {
268
  "name": "image",
269
  "position": "left",
270
  "type": {
271
  "type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
272
  }
273
  }
274
+ ],
275
  "name": "Flip vertically",
276
+ "outputs": [
277
+ {
278
  "name": "output",
279
  "position": "right",
280
  "type": {
281
  "type": "None"
282
  }
283
  }
284
+ ],
285
+ "params": [],
286
  "type": "basic"
287
  },
288
  "params": {},
examples/Model definition.lynxkite.json CHANGED
@@ -81,26 +81,20 @@
81
  "error": null,
82
  "input_metadata": null,
83
  "meta": {
84
- "inputs": {
85
- "loss": {
 
86
  "name": "loss",
87
  "position": "bottom",
88
  "type": {
89
  "type": "tensor"
90
  }
91
  }
92
- },
93
  "name": "Optimizer",
94
- "outputs": {},
95
- "params": {
96
- "lr": {
97
- "default": 0.001,
98
- "name": "lr",
99
- "type": {
100
- "type": "<class 'float'>"
101
- }
102
- },
103
- "type": {
104
  "default": "AdamW",
105
  "name": "type",
106
  "type": {
@@ -114,15 +108,22 @@
114
  "Galore AdamW"
115
  ]
116
  }
 
 
 
 
 
 
 
117
  }
118
- },
119
  "type": "basic"
120
  },
121
  "params": {
122
  "lr": "0.1",
123
  "type": "SGD"
124
  },
125
- "status": "planned",
126
  "title": "Optimizer"
127
  },
128
  "dragHandle": ".bg-primary",
@@ -130,7 +131,7 @@
130
  "id": "Optimizer 2",
131
  "position": {
132
  "x": 359.75221367487865,
133
- "y": -1560.7604266065723
134
  },
135
  "type": "basic",
136
  "width": 232.0
@@ -143,28 +144,29 @@
143
  "error": null,
144
  "input_metadata": null,
145
  "meta": {
146
- "inputs": {
147
- "x": {
 
148
  "name": "x",
149
  "position": "bottom",
150
  "type": {
151
  "type": "<class 'inspect._empty'>"
152
  }
153
  }
154
- },
155
  "name": "Activation",
156
- "outputs": {
157
- "output": {
158
  "name": "output",
159
  "position": "top",
160
  "type": {
161
  "type": "None"
162
  }
163
  }
164
- },
165
- "params": {
166
- "type": {
167
- "default": "ReLU",
168
  "name": "type",
169
  "type": {
170
  "enum": [
@@ -175,13 +177,13 @@
175
  ]
176
  }
177
  }
178
- },
179
  "type": "basic"
180
  },
181
  "params": {
182
  "type": "Leaky_ReLU"
183
  },
184
- "status": "planned",
185
  "title": "Activation"
186
  },
187
  "dragHandle": ".bg-primary",
@@ -202,40 +204,41 @@
202
  "error": null,
203
  "input_metadata": null,
204
  "meta": {
205
- "inputs": {},
 
206
  "name": "Input: tensor",
207
- "outputs": {
208
- "output": {
209
  "name": "output",
210
  "position": "top",
211
  "type": {
212
  "type": "tensor"
213
  }
214
  }
215
- },
216
- "params": {
217
- "name": {
218
  "default": null,
219
  "name": "name",
220
  "type": {
221
  "type": "None"
222
  }
223
  }
224
- },
225
  "type": "basic"
226
  },
227
  "params": {
228
  "name": "Y"
229
  },
230
- "status": "planned",
231
  "title": "Input: tensor"
232
  },
233
  "dragHandle": ".bg-primary",
234
  "height": 200.0,
235
  "id": "Input: tensor 3",
236
  "position": {
237
- "x": 485.8840220312055,
238
- "y": -268.0485936515193
239
  },
240
  "type": "basic",
241
  "width": 200.0
@@ -248,45 +251,46 @@
248
  "error": null,
249
  "input_metadata": null,
250
  "meta": {
251
- "inputs": {
252
- "x": {
 
253
  "name": "x",
254
  "position": "bottom",
255
  "type": {
256
  "type": "<class 'inspect._empty'>"
257
  }
258
  },
259
- "y": {
260
  "name": "y",
261
  "position": "bottom",
262
  "type": {
263
  "type": "<class 'inspect._empty'>"
264
  }
265
  }
266
- },
267
  "name": "MSE loss",
268
- "outputs": {
269
- "output": {
270
  "name": "output",
271
  "position": "top",
272
  "type": {
273
  "type": "None"
274
  }
275
  }
276
- },
277
- "params": {},
278
  "type": "basic"
279
  },
280
  "params": {},
281
- "status": "planned",
282
  "title": "MSE loss"
283
  },
284
  "dragHandle": ".bg-primary",
285
  "height": 200.0,
286
  "id": "MSE loss 2",
287
  "position": {
288
- "x": 384.54674698852955,
289
- "y": -1184.4701545316577
290
  },
291
  "type": "basic",
292
  "width": 200.0
@@ -299,48 +303,49 @@
299
  "error": null,
300
  "input_metadata": null,
301
  "meta": {
302
- "inputs": {
303
- "input": {
 
304
  "name": "input",
305
  "position": "top",
306
  "type": {
307
  "type": "tensor"
308
  }
309
  }
310
- },
311
  "name": "Repeat",
312
- "outputs": {
313
- "output": {
314
  "name": "output",
315
  "position": "bottom",
316
  "type": {
317
  "type": "tensor"
318
  }
319
  }
320
- },
321
- "params": {
322
- "same_weights": {
323
- "default": false,
324
- "name": "same_weights",
325
- "type": {
326
- "type": "<class 'bool'>"
327
- }
328
- },
329
- "times": {
330
  "default": 1.0,
331
  "name": "times",
332
  "type": {
333
  "type": "<class 'int'>"
334
  }
 
 
 
 
 
 
 
335
  }
336
- },
337
  "type": "basic"
338
  },
339
  "params": {
340
  "same_weights": false,
341
  "times": "2"
342
  },
343
- "status": "planned",
344
  "title": "Repeat"
345
  },
346
  "dragHandle": ".bg-primary",
@@ -361,51 +366,52 @@
361
  "error": null,
362
  "input_metadata": null,
363
  "meta": {
364
- "inputs": {
365
- "x": {
 
366
  "name": "x",
367
  "position": "bottom",
368
  "type": {
369
  "type": "<class 'inspect._empty'>"
370
  }
371
  }
372
- },
373
  "name": "Linear",
374
- "outputs": {
375
- "output": {
376
  "name": "output",
377
  "position": "top",
378
  "type": {
379
  "type": "None"
380
  }
381
  }
382
- },
383
- "params": {
384
- "output_dim": {
385
  "default": 1024.0,
386
  "name": "output_dim",
387
  "type": {
388
  "type": "<class 'int'>"
389
  }
390
  }
391
- },
392
  "type": "basic"
393
  },
394
  "params": {
395
  "output_dim": "4"
396
  },
397
- "status": "planned",
398
  "title": "Linear"
399
  },
400
  "dragHandle": ".bg-primary",
401
- "height": 200.0,
402
  "id": "Linear 1",
403
  "position": {
404
  "x": 98.54861342271252,
405
  "y": 14.121603973834155
406
  },
407
  "type": "basic",
408
- "width": 200.0
409
  },
410
  {
411
  "data": {
@@ -415,32 +421,33 @@
415
  "error": null,
416
  "input_metadata": null,
417
  "meta": {
418
- "inputs": {},
 
419
  "name": "Input: tensor",
420
- "outputs": {
421
- "output": {
422
  "name": "output",
423
  "position": "top",
424
  "type": {
425
  "type": "tensor"
426
  }
427
  }
428
- },
429
- "params": {
430
- "name": {
431
  "default": null,
432
  "name": "name",
433
  "type": {
434
  "type": "None"
435
  }
436
  }
437
- },
438
  "type": "basic"
439
  },
440
  "params": {
441
  "name": "X"
442
  },
443
- "status": "planned",
444
  "title": "Input: tensor"
445
  },
446
  "dragHandle": ".bg-primary",
@@ -461,48 +468,49 @@
461
  "error": null,
462
  "input_metadata": null,
463
  "meta": {
464
- "inputs": {},
 
465
  "name": "Constant vector",
466
- "outputs": {
467
- "output": {
468
  "name": "output",
469
  "position": "top",
470
  "type": {
471
  "type": "None"
472
  }
473
  }
474
- },
475
- "params": {
476
- "size": {
477
- "default": 1.0,
478
- "name": "size",
479
  "type": {
480
  "type": "<class 'int'>"
481
  }
482
  },
483
- "value": {
484
- "default": 0.0,
485
- "name": "value",
486
  "type": {
487
  "type": "<class 'int'>"
488
  }
489
  }
490
- },
491
  "type": "basic"
492
  },
493
  "params": {
494
  "size": "1",
495
  "value": "1"
496
  },
497
- "status": "planned",
498
  "title": "Constant vector"
499
  },
500
  "dragHandle": ".bg-primary",
501
  "height": 258.0,
502
  "id": "Constant vector 1",
503
  "position": {
504
- "x": 886.708922897265,
505
- "y": -298.4394167425953
506
  },
507
  "type": "basic",
508
  "width": 238.0
@@ -515,45 +523,46 @@
515
  "error": null,
516
  "input_metadata": null,
517
  "meta": {
518
- "inputs": {
519
- "a": {
 
520
  "name": "a",
521
  "position": "bottom",
522
  "type": {
523
  "type": "<class 'inspect._empty'>"
524
  }
525
  },
526
- "b": {
527
  "name": "b",
528
  "position": "bottom",
529
  "type": {
530
  "type": "<class 'inspect._empty'>"
531
  }
532
  }
533
- },
534
  "name": "Add",
535
- "outputs": {
536
- "output": {
537
  "name": "output",
538
  "position": "top",
539
  "type": {
540
  "type": "None"
541
  }
542
  }
543
- },
544
- "params": {},
545
  "type": "basic"
546
  },
547
  "params": {},
548
- "status": "planned",
549
  "title": "Add"
550
  },
551
  "dragHandle": ".bg-primary",
552
  "height": 200.0,
553
  "id": "Add 1",
554
  "position": {
555
- "x": 722.1292469875319,
556
- "y": -762.6853551968964
557
  },
558
  "type": "basic",
559
  "width": 200.0
@@ -566,46 +575,47 @@
566
  "error": null,
567
  "input_metadata": null,
568
  "meta": {
569
- "inputs": {
570
- "x": {
 
571
  "name": "x",
572
  "position": "bottom",
573
  "type": {
574
  "type": "tensor"
575
  }
576
  }
577
- },
578
  "name": "Output",
579
- "outputs": {
580
- "x": {
581
  "name": "x",
582
  "position": "top",
583
  "type": {
584
  "type": "tensor"
585
  }
586
  }
587
- },
588
- "params": {
589
- "name": {
590
  "default": null,
591
  "name": "name",
592
  "type": {
593
  "type": "None"
594
  }
595
  }
596
- },
597
  "type": "basic"
598
  },
599
  "params": {},
600
- "status": "planned",
601
  "title": "Output"
602
  },
603
  "dragHandle": ".bg-primary",
604
  "height": 200.0,
605
  "id": "Output 1",
606
  "position": {
607
- "x": 185.15239170944702,
608
- "y": -733.1526319565451
609
  },
610
  "type": "basic",
611
  "width": 200.0
 
81
  "error": null,
82
  "input_metadata": null,
83
  "meta": {
84
+ "color": "green",
85
+ "inputs": [
86
+ {
87
  "name": "loss",
88
  "position": "bottom",
89
  "type": {
90
  "type": "tensor"
91
  }
92
  }
93
+ ],
94
  "name": "Optimizer",
95
+ "outputs": [],
96
+ "params": [
97
+ {
 
 
 
 
 
 
 
98
  "default": "AdamW",
99
  "name": "type",
100
  "type": {
 
108
  "Galore AdamW"
109
  ]
110
  }
111
+ },
112
+ {
113
+ "default": 0.001,
114
+ "name": "lr",
115
+ "type": {
116
+ "type": "<class 'float'>"
117
+ }
118
  }
119
+ ],
120
  "type": "basic"
121
  },
122
  "params": {
123
  "lr": "0.1",
124
  "type": "SGD"
125
  },
126
+ "status": "done",
127
  "title": "Optimizer"
128
  },
129
  "dragHandle": ".bg-primary",
 
131
  "id": "Optimizer 2",
132
  "position": {
133
  "x": 359.75221367487865,
134
+ "y": -1150.2183224762075
135
  },
136
  "type": "basic",
137
  "width": 232.0
 
144
  "error": null,
145
  "input_metadata": null,
146
  "meta": {
147
+ "color": "orange",
148
+ "inputs": [
149
+ {
150
  "name": "x",
151
  "position": "bottom",
152
  "type": {
153
  "type": "<class 'inspect._empty'>"
154
  }
155
  }
156
+ ],
157
  "name": "Activation",
158
+ "outputs": [
159
+ {
160
  "name": "output",
161
  "position": "top",
162
  "type": {
163
  "type": "None"
164
  }
165
  }
166
+ ],
167
+ "params": [
168
+ {
169
+ "default": null,
170
  "name": "type",
171
  "type": {
172
  "enum": [
 
177
  ]
178
  }
179
  }
180
+ ],
181
  "type": "basic"
182
  },
183
  "params": {
184
  "type": "Leaky_ReLU"
185
  },
186
+ "status": "done",
187
  "title": "Activation"
188
  },
189
  "dragHandle": ".bg-primary",
 
204
  "error": null,
205
  "input_metadata": null,
206
  "meta": {
207
+ "color": "orange",
208
+ "inputs": [],
209
  "name": "Input: tensor",
210
+ "outputs": [
211
+ {
212
  "name": "output",
213
  "position": "top",
214
  "type": {
215
  "type": "tensor"
216
  }
217
  }
218
+ ],
219
+ "params": [
220
+ {
221
  "default": null,
222
  "name": "name",
223
  "type": {
224
  "type": "None"
225
  }
226
  }
227
+ ],
228
  "type": "basic"
229
  },
230
  "params": {
231
  "name": "Y"
232
  },
233
+ "status": "done",
234
  "title": "Input: tensor"
235
  },
236
  "dragHandle": ".bg-primary",
237
  "height": 200.0,
238
  "id": "Input: tensor 3",
239
  "position": {
240
+ "x": 454.7823474758749,
241
+ "y": -212.0655794519241
242
  },
243
  "type": "basic",
244
  "width": 200.0
 
251
  "error": null,
252
  "input_metadata": null,
253
  "meta": {
254
+ "color": "orange",
255
+ "inputs": [
256
+ {
257
  "name": "x",
258
  "position": "bottom",
259
  "type": {
260
  "type": "<class 'inspect._empty'>"
261
  }
262
  },
263
+ {
264
  "name": "y",
265
  "position": "bottom",
266
  "type": {
267
  "type": "<class 'inspect._empty'>"
268
  }
269
  }
270
+ ],
271
  "name": "MSE loss",
272
+ "outputs": [
273
+ {
274
  "name": "output",
275
  "position": "top",
276
  "type": {
277
  "type": "None"
278
  }
279
  }
280
+ ],
281
+ "params": [],
282
  "type": "basic"
283
  },
284
  "params": {},
285
+ "status": "done",
286
  "title": "MSE loss"
287
  },
288
  "dragHandle": ".bg-primary",
289
  "height": 200.0,
290
  "id": "MSE loss 2",
291
  "position": {
292
+ "x": 375.21624462193034,
293
+ "y": -721.0552036572305
294
  },
295
  "type": "basic",
296
  "width": 200.0
 
303
  "error": null,
304
  "input_metadata": null,
305
  "meta": {
306
+ "color": "orange",
307
+ "inputs": [
308
+ {
309
  "name": "input",
310
  "position": "top",
311
  "type": {
312
  "type": "tensor"
313
  }
314
  }
315
+ ],
316
  "name": "Repeat",
317
+ "outputs": [
318
+ {
319
  "name": "output",
320
  "position": "bottom",
321
  "type": {
322
  "type": "tensor"
323
  }
324
  }
325
+ ],
326
+ "params": [
327
+ {
 
 
 
 
 
 
 
328
  "default": 1.0,
329
  "name": "times",
330
  "type": {
331
  "type": "<class 'int'>"
332
  }
333
+ },
334
+ {
335
+ "default": false,
336
+ "name": "same_weights",
337
+ "type": {
338
+ "type": "<class 'bool'>"
339
+ }
340
  }
341
+ ],
342
  "type": "basic"
343
  },
344
  "params": {
345
  "same_weights": false,
346
  "times": "2"
347
  },
348
+ "status": "done",
349
  "title": "Repeat"
350
  },
351
  "dragHandle": ".bg-primary",
 
366
  "error": null,
367
  "input_metadata": null,
368
  "meta": {
369
+ "color": "blue",
370
+ "inputs": [
371
+ {
372
  "name": "x",
373
  "position": "bottom",
374
  "type": {
375
  "type": "<class 'inspect._empty'>"
376
  }
377
  }
378
+ ],
379
  "name": "Linear",
380
+ "outputs": [
381
+ {
382
  "name": "output",
383
  "position": "top",
384
  "type": {
385
  "type": "None"
386
  }
387
  }
388
+ ],
389
+ "params": [
390
+ {
391
  "default": 1024.0,
392
  "name": "output_dim",
393
  "type": {
394
  "type": "<class 'int'>"
395
  }
396
  }
397
+ ],
398
  "type": "basic"
399
  },
400
  "params": {
401
  "output_dim": "4"
402
  },
403
+ "status": "done",
404
  "title": "Linear"
405
  },
406
  "dragHandle": ".bg-primary",
407
+ "height": 189.0,
408
  "id": "Linear 1",
409
  "position": {
410
  "x": 98.54861342271252,
411
  "y": 14.121603973834155
412
  },
413
  "type": "basic",
414
+ "width": 199.0
415
  },
416
  {
417
  "data": {
 
421
  "error": null,
422
  "input_metadata": null,
423
  "meta": {
424
+ "color": "orange",
425
+ "inputs": [],
426
  "name": "Input: tensor",
427
+ "outputs": [
428
+ {
429
  "name": "output",
430
  "position": "top",
431
  "type": {
432
  "type": "tensor"
433
  }
434
  }
435
+ ],
436
+ "params": [
437
+ {
438
  "default": null,
439
  "name": "name",
440
  "type": {
441
  "type": "None"
442
  }
443
  }
444
+ ],
445
  "type": "basic"
446
  },
447
  "params": {
448
  "name": "X"
449
  },
450
+ "status": "done",
451
  "title": "Input: tensor"
452
  },
453
  "dragHandle": ".bg-primary",
 
468
  "error": null,
469
  "input_metadata": null,
470
  "meta": {
471
+ "color": "orange",
472
+ "inputs": [],
473
  "name": "Constant vector",
474
+ "outputs": [
475
+ {
476
  "name": "output",
477
  "position": "top",
478
  "type": {
479
  "type": "None"
480
  }
481
  }
482
+ ],
483
+ "params": [
484
+ {
485
+ "default": 0.0,
486
+ "name": "value",
487
  "type": {
488
  "type": "<class 'int'>"
489
  }
490
  },
491
+ {
492
+ "default": 1.0,
493
+ "name": "size",
494
  "type": {
495
  "type": "<class 'int'>"
496
  }
497
  }
498
+ ],
499
  "type": "basic"
500
  },
501
  "params": {
502
  "size": "1",
503
  "value": "1"
504
  },
505
+ "status": "done",
506
  "title": "Constant vector"
507
  },
508
  "dragHandle": ".bg-primary",
509
  "height": 258.0,
510
  "id": "Constant vector 1",
511
  "position": {
512
+ "x": 846.2767459753351,
513
+ "y": -226.90556526533476
514
  },
515
  "type": "basic",
516
  "width": 238.0
 
523
  "error": null,
524
  "input_metadata": null,
525
  "meta": {
526
+ "color": "orange",
527
+ "inputs": [
528
+ {
529
  "name": "a",
530
  "position": "bottom",
531
  "type": {
532
  "type": "<class 'inspect._empty'>"
533
  }
534
  },
535
+ {
536
  "name": "b",
537
  "position": "bottom",
538
  "type": {
539
  "type": "<class 'inspect._empty'>"
540
  }
541
  }
542
+ ],
543
  "name": "Add",
544
+ "outputs": [
545
+ {
546
  "name": "output",
547
  "position": "top",
548
  "type": {
549
  "type": "None"
550
  }
551
  }
552
+ ],
553
+ "params": [],
554
  "type": "basic"
555
  },
556
  "params": {},
557
+ "status": "done",
558
  "title": "Add"
559
  },
560
  "dragHandle": ".bg-primary",
561
  "height": 200.0,
562
  "id": "Add 1",
563
  "position": {
564
+ "x": 631.934390777073,
565
+ "y": -395.6855954439944
566
  },
567
  "type": "basic",
568
  "width": 200.0
 
575
  "error": null,
576
  "input_metadata": null,
577
  "meta": {
578
+ "color": "orange",
579
+ "inputs": [
580
+ {
581
  "name": "x",
582
  "position": "bottom",
583
  "type": {
584
  "type": "tensor"
585
  }
586
  }
587
+ ],
588
  "name": "Output",
589
+ "outputs": [
590
+ {
591
  "name": "x",
592
  "position": "top",
593
  "type": {
594
  "type": "tensor"
595
  }
596
  }
597
+ ],
598
+ "params": [
599
+ {
600
  "default": null,
601
  "name": "name",
602
  "type": {
603
  "type": "None"
604
  }
605
  }
606
+ ],
607
  "type": "basic"
608
  },
609
  "params": {},
610
+ "status": "done",
611
  "title": "Output"
612
  },
613
  "dragHandle": ".bg-primary",
614
  "height": 200.0,
615
  "id": "Output 1",
616
  "position": {
617
+ "x": 119.83887514325258,
618
+ "y": -453.23756095856885
619
  },
620
  "type": "basic",
621
  "width": 200.0
examples/Model use.lynxkite.json CHANGED
@@ -137,41 +137,42 @@
137
  }
138
  ],
139
  "meta": {
140
- "inputs": {
141
- "bundle": {
 
142
  "name": "bundle",
143
  "position": "left",
144
  "type": {
145
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
146
  }
147
  }
148
- },
149
  "name": "Train/test split",
150
- "outputs": {
151
- "output": {
152
  "name": "output",
153
  "position": "right",
154
  "type": {
155
  "type": "None"
156
  }
157
  }
158
- },
159
- "params": {
160
- "table_name": {
161
  "default": null,
162
  "name": "table_name",
163
  "type": {
164
  "type": "<class 'str'>"
165
  }
166
  },
167
- "test_ratio": {
168
  "default": 0.1,
169
  "name": "test_ratio",
170
  "type": {
171
  "type": "<class 'float'>"
172
  }
173
  }
174
- },
175
  "type": "basic"
176
  },
177
  "params": {
@@ -234,26 +235,27 @@
234
  "error": null,
235
  "input_metadata": [],
236
  "meta": {
237
- "inputs": {},
 
238
  "name": "Import Parquet",
239
- "outputs": {
240
- "output": {
241
  "name": "output",
242
  "position": "right",
243
  "type": {
244
  "type": "None"
245
  }
246
  }
247
- },
248
- "params": {
249
- "filename": {
250
  "default": null,
251
  "name": "filename",
252
  "type": {
253
  "type": "<class 'str'>"
254
  }
255
  }
256
- },
257
  "type": "basic"
258
  },
259
  "params": {
@@ -383,41 +385,42 @@
383
  }
384
  ],
385
  "meta": {
386
- "inputs": {
387
- "bundle": {
 
388
  "name": "bundle",
389
  "position": "left",
390
  "type": {
391
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
392
  }
393
  }
394
- },
395
  "name": "Define model",
396
- "outputs": {
397
- "output": {
398
  "name": "output",
399
  "position": "right",
400
  "type": {
401
  "type": "None"
402
  }
403
  }
404
- },
405
- "params": {
406
- "model_workspace": {
407
  "default": null,
408
  "name": "model_workspace",
409
  "type": {
410
  "type": "<class 'str'>"
411
  }
412
  },
413
- "save_as": {
414
  "default": "model",
415
  "name": "save_as",
416
  "type": {
417
  "type": "<class 'str'>"
418
  }
419
  }
420
- },
421
  "type": "basic"
422
  },
423
  "params": {
@@ -575,8 +578,8 @@
575
  "Input__tensor_1_output"
576
  ],
577
  "loss_inputs": [
578
- "Output_1_x",
579
- "Input__tensor_3_output"
580
  ],
581
  "outputs": [
582
  "Output_1_x"
@@ -590,48 +593,49 @@
590
  }
591
  ],
592
  "meta": {
593
- "inputs": {
594
- "bundle": {
 
595
  "name": "bundle",
596
  "position": "left",
597
  "type": {
598
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
599
  }
600
  }
601
- },
602
  "name": "Train model",
603
- "outputs": {
604
- "output": {
605
  "name": "output",
606
  "position": "right",
607
  "type": {
608
  "type": "None"
609
  }
610
  }
611
- },
612
- "params": {
613
- "epochs": {
614
- "default": 1.0,
615
- "name": "epochs",
616
  "type": {
617
- "type": "<class 'int'>"
618
  }
619
  },
620
- "input_mapping": {
621
  "default": null,
622
  "name": "input_mapping",
623
  "type": {
624
  "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelTrainingInputMapping'>"
625
  }
626
  },
627
- "model_name": {
628
- "default": "model",
629
- "name": "model_name",
630
  "type": {
631
- "type": "<class 'str'>"
632
  }
633
  }
634
- },
635
  "type": "basic"
636
  },
637
  "params": {
@@ -800,8 +804,8 @@
800
  "Input__tensor_1_output"
801
  ],
802
  "loss_inputs": [
803
- "Output_1_x",
804
- "Input__tensor_3_output"
805
  ],
806
  "outputs": [
807
  "Output_1_x"
@@ -815,48 +819,49 @@
815
  }
816
  ],
817
  "meta": {
818
- "inputs": {
819
- "bundle": {
 
820
  "name": "bundle",
821
  "position": "left",
822
  "type": {
823
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
824
  }
825
  }
826
- },
827
  "name": "Model inference",
828
- "outputs": {
829
- "output": {
830
  "name": "output",
831
  "position": "right",
832
  "type": {
833
  "type": "None"
834
  }
835
  }
836
- },
837
- "params": {
838
- "input_mapping": {
839
- "default": null,
840
- "name": "input_mapping",
841
- "type": {
842
- "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelInferenceInputMapping'>"
843
- }
844
- },
845
- "model_name": {
846
  "default": "model",
847
  "name": "model_name",
848
  "type": {
849
  "type": "<class 'str'>"
850
  }
851
  },
852
- "output_mapping": {
 
 
 
 
 
 
 
853
  "default": null,
854
  "name": "output_mapping",
855
  "type": {
856
  "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelOutputMapping'>"
857
  }
858
  }
859
- },
860
  "type": "basic"
861
  },
862
  "params": {
@@ -1475,206 +1480,206 @@
1475
  "series": [
1476
  {
1477
  "data": [
1478
- 5.800187110900879,
1479
- 5.598123073577881,
1480
- 5.42051887512207,
1481
- 5.2726593017578125,
1482
- 5.157590389251709,
1483
- 5.0745649337768555,
1484
- 5.0191521644592285,
1485
- 4.984806537628174,
1486
- 4.964847564697266,
1487
- 4.953816890716553,
1488
- 4.947908878326416,
1489
- 4.944762706756592,
1490
- 4.943039417266846,
1491
- 4.942024230957031,
1492
- 4.941353797912598,
1493
- 4.9408488273620605,
1494
- 4.940422058105469,
1495
- 4.940032482147217,
1496
- 4.939662456512451,
1497
- 4.939301013946533,
1498
- 4.938945293426514,
1499
- 4.938592910766602,
1500
- 4.9382429122924805,
1501
- 4.937894344329834,
1502
- 4.937548637390137,
1503
- 4.937204837799072,
1504
- 4.936861515045166,
1505
- 4.936521053314209,
1506
- 4.936007976531982,
1507
- 4.928510665893555,
1508
- 4.7543463706970215,
1509
- 4.202136039733887,
1510
- 3.841205596923828,
1511
- 3.605153799057007,
1512
- 3.4602854251861572,
1513
- 3.377415657043457,
1514
- 3.3322527408599854,
1515
- 3.308159589767456,
1516
- 3.2952585220336914,
1517
- 3.288172960281372,
1518
- 3.2841086387634277,
1519
- 3.2816221714019775,
1520
- 3.2797133922576904,
1521
- 3.251174211502075,
1522
- 2.534057140350342,
1523
- 2.100238800048828,
1524
- 1.8637852668762207,
1525
- 1.7448025941848755,
1526
- 1.6882381439208984,
1527
- 1.6618977785110474,
1528
- 1.6495403051376343,
1529
- 1.6435632705688477,
1530
- 1.6405097246170044,
1531
- 1.6388026475906372,
1532
- 1.6377187967300415,
1533
- 1.6369259357452393,
1534
- 1.6362708806991577,
1535
- 1.635683536529541,
1536
- 1.6351302862167358,
1537
- 1.6345962285995483,
1538
- 1.634074091911316,
1539
- 1.6335605382919312,
1540
- 1.6330533027648926,
1541
- 1.6325511932373047,
1542
- 1.6320583820343018,
1543
- 1.6315733194351196,
1544
- 1.6311031579971313,
1545
- 1.6306471824645996,
1546
- 1.6301956176757812,
1547
- 1.6297489404678345,
1548
- 1.629309892654419,
1549
- 1.6288747787475586,
1550
- 1.6284427642822266,
1551
- 1.6280156373977661,
1552
- 1.6275969743728638,
1553
- 1.6271847486495972,
1554
- 1.6267770528793335,
1555
- 1.6263741254806519,
1556
- 1.625981092453003,
1557
- 1.625562071800232,
1558
- 1.6234854459762573,
1559
- 1.526026964187622,
1560
- 0.7520114779472351,
1561
- 0.36320704221725464,
1562
- 0.19313177466392517,
1563
- 0.12368442118167877,
1564
- 0.09587223827838898,
1565
- 0.08457889407873154,
1566
- 0.07980319857597351,
1567
- 0.07760757952928543,
1568
- 0.0764402449131012,
1569
- 0.07568377256393433,
1570
- 0.0751044973731041,
1571
- 0.07460036873817444,
1572
- 0.07414067536592484,
1573
- 0.073702372610569,
1574
- 0.07327572256326675,
1575
- 0.0728573128581047,
1576
- 0.07244749367237091,
1577
- 0.07204563170671463,
1578
- 0.07165331393480301,
1579
- 0.07127555459737778,
1580
- 0.07090453058481216,
1581
- 0.07054518908262253,
1582
- 0.07019751518964767,
1583
- 0.06985506415367126,
1584
- 0.06952166557312012,
1585
- 0.06919547915458679,
1586
- 0.06887446343898773,
1587
- 0.06856007128953934,
1588
- 0.0682557001709938,
1589
- 0.06795719265937805,
1590
- 0.06766397505998611,
1591
- 0.06737591326236725,
1592
- 0.06709206104278564,
1593
- 0.06681231409311295,
1594
- 0.06653629243373871,
1595
- 0.06626027077436447,
1596
- 0.06598811596632004,
1597
- 0.06571972370147705,
1598
- 0.06545503437519073,
1599
- 0.06519390642642975,
1600
- 0.06493626534938812,
1601
- 0.06468204408884048,
1602
- 0.06443134695291519,
1603
- 0.06418412178754807,
1604
- 0.06394005566835403,
1605
- 0.06369906663894653,
1606
- 0.06346159428358078,
1607
- 0.0632280632853508,
1608
- 0.06299739331007004,
1609
- 0.06276948750019073,
1610
- 0.0625443086028099,
1611
- 0.06232282891869545,
1612
- 0.06210631504654884,
1613
- 0.061892297118902206,
1614
- 0.06168072670698166,
1615
- 0.06147276982665062,
1616
- 0.061268385499715805,
1617
- 0.061066266149282455,
1618
- 0.0608663484454155,
1619
- 0.060668591409921646,
1620
- 0.06047294661402702,
1621
- 0.06027935445308685,
1622
- 0.06008780375123024,
1623
- 0.05989820510149002,
1624
- 0.0597105510532856,
1625
- 0.059524793177843094,
1626
- 0.05934089794754982,
1627
- 0.0591588169336319,
1628
- 0.05897851660847664,
1629
- 0.058799974620342255,
1630
- 0.05862313508987427,
1631
- 0.05844798684120178,
1632
- 0.05827448144555092,
1633
- 0.05810258165001869,
1634
- 0.057932913303375244,
1635
- 0.05776538327336311,
1636
- 0.05759938061237335,
1637
- 0.05743485689163208,
1638
- 0.05727178603410721,
1639
- 0.057110145688056946,
1640
- 0.05694990232586861,
1641
- 0.056791022419929504,
1642
- 0.056633491069078445,
1643
- 0.05647730454802513,
1644
- 0.05632239580154419,
1645
- 0.056168779730796814,
1646
- 0.05601642653346062,
1647
- 0.05586530268192291,
1648
- 0.05571539327502251,
1649
- 0.05556711554527283,
1650
- 0.05542108789086342,
1651
- 0.05527620390057564,
1652
- 0.05513244494795799,
1653
- 0.05498979613184929,
1654
- 0.054848212748765945,
1655
- 0.05470770597457886,
1656
- 0.05456825718283653,
1657
- 0.05442983657121658,
1658
- 0.05429244041442871,
1659
- 0.05415605381131172,
1660
- 0.05402064323425293,
1661
- 0.05388621985912323,
1662
- 0.05375276133418083,
1663
- 0.05362024903297424,
1664
- 0.05348866432905197,
1665
- 0.05335800349712372,
1666
- 0.053228266537189484,
1667
- 0.0530996136367321,
1668
- 0.052972279489040375,
1669
- 0.05284580960869789,
1670
- 0.05272020027041435,
1671
- 0.05259542167186737,
1672
- 0.05247148126363754,
1673
- 0.05234837532043457,
1674
- 0.05222644284367561,
1675
- 0.052105557173490524,
1676
- 0.05198581516742706,
1677
- 0.051866982132196426
1678
  ],
1679
  "type": "line"
1680
  }
@@ -1726,8 +1731,8 @@
1726
  "Input__tensor_1_output"
1727
  ],
1728
  "loss_inputs": [
1729
- "Output_1_x",
1730
- "Input__tensor_3_output"
1731
  ],
1732
  "outputs": [
1733
  "Output_1_x"
@@ -1741,18 +1746,19 @@
1741
  }
1742
  ],
1743
  "meta": {
1744
- "inputs": {
1745
- "bundle": {
 
1746
  "name": "bundle",
1747
  "position": "left",
1748
  "type": {
1749
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
1750
  }
1751
  }
1752
- },
1753
  "name": "View loss",
1754
- "outputs": {},
1755
- "params": {},
1756
  "type": "visualization"
1757
  },
1758
  "params": {},
@@ -2192,184 +2198,184 @@
2192
  ],
2193
  "data": [
2194
  [
2195
- 56,
2196
- "[0.32565445 0.90939188 0.07488042 0.13730896]",
2197
- "[1.32565451 1.90939188 1.07488036 1.13730896]",
2198
- "[2.3657565116882324, 2.313479423522949, 2.1553378105163574, 2.1699535846710205]"
2199
  ],
2200
  [
2201
- 23,
2202
- "[0.90817457 0.89270043 0.38583666 0.66566533]",
2203
- "[1.90817451 1.89270043 1.3858366 1.66566539]",
2204
- "[2.8040859699249268, 2.819502830505371, 2.7440733909606934, 2.7479381561279297]"
2205
  ],
2206
  [
2207
- 59,
2208
- "[0.54914117 0.03810108 0.87531954 0.73044223]",
2209
- "[1.54914117 1.03810108 1.87531948 1.73044229]",
2210
- "[2.5295400619506836, 2.495408773422241, 2.4967894554138184, 2.6805124282836914]"
2211
  ],
2212
  [
2213
- 33,
2214
- "[0.27845025 0.32472342 0.82203609 0.77107543]",
2215
- "[1.27845025 1.32472348 1.82203603 1.77107549]",
2216
- "[2.5397789478302, 2.508394241333008, 2.4924893379211426, 2.650639057159424]"
2217
  ],
2218
  [
2219
- 62,
2220
- "[0.81788456 0.58174163 0.29376316 0.7971254 ]",
2221
- "[1.81788456 1.58174157 1.29376316 1.79712534]",
2222
- "[2.64847731590271, 2.634650230407715, 2.6081323623657227, 2.7195992469787598]"
2223
  ],
2224
  [
2225
- 76,
2226
- "[0.59492421 0.90274489 0.38069052 0.46101224]",
2227
- "[1.59492421 1.90274489 1.38069057 1.46101224]",
2228
- "[2.646230697631836, 2.637777090072632, 2.52846097946167, 2.531282424926758]"
2229
  ],
2230
  [
2231
- 71,
2232
- "[0.9630242 0.76359051 0.24853623 0.76881069]",
2233
- "[1.96302414 1.76359057 1.24853623 1.76881075]",
2234
- "[2.748387575149536, 2.752307176589966, 2.706347942352295, 2.764111042022705]"
2235
  ],
2236
  [
2237
- 4,
2238
- "[0.76807946 0.98855817 0.08259124 0.01730657]",
2239
- "[1.76807952 1.98855817 1.0825913 1.01730657]",
2240
- "[2.525120258331299, 2.500986099243164, 2.3167755603790283, 2.2522761821746826]"
2241
  ],
2242
  [
2243
- 29,
2244
  "[0.23942459 0.90487361 0.69337189 0.65089428]",
2245
  "[1.23942459 1.90487361 1.69337189 1.65089428]",
2246
- "[2.6811459064483643, 2.6773998737335205, 2.5942978858947754, 2.6238982677459717]"
2247
  ],
2248
  [
2249
- 90,
2250
- "[0.49584109 0.80599248 0.07096875 0.75872749]",
2251
- "[1.49584103 1.80599248 1.07096875 1.75872755]",
2252
- "[2.53598952293396, 2.5045714378356934, 2.455559015274048, 2.5678346157073975]"
2253
  ],
2254
  [
2255
- 21,
2256
- "[0.56922203 0.98222166 0.76851749 0.28615737]",
2257
- "[1.56922197 1.9822216 1.76851749 1.28615737]",
2258
- "[2.764127016067505, 2.778721809387207, 2.6293208599090576, 2.547865152359009]"
2259
  ],
2260
  [
2261
- 98,
2262
- "[0.87608397 0.93200487 0.80169648 0.37758952]",
2263
- "[1.87608397 1.93200493 1.80169654 1.37758946]",
2264
- "[2.885874032974243, 2.9194400310516357, 2.7887256145477295, 2.6982016563415527]"
2265
  ],
2266
  [
2267
- 66,
2268
- "[0.02162331 0.81861657 0.92468154 0.07808572]",
2269
- "[1.02162337 1.81861663 1.92468154 1.07808566]",
2270
- "[2.5120248794555664, 2.486686944961548, 2.315469741821289, 2.275869369506836]"
2271
  ],
2272
  [
2273
- 73,
2274
- "[0.80654246 0.08253473 0.74478531 0.71257162]",
2275
- "[1.8065424 1.08253479 1.74478531 1.71257162]",
2276
- "[2.5862319469451904, 2.5615270137786865, 2.5580317974090576, 2.718832015991211]"
2277
  ],
2278
  [
2279
- 49,
2280
- "[0.08107251 0.2602725 0.18861133 0.44833237]",
2281
- "[1.08107257 1.2602725 1.18861127 1.44833231]",
2282
- "[2.1395106315612793, 2.043048858642578, 1.9888705015182495, 2.2045695781707764]"
2283
  ],
2284
  [
2285
- 6,
2286
- "[0.18686318 0.49356437 0.51323432 0.75392658]",
2287
- "[1.18686318 1.49356437 1.51323438 1.75392652]",
2288
- "[2.4604146480560303, 2.416104793548584, 2.3870620727539062, 2.5486795902252197]"
2289
  ],
2290
  [
2291
- 30,
2292
- "[0.94516498 0.08422136 0.5608117 0.07652664]",
2293
- "[1.94516492 1.08422136 1.56081176 1.07652664]",
2294
- "[2.41292142868042, 2.3658392429351807, 2.2621009349823, 2.336780548095703]"
2295
  ],
2296
  [
2297
- 39,
2298
- "[0.00497234 0.39319336 0.57054168 0.75150961]",
2299
- "[1.00497234 1.39319336 1.57054162 1.75150967]",
2300
- "[2.3767666816711426, 2.318239450454712, 2.2965610027313232, 2.4914658069610596]"
2301
  ],
2302
  [
2303
- 35,
2304
- "[0.98033333 0.97656083 0.38939917 0.81491041]",
2305
- "[1.98033333 1.97656083 1.38939917 1.81491041]",
2306
- "[2.9007155895233154, 2.931007146835327, 2.872464179992676, 2.8720178604125977]"
2307
  ],
2308
  [
2309
- 28,
2310
- "[0.79423058 0.07138705 0.061777 0.18766576]",
2311
- "[1.79423058 1.07138705 1.061777 1.1876657 ]",
2312
- "[2.2043371200561523, 2.119929790496826, 2.0417239665985107, 2.2062151432037354]"
2313
  ],
2314
  [
2315
- 99,
2316
- "[0.68891573 0.25576538 0.96339929 0.503833 ]",
2317
- "[1.68891573 1.25576544 1.96339929 1.50383306]",
2318
- "[2.640495777130127, 2.628694772720337, 2.5738489627838135, 2.6524853706359863]"
2319
  ],
2320
  [
2321
- 10,
2322
- "[0.50783676 0.04156506 0.21984279 0.8454656 ]",
2323
- "[1.50783682 1.04156506 1.21984279 1.84546566]",
2324
- "[2.3187222480773926, 2.2490477561950684, 2.237614393234253, 2.4606916904449463]"
2325
  ],
2326
  [
2327
- 37,
2328
- "[0.78956431 0.87284744 0.06880784 0.03455889]",
2329
- "[1.78956437 1.87284744 1.06880784 1.03455889]",
2330
- "[2.48598313331604, 2.454476833343506, 2.2831082344055176, 2.2463605403900146]"
2331
  ],
2332
  [
2333
- 91,
2334
- "[0.43500566 0.66041756 0.80293626 0.96224713]",
2335
- "[1.43500566 1.66041756 1.80293632 1.96224713]",
2336
- "[2.7682571411132812, 2.7744951248168945, 2.761075019836426, 2.8592607975006104]"
2337
  ],
2338
  [
2339
- 47,
2340
- "[0.60110539 0.3618983 0.32342511 0.98672163]",
2341
- "[1.60110545 1.3618983 1.32342505 1.98672163]",
2342
- "[2.543933868408203, 2.510021686553955, 2.5257022380828857, 2.722487449645996]"
2343
  ],
2344
  [
2345
- 40,
2346
- "[0.44330525 0.09997386 0.89025736 0.90507984]",
2347
- "[1.44330525 1.09997392 1.89025736 1.90507984]",
2348
- "[2.5668387413024902, 2.537842035293579, 2.555079221725464, 2.749858856201172]"
2349
  ],
2350
  [
2351
- 32,
2352
- "[0.30754459 0.77694583 0.09278506 0.38326019]",
2353
- "[1.30754459 1.77694583 1.09278512 1.38326025]",
2354
- "[2.3738114833831787, 2.3195064067840576, 2.212083339691162, 2.2918801307678223]"
2355
  ],
2356
  [
2357
- 45,
2358
- "[0.73217702 0.65233225 0.44077861 0.33837909]",
2359
- "[1.73217702 1.65233231 1.44077861 1.33837914]",
2360
- "[2.5859265327453613, 2.567556619644165, 2.459083080291748, 2.479666233062744]"
2361
  ],
2362
  [
2363
- 72,
2364
- "[0.60609657 0.96257663 0.19292736 0.95702219]",
2365
- "[1.60609651 1.96257663 1.19292736 1.95702219]",
2366
- "[2.7291908264160156, 2.728882074356079, 2.696915626525879, 2.7788424491882324]"
2367
  ],
2368
  [
2369
- 86,
2370
- "[0.80893755 0.92237449 0.88346356 0.93164903]",
2371
- "[1.80893755 1.92237449 1.88346362 1.93164897]",
2372
- "[3.024338483810425, 3.075038194656372, 3.033391237258911, 3.0232954025268555]"
2373
  ]
2374
  ]
2375
  },
@@ -2381,352 +2387,352 @@
2381
  ],
2382
  "data": [
2383
  [
2384
- 30,
2385
  "[0.94516498 0.08422136 0.5608117 0.07652664]",
2386
  "[1.94516492 1.08422136 1.56081176 1.07652664]"
2387
  ],
2388
  [
2389
- 31,
2390
  "[0.26661873 0.45946234 0.13510543 0.81294441]",
2391
  "[1.26661873 1.4594624 1.13510537 1.81294441]"
2392
  ],
2393
  [
2394
- 32,
2395
  "[0.30754459 0.77694583 0.09278506 0.38326019]",
2396
  "[1.30754459 1.77694583 1.09278512 1.38326025]"
2397
  ],
2398
  [
2399
- 33,
2400
  "[0.27845025 0.32472342 0.82203609 0.77107543]",
2401
  "[1.27845025 1.32472348 1.82203603 1.77107549]"
2402
  ],
2403
  [
2404
- 34,
2405
  "[0.4827103 0.10563457 0.98858833 0.82286644]",
2406
  "[1.48271036 1.10563457 1.98858833 1.82286644]"
2407
  ],
2408
  [
2409
- 35,
2410
  "[0.98033333 0.97656083 0.38939917 0.81491041]",
2411
  "[1.98033333 1.97656083 1.38939917 1.81491041]"
2412
  ],
2413
  [
2414
- 36,
2415
  "[0.74064726 0.4155122 0.09800029 0.49930882]",
2416
  "[1.74064732 1.4155122 1.09800029 1.49930882]"
2417
  ],
2418
  [
2419
- 37,
2420
  "[0.78956431 0.87284744 0.06880784 0.03455889]",
2421
  "[1.78956437 1.87284744 1.06880784 1.03455889]"
2422
  ],
2423
  [
2424
- 38,
2425
  "[0.94221359 0.57740951 0.98649532 0.40934443]",
2426
  "[1.94221354 1.57740951 1.98649526 1.40934443]"
2427
  ],
2428
  [
2429
- 39,
2430
  "[0.00497234 0.39319336 0.57054168 0.75150961]",
2431
  "[1.00497234 1.39319336 1.57054162 1.75150967]"
2432
  ],
2433
  [
2434
- 40,
2435
  "[0.44330525 0.09997386 0.89025736 0.90507984]",
2436
  "[1.44330525 1.09997392 1.89025736 1.90507984]"
2437
  ],
2438
  [
2439
- 41,
2440
  "[0.72290605 0.96945059 0.68354797 0.15270454]",
2441
  "[1.72290611 1.96945059 1.68354797 1.15270448]"
2442
  ],
2443
  [
2444
- 42,
2445
  "[0.75292218 0.81470108 0.49657214 0.56217098]",
2446
  "[1.75292218 1.81470108 1.49657214 1.56217098]"
2447
  ],
2448
  [
2449
- 43,
2450
  "[0.33480108 0.59181517 0.76198453 0.98062384]",
2451
  "[1.33480108 1.59181523 1.76198459 1.98062384]"
2452
  ],
2453
  [
2454
- 44,
2455
  "[0.52784437 0.54268694 0.12358981 0.72116476]",
2456
  "[1.52784443 1.54268694 1.12358975 1.7211647 ]"
2457
  ],
2458
  [
2459
- 45,
2460
  "[0.73217702 0.65233225 0.44077861 0.33837909]",
2461
  "[1.73217702 1.65233231 1.44077861 1.33837914]"
2462
  ],
2463
  [
2464
- 46,
2465
  "[0.34084332 0.73018837 0.54168713 0.91440833]",
2466
  "[1.34084332 1.73018837 1.54168713 1.91440833]"
2467
  ],
2468
  [
2469
- 47,
2470
  "[0.60110539 0.3618983 0.32342511 0.98672163]",
2471
  "[1.60110545 1.3618983 1.32342505 1.98672163]"
2472
  ],
2473
  [
2474
- 48,
2475
  "[0.77427191 0.21829212 0.12769502 0.74303615]",
2476
  "[1.77427197 1.21829212 1.12769508 1.74303615]"
2477
  ],
2478
  [
2479
- 49,
2480
  "[0.08107251 0.2602725 0.18861133 0.44833237]",
2481
  "[1.08107257 1.2602725 1.18861127 1.44833231]"
2482
  ],
2483
  [
2484
- 50,
2485
  "[0.59812403 0.78395379 0.0291847 0.81814629]",
2486
  "[1.59812403 1.78395379 1.0291847 1.81814623]"
2487
  ],
2488
  [
2489
- 51,
2490
  "[0.93488538 0.73882395 0.37345302 0.0274905 ]",
2491
  "[1.93488538 1.73882389 1.37345302 1.0274905 ]"
2492
  ],
2493
  [
2494
- 52,
2495
  "[0.30631393 0.48311198 0.87847513 0.67559886]",
2496
  "[1.30631399 1.48311198 1.87847519 1.67559886]"
2497
  ],
2498
  [
2499
- 53,
2500
  "[0.18720162 0.74115586 0.98626411 0.30355608]",
2501
  "[1.18720162 1.74115586 1.98626411 1.30355608]"
2502
  ],
2503
  [
2504
- 54,
2505
  "[0.85566247 0.83362883 0.48424995 0.25265992]",
2506
  "[1.85566247 1.83362889 1.48424995 1.25265992]"
2507
  ],
2508
  [
2509
- 55,
2510
  "[0.95928186 0.84273899 0.71514636 0.38619852]",
2511
  "[1.95928192 1.84273899 1.7151463 1.38619852]"
2512
  ],
2513
  [
2514
- 56,
2515
  "[0.32565445 0.90939188 0.07488042 0.13730896]",
2516
  "[1.32565451 1.90939188 1.07488036 1.13730896]"
2517
  ],
2518
  [
2519
- 57,
2520
  "[0.9829582 0.59269661 0.40120947 0.95487177]",
2521
  "[1.9829582 1.59269667 1.40120947 1.95487177]"
2522
  ],
2523
  [
2524
- 58,
2525
  "[0.79905868 0.89367443 0.75429088 0.3190186 ]",
2526
  "[1.79905868 1.89367437 1.75429082 1.3190186 ]"
2527
  ],
2528
  [
2529
- 59,
2530
  "[0.54914117 0.03810108 0.87531954 0.73044223]",
2531
  "[1.54914117 1.03810108 1.87531948 1.73044229]"
2532
  ],
2533
  [
2534
- 60,
2535
  "[0.67418337 0.79634351 0.23229051 0.71345252]",
2536
  "[1.67418337 1.79634356 1.23229051 1.71345258]"
2537
  ],
2538
  [
2539
- 61,
2540
  "[0.87285906 0.48354989 0.39394957 0.59456545]",
2541
  "[1.872859 1.48354983 1.39394951 1.59456539]"
2542
  ],
2543
  [
2544
- 62,
2545
  "[0.81788456 0.58174163 0.29376316 0.7971254 ]",
2546
  "[1.81788456 1.58174157 1.29376316 1.79712534]"
2547
  ],
2548
  [
2549
- 63,
2550
  "[0.94559073 0.65736622 0.25761551 0.48553199]",
2551
  "[1.94559073 1.65736628 1.25761557 1.48553205]"
2552
  ],
2553
  [
2554
- 64,
2555
  "[0.60075855 0.12234765 0.00614399 0.30560958]",
2556
  "[1.60075855 1.12234759 1.00614405 1.30560958]"
2557
  ],
2558
  [
2559
- 65,
2560
  "[0.39147133 0.29854035 0.84663737 0.58175623]",
2561
  "[1.39147139 1.29854035 1.84663737 1.58175623]"
2562
  ],
2563
  [
2564
- 66,
2565
  "[0.02162331 0.81861657 0.92468154 0.07808572]",
2566
  "[1.02162337 1.81861663 1.92468154 1.07808566]"
2567
  ],
2568
  [
2569
- 67,
2570
  "[0.02235305 0.52774918 0.7331115 0.84358269]",
2571
  "[1.02235305 1.52774918 1.7331115 1.84358263]"
2572
  ],
2573
  [
2574
- 68,
2575
  "[0.6080932 0.56563014 0.32107437 0.72599429]",
2576
  "[1.60809326 1.5656302 1.32107437 1.72599435]"
2577
  ],
2578
  [
2579
- 69,
2580
  "[0.67447788 0.6125319 0.98007888 0.65968603]",
2581
  "[1.67447782 1.6125319 1.98007894 1.65968609]"
2582
  ],
2583
  [
2584
- 70,
2585
  "[0.47963417 0.81818312 0.48720706 0.49339259]",
2586
  "[1.47963417 1.81818318 1.48720706 1.49339259]"
2587
  ],
2588
  [
2589
- 71,
2590
  "[0.9630242 0.76359051 0.24853623 0.76881069]",
2591
  "[1.96302414 1.76359057 1.24853623 1.76881075]"
2592
  ],
2593
  [
2594
- 72,
2595
  "[0.60609657 0.96257663 0.19292736 0.95702219]",
2596
  "[1.60609651 1.96257663 1.19292736 1.95702219]"
2597
  ],
2598
  [
2599
- 73,
2600
  "[0.80654246 0.08253473 0.74478531 0.71257162]",
2601
  "[1.8065424 1.08253479 1.74478531 1.71257162]"
2602
  ],
2603
  [
2604
- 74,
2605
  "[0.70167565 0.26930219 0.5660674 0.61194974]",
2606
  "[1.70167565 1.26930213 1.56606746 1.61194968]"
2607
  ],
2608
  [
2609
- 75,
2610
  "[0.76933283 0.86241865 0.44114518 0.65644735]",
2611
  "[1.76933289 1.86241865 1.44114518 1.65644741]"
2612
  ],
2613
  [
2614
- 76,
2615
  "[0.59492421 0.90274489 0.38069052 0.46101224]",
2616
  "[1.59492421 1.90274489 1.38069057 1.46101224]"
2617
  ],
2618
  [
2619
- 77,
2620
  "[0.15064228 0.03198934 0.25754827 0.51484001]",
2621
  "[1.15064228 1.03198934 1.25754833 1.51484001]"
2622
  ],
2623
  [
2624
- 78,
2625
  "[0.12024075 0.21342516 0.56858408 0.58644271]",
2626
  "[1.12024069 1.21342516 1.56858408 1.58644271]"
2627
  ],
2628
  [
2629
- 79,
2630
  "[0.91730917 0.22574073 0.09591609 0.33056474]",
2631
  "[1.91730917 1.22574067 1.09591603 1.33056474]"
2632
  ],
2633
  [
2634
- 80,
2635
  "[0.49691743 0.61873293 0.90698647 0.94486356]",
2636
  "[1.49691749 1.61873293 1.90698647 1.94486356]"
2637
  ],
2638
  [
2639
- 81,
2640
  "[0.6032477 0.83361369 0.18538666 0.19108021]",
2641
  "[1.60324764 1.83361363 1.18538666 1.19108021]"
2642
  ],
2643
  [
2644
- 82,
2645
  "[0.63235509 0.70352674 0.96188956 0.46240485]",
2646
  "[1.63235509 1.70352674 1.96188951 1.46240485]"
2647
  ],
2648
  [
2649
- 83,
2650
  "[0.37959969 0.42820001 0.10690689 0.96353984]",
2651
  "[1.37959969 1.42820001 1.10690689 1.96353984]"
2652
  ],
2653
  [
2654
- 84,
2655
  "[0.49607176 0.1922397 0.46640229 0.78321403]",
2656
  "[1.49607182 1.19223976 1.46640229 1.78321409]"
2657
  ],
2658
  [
2659
- 85,
2660
  "[0.40234613 0.54987347 0.49542785 0.54153186]",
2661
  "[1.40234613 1.54987347 1.49542785 1.5415318 ]"
2662
  ],
2663
  [
2664
- 86,
2665
  "[0.80893755 0.92237449 0.88346356 0.93164903]",
2666
  "[1.80893755 1.92237449 1.88346362 1.93164897]"
2667
  ],
2668
  [
2669
- 87,
2670
  "[0.12858278 0.09930819 0.83222693 0.72485673]",
2671
  "[1.12858272 1.09930825 1.83222699 1.72485673]"
2672
  ],
2673
  [
2674
- 88,
2675
  "[0.72470158 0.4940322 0.41027349 0.89364016]",
2676
  "[1.72470164 1.49403214 1.41027355 1.89364016]"
2677
  ],
2678
  [
2679
- 89,
2680
  "[0.47856545 0.46267092 0.6376707 0.84747767]",
2681
  "[1.47856545 1.46267092 1.63767076 1.84747767]"
2682
  ],
2683
  [
2684
- 90,
2685
  "[0.49584109 0.80599248 0.07096875 0.75872749]",
2686
  "[1.49584103 1.80599248 1.07096875 1.75872755]"
2687
  ],
2688
  [
2689
- 91,
2690
  "[0.43500566 0.66041756 0.80293626 0.96224713]",
2691
  "[1.43500566 1.66041756 1.80293632 1.96224713]"
2692
  ],
2693
  [
2694
- 92,
2695
  "[0.78397602 0.74223626 0.26603186 0.41664881]",
2696
  "[1.78397608 1.74223626 1.26603186 1.41664886]"
2697
  ],
2698
  [
2699
- 93,
2700
  "[0.28942841 0.05601001 0.33039129 0.27781558]",
2701
  "[1.28942847 1.05601001 1.33039129 1.27781558]"
2702
  ],
2703
  [
2704
- 94,
2705
  "[0.68094063 0.45189077 0.22661722 0.37354094]",
2706
  "[1.68094063 1.45189071 1.22661722 1.37354088]"
2707
  ],
2708
  [
2709
- 95,
2710
  "[0.43681622 0.74680805 0.83598751 0.12414402]",
2711
  "[1.43681622 1.74680805 1.83598757 1.12414408]"
2712
  ],
2713
  [
2714
- 96,
2715
  "[0.47870928 0.17129105 0.27300501 0.20634609]",
2716
  "[1.47870922 1.17129111 1.27300501 1.20634604]"
2717
  ],
2718
  [
2719
- 97,
2720
  "[0.72795159 0.79317838 0.27832931 0.96576637]",
2721
  "[1.72795153 1.79317832 1.27832937 1.96576643]"
2722
  ],
2723
  [
2724
- 98,
2725
  "[0.87608397 0.93200487 0.80169648 0.37758952]",
2726
  "[1.87608397 1.93200493 1.80169654 1.37758946]"
2727
  ],
2728
  [
2729
- 99,
2730
  "[0.68891573 0.25576538 0.96339929 0.503833 ]",
2731
  "[1.68891573 1.25576544 1.96339929 1.50383306]"
2732
  ]
@@ -2738,310 +2744,310 @@
2738
  ],
2739
  "data": [
2740
  [
2741
- 5.800187110900879
2742
  ],
2743
  [
2744
- 5.598123073577881
2745
  ],
2746
  [
2747
- 5.42051887512207
2748
  ],
2749
  [
2750
- 5.2726593017578125
2751
  ],
2752
  [
2753
- 5.157590389251709
2754
  ],
2755
  [
2756
- 5.0745649337768555
2757
  ],
2758
  [
2759
- 5.0191521644592285
2760
  ],
2761
  [
2762
- 4.984806537628174
2763
  ],
2764
  [
2765
- 4.964847564697266
2766
  ],
2767
  [
2768
- 4.953816890716553
2769
  ],
2770
  [
2771
- 4.947908878326416
2772
  ],
2773
  [
2774
- 4.944762706756592
2775
  ],
2776
  [
2777
- 4.943039417266846
2778
  ],
2779
  [
2780
- 4.942024230957031
2781
  ],
2782
  [
2783
- 4.941353797912598
2784
  ],
2785
  [
2786
- 4.9408488273620605
2787
  ],
2788
  [
2789
- 4.940422058105469
2790
  ],
2791
  [
2792
- 4.940032482147217
2793
  ],
2794
  [
2795
- 4.939662456512451
2796
  ],
2797
  [
2798
- 4.939301013946533
2799
  ],
2800
  [
2801
- 4.938945293426514
2802
  ],
2803
  [
2804
- 4.938592910766602
2805
  ],
2806
  [
2807
- 4.9382429122924805
2808
  ],
2809
  [
2810
- 4.937894344329834
2811
  ],
2812
  [
2813
- 4.937548637390137
2814
  ],
2815
  [
2816
- 4.937204837799072
2817
  ],
2818
  [
2819
- 4.936861515045166
2820
  ],
2821
  [
2822
- 4.936521053314209
2823
  ],
2824
  [
2825
- 4.936007976531982
2826
  ],
2827
  [
2828
- 4.928510665893555
2829
  ],
2830
  [
2831
- 4.7543463706970215
2832
  ],
2833
  [
2834
- 4.202136039733887
2835
  ],
2836
  [
2837
- 3.841205596923828
2838
  ],
2839
  [
2840
- 3.605153799057007
2841
  ],
2842
  [
2843
- 3.4602854251861572
2844
  ],
2845
  [
2846
- 3.377415657043457
2847
  ],
2848
  [
2849
- 3.3322527408599854
2850
  ],
2851
  [
2852
- 3.308159589767456
2853
  ],
2854
  [
2855
- 3.2952585220336914
2856
  ],
2857
  [
2858
- 3.288172960281372
2859
  ],
2860
  [
2861
- 3.2841086387634277
2862
  ],
2863
  [
2864
- 3.2816221714019775
2865
  ],
2866
  [
2867
- 3.2797133922576904
2868
  ],
2869
  [
2870
- 3.251174211502075
2871
  ],
2872
  [
2873
- 2.534057140350342
2874
  ],
2875
  [
2876
- 2.100238800048828
2877
  ],
2878
  [
2879
- 1.8637852668762207
2880
  ],
2881
  [
2882
- 1.7448025941848755
2883
  ],
2884
  [
2885
- 1.6882381439208984
2886
  ],
2887
  [
2888
- 1.6618977785110474
2889
  ],
2890
  [
2891
- 1.6495403051376343
2892
  ],
2893
  [
2894
- 1.6435632705688477
2895
  ],
2896
  [
2897
- 1.6405097246170044
2898
  ],
2899
  [
2900
- 1.6388026475906372
2901
  ],
2902
  [
2903
- 1.6377187967300415
2904
  ],
2905
  [
2906
- 1.6369259357452393
2907
  ],
2908
  [
2909
- 1.6362708806991577
2910
  ],
2911
  [
2912
- 1.635683536529541
2913
  ],
2914
  [
2915
- 1.6351302862167358
2916
  ],
2917
  [
2918
- 1.6345962285995483
2919
  ],
2920
  [
2921
- 1.634074091911316
2922
  ],
2923
  [
2924
- 1.6335605382919312
2925
  ],
2926
  [
2927
- 1.6330533027648926
2928
  ],
2929
  [
2930
- 1.6325511932373047
2931
  ],
2932
  [
2933
- 1.6320583820343018
2934
  ],
2935
  [
2936
- 1.6315733194351196
2937
  ],
2938
  [
2939
- 1.6311031579971313
2940
  ],
2941
  [
2942
- 1.6306471824645996
2943
  ],
2944
  [
2945
- 1.6301956176757812
2946
  ],
2947
  [
2948
- 1.6297489404678345
2949
  ],
2950
  [
2951
- 1.629309892654419
2952
  ],
2953
  [
2954
- 1.6288747787475586
2955
  ],
2956
  [
2957
- 1.6284427642822266
2958
  ],
2959
  [
2960
- 1.6280156373977661
2961
  ],
2962
  [
2963
- 1.6275969743728638
2964
  ],
2965
  [
2966
- 1.6271847486495972
2967
  ],
2968
  [
2969
- 1.6267770528793335
2970
  ],
2971
  [
2972
- 1.6263741254806519
2973
  ],
2974
  [
2975
- 1.625981092453003
2976
  ],
2977
  [
2978
- 1.625562071800232
2979
  ],
2980
  [
2981
- 1.6234854459762573
2982
  ],
2983
  [
2984
- 1.526026964187622
2985
  ],
2986
  [
2987
- 0.7520114779472351
2988
  ],
2989
  [
2990
- 0.36320704221725464
2991
  ],
2992
  [
2993
- 0.19313177466392517
2994
  ],
2995
  [
2996
- 0.12368442118167877
2997
  ],
2998
  [
2999
- 0.09587223827838898
3000
  ],
3001
  [
3002
- 0.08457889407873154
3003
  ],
3004
  [
3005
- 0.07980319857597351
3006
  ],
3007
  [
3008
- 0.07760757952928543
3009
  ],
3010
  [
3011
- 0.0764402449131012
3012
  ],
3013
  [
3014
- 0.07568377256393433
3015
  ],
3016
  [
3017
- 0.0751044973731041
3018
  ],
3019
  [
3020
- 0.07460036873817444
3021
  ],
3022
  [
3023
- 0.07414067536592484
3024
  ],
3025
  [
3026
- 0.073702372610569
3027
  ],
3028
  [
3029
- 0.07327572256326675
3030
  ],
3031
  [
3032
- 0.0728573128581047
3033
  ],
3034
  [
3035
- 0.07244749367237091
3036
  ],
3037
  [
3038
- 0.07204563170671463
3039
  ]
3040
  ]
3041
  }
3042
  },
3043
  "other": {
3044
- "model": "ModelConfig(model=Sequential(\n (0) - Identity(): Input__tensor_1_output -> START_Repeat_1_output\n (1) - Linear(4, 4, bias=True): START_Repeat_1_output -> Linear_1_output\n (2) - <function leaky_relu at 0x78e367f84d60>: Linear_1_output -> Activation_1_output\n (3) - Identity(): Activation_1_output -> START_Repeat_1_output\n (4) - Linear(4, 4, bias=True): START_Repeat_1_output -> Linear_1_output\n (5) - <function leaky_relu at 0x78e367f84d60>: Linear_1_output -> Activation_1_output\n (6) - Identity(): Activation_1_output -> END_Repeat_1_output\n (7) - Identity(): END_Repeat_1_output -> Output_1_x\n (8) - Identity(): Output_1_x -> Output_1_x\n), model_inputs=['Input__tensor_1_output'], model_outputs=['Output_1_x'], loss_inputs=['Output_1_x', 'Input__tensor_3_output'], loss=Sequential(\n (0) - <function constant_vector.<locals>.<lambda> at 0x78e237191260>: nothing -> Constant_vector_1_output\n (1) - <built-in method add of type object at 0x78e36059ef00>: Input__tensor_3_output, Constant_vector_1_output -> Add_1_output\n (2) - <function mse_loss at 0x78e367f86840>: Output_1_x, Add_1_output -> MSE_loss_2_output\n (3) - Identity(): MSE_loss_2_output -> loss\n), optimizer_parameters={'lr': 0.1, 'type': <OptionsFor_type.SGD: 4>}, optimizer=SGD (\nParameter Group 0\n dampening: 0\n differentiable: False\n foreach: None\n fused: None\n lr: 0.1\n maximize: False\n momentum: 0\n nesterov: False\n weight_decay: 0\n), source_workspace='Model definition', trained=True)"
3045
  },
3046
  "relations": []
3047
  },
@@ -3083,8 +3089,8 @@
3083
  "Input__tensor_1_output"
3084
  ],
3085
  "loss_inputs": [
3086
- "Output_1_x",
3087
- "Input__tensor_3_output"
3088
  ],
3089
  "outputs": [
3090
  "Output_1_x"
@@ -3098,26 +3104,27 @@
3098
  }
3099
  ],
3100
  "meta": {
3101
- "inputs": {
3102
- "bundle": {
 
3103
  "name": "bundle",
3104
  "position": "left",
3105
  "type": {
3106
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
3107
  }
3108
  }
3109
- },
3110
  "name": "View tables",
3111
- "outputs": {},
3112
- "params": {
3113
- "limit": {
3114
  "default": 100.0,
3115
  "name": "limit",
3116
  "type": {
3117
  "type": "<class 'int'>"
3118
  }
3119
  }
3120
- },
3121
  "type": "table_view"
3122
  },
3123
  "params": {
@@ -3148,184 +3155,184 @@
3148
  {
3149
  "data": [
3150
  [
3151
- 5.752160549163818,
3152
- -0.8232598900794983,
3153
  "",
3154
- -2.058953046798706
3155
  ],
3156
  [
3157
- 0.7012296915054321,
3158
- 0.5504218339920044,
3159
  "",
3160
- 4.149958610534668
3161
  ],
3162
  [
3163
- 2.945161819458008,
3164
- -1.014856219291687,
3165
  "",
3166
- 0.019882630556821823
3167
  ],
3168
  [
3169
- 2.5901684761047363,
3170
- -1.2229167222976685,
3171
  "",
3172
- 0.34879058599472046
3173
  ],
3174
  [
3175
- 1.4952237606048584,
3176
- -0.1513950079679489,
3177
  "",
3178
- 2.7570903301239014
3179
  ],
3180
  [
3181
- 1.344888687133789,
3182
- -1.1611599922180176,
3183
  "",
3184
- 2.0714128017425537
3185
  ],
3186
  [
3187
- 0.3736271560192108,
3188
- 0.34866970777511597,
3189
  "",
3190
- 3.9460649490356445
3191
  ],
3192
  [
3193
- 4.606325149536133,
3194
- -0.44266968965530396,
3195
  "",
3196
- -1.2447248697280884
3197
  ],
3198
  [
3199
- 0.8212581276893616,
3200
- -0.6836636066436768,
3201
  "",
3202
- 5.419023513793945
3203
  ],
3204
  [
3205
- 3.042868137359619,
3206
- -1.6362674236297607,
3207
  "",
3208
- 0.780156135559082
3209
  ],
3210
  [
3211
- 0.7296130061149597,
3212
- -0.1887897551059723,
3213
  "",
3214
- 3.203200578689575
3215
  ],
3216
  [
3217
- 0.8891782760620117,
3218
- 1.2451283931732178,
3219
  "",
3220
- 4.304920196533203
3221
  ],
3222
  [
3223
- 4.700596332550049,
3224
- -0.063453808426857,
3225
  "",
3226
- -1.466339349746704
3227
  ],
3228
  [
3229
- 2.212623119354248,
3230
- -0.24241189658641815,
3231
  "",
3232
- 1.563027262687683
3233
  ],
3234
  [
3235
- 5.110715866088867,
3236
- -1.116548776626587,
3237
  "",
3238
- -2.46594500541687
3239
  ],
3240
  [
3241
- 3.6852052211761475,
3242
- -1.414133071899414,
3243
  "",
3244
- -3.59246563911438
3245
  ],
3246
  [
3247
- 5.279581069946289,
3248
- -0.6892402172088623,
3249
  "",
3250
- -2.0778040885925293
3251
  ],
3252
  [
3253
- 4.4375996589660645,
3254
- -1.3382771015167236,
3255
  "",
3256
- -3.1805598735809326
3257
  ],
3258
  [
3259
- 0.4160999357700348,
3260
- 1.0794298648834229,
3261
  "",
3262
- 4.508198261260986
3263
  ],
3264
  [
3265
- 5.0630598068237305,
3266
- -0.9982349276542664,
3267
  "",
3268
- -2.31571626663208
3269
  ],
3270
  [
3271
- 1.388333797454834,
3272
- -0.6052800416946411,
3273
  "",
3274
- 2.2662086486816406
3275
  ],
3276
  [
3277
- 5.247096061706543,
3278
- -1.422383189201355,
3279
  "",
3280
- -2.9033005237579346
3281
  ],
3282
  [
3283
- 5.0349931716918945,
3284
- -0.20492368936538696,
3285
  "",
3286
- -1.5952072143554688
3287
  ],
3288
  [
3289
- 0.8588991165161133,
3290
- 0.931562602519989,
3291
  "",
3292
- 4.554385185241699
3293
  ],
3294
  [
3295
- 2.5351479053497314,
3296
- -0.6277468204498291,
3297
  "",
3298
- -0.05971255153417587
3299
  ],
3300
  [
3301
- 2.1338918209075928,
3302
- -0.7544606328010559,
3303
  "",
3304
- 1.1391218900680542
3305
  ],
3306
  [
3307
- 5.549644470214844,
3308
- -0.3897499740123749,
3309
  "",
3310
- -2.751723289489746
3311
  ],
3312
  [
3313
- 2.397034168243408,
3314
- -1.7871567010879517,
3315
  "",
3316
- 0.6067442297935486
3317
  ],
3318
  [
3319
- 1.2974268198013306,
3320
- 0.5350163578987122,
3321
  "",
3322
- 3.7050516605377197
3323
  ],
3324
  [
3325
- 0.1969093680381775,
3326
- 1.3218902349472046,
3327
  "",
3328
- 4.904805660247803
3329
  ]
3330
  ],
3331
  "symbolSize": 25.65378780242026,
@@ -3340,7 +3347,7 @@
3340
  },
3341
  "visualMap": {
3342
  "calculable": true,
3343
- "dimension": 3,
3344
  "inRange": {
3345
  "color": [
3346
  "#440154",
@@ -3355,9 +3362,9 @@
3355
  "#FDE725"
3356
  ]
3357
  },
3358
- "max": 5.419023513793945,
3359
- "min": -3.59246563911438,
3360
- "right": 10,
3361
  "top": "center"
3362
  },
3363
  "xAxis": [
@@ -3409,8 +3416,8 @@
3409
  "Input__tensor_1_output"
3410
  ],
3411
  "loss_inputs": [
3412
- "Output_1_x",
3413
- "Input__tensor_3_output"
3414
  ],
3415
  "outputs": [
3416
  "Output_1_x"
@@ -3424,27 +3431,56 @@
3424
  }
3425
  ],
3426
  "meta": {
3427
- "inputs": {
3428
- "bundle": {
 
3429
  "name": "bundle",
3430
  "position": "left",
3431
  "type": {
3432
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
3433
  }
3434
  }
3435
- },
3436
  "name": "View vectors",
3437
- "outputs": {},
3438
- "params": {
3439
- "label_column": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3440
  "default": "",
3441
  "name": "label_column",
3442
  "type": {
3443
  "type": "<class 'str'>"
3444
  }
3445
  },
3446
- "metric": {
3447
- "default": "euclidean",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3448
  "name": "metric",
3449
  "type": {
3450
  "enum": [
@@ -3465,36 +3501,8 @@
3465
  "hamming"
3466
  ]
3467
  }
3468
- },
3469
- "min_dist": {
3470
- "default": 0.1,
3471
- "name": "min_dist",
3472
- "type": {
3473
- "type": "<class 'float'>"
3474
- }
3475
- },
3476
- "n_neighbors": {
3477
- "default": 15.0,
3478
- "name": "n_neighbors",
3479
- "type": {
3480
- "type": "<class 'int'>"
3481
- }
3482
- },
3483
- "table_name": {
3484
- "default": "nodes",
3485
- "name": "table_name",
3486
- "type": {
3487
- "type": "<class 'str'>"
3488
- }
3489
- },
3490
- "vector_column": {
3491
- "default": "",
3492
- "name": "vector_column",
3493
- "type": {
3494
- "type": "<class 'str'>"
3495
- }
3496
  }
3497
- },
3498
  "type": "visualization"
3499
  },
3500
  "params": {
 
137
  }
138
  ],
139
  "meta": {
140
+ "color": "orange",
141
+ "inputs": [
142
+ {
143
  "name": "bundle",
144
  "position": "left",
145
  "type": {
146
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
147
  }
148
  }
149
+ ],
150
  "name": "Train/test split",
151
+ "outputs": [
152
+ {
153
  "name": "output",
154
  "position": "right",
155
  "type": {
156
  "type": "None"
157
  }
158
  }
159
+ ],
160
+ "params": [
161
+ {
162
  "default": null,
163
  "name": "table_name",
164
  "type": {
165
  "type": "<class 'str'>"
166
  }
167
  },
168
+ {
169
  "default": 0.1,
170
  "name": "test_ratio",
171
  "type": {
172
  "type": "<class 'float'>"
173
  }
174
  }
175
+ ],
176
  "type": "basic"
177
  },
178
  "params": {
 
235
  "error": null,
236
  "input_metadata": [],
237
  "meta": {
238
+ "color": "orange",
239
+ "inputs": [],
240
  "name": "Import Parquet",
241
+ "outputs": [
242
+ {
243
  "name": "output",
244
  "position": "right",
245
  "type": {
246
  "type": "None"
247
  }
248
  }
249
+ ],
250
+ "params": [
251
+ {
252
  "default": null,
253
  "name": "filename",
254
  "type": {
255
  "type": "<class 'str'>"
256
  }
257
  }
258
+ ],
259
  "type": "basic"
260
  },
261
  "params": {
 
385
  }
386
  ],
387
  "meta": {
388
+ "color": "orange",
389
+ "inputs": [
390
+ {
391
  "name": "bundle",
392
  "position": "left",
393
  "type": {
394
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
395
  }
396
  }
397
+ ],
398
  "name": "Define model",
399
+ "outputs": [
400
+ {
401
  "name": "output",
402
  "position": "right",
403
  "type": {
404
  "type": "None"
405
  }
406
  }
407
+ ],
408
+ "params": [
409
+ {
410
  "default": null,
411
  "name": "model_workspace",
412
  "type": {
413
  "type": "<class 'str'>"
414
  }
415
  },
416
+ {
417
  "default": "model",
418
  "name": "save_as",
419
  "type": {
420
  "type": "<class 'str'>"
421
  }
422
  }
423
+ ],
424
  "type": "basic"
425
  },
426
  "params": {
 
578
  "Input__tensor_1_output"
579
  ],
580
  "loss_inputs": [
581
+ "Input__tensor_3_output",
582
+ "Output_1_x"
583
  ],
584
  "outputs": [
585
  "Output_1_x"
 
593
  }
594
  ],
595
  "meta": {
596
+ "color": "orange",
597
+ "inputs": [
598
+ {
599
  "name": "bundle",
600
  "position": "left",
601
  "type": {
602
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
603
  }
604
  }
605
+ ],
606
  "name": "Train model",
607
+ "outputs": [
608
+ {
609
  "name": "output",
610
  "position": "right",
611
  "type": {
612
  "type": "None"
613
  }
614
  }
615
+ ],
616
+ "params": [
617
+ {
618
+ "default": "model",
619
+ "name": "model_name",
620
  "type": {
621
+ "type": "<class 'str'>"
622
  }
623
  },
624
+ {
625
  "default": null,
626
  "name": "input_mapping",
627
  "type": {
628
  "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelTrainingInputMapping'>"
629
  }
630
  },
631
+ {
632
+ "default": 1.0,
633
+ "name": "epochs",
634
  "type": {
635
+ "type": "<class 'int'>"
636
  }
637
  }
638
+ ],
639
  "type": "basic"
640
  },
641
  "params": {
 
804
  "Input__tensor_1_output"
805
  ],
806
  "loss_inputs": [
807
+ "Input__tensor_3_output",
808
+ "Output_1_x"
809
  ],
810
  "outputs": [
811
  "Output_1_x"
 
819
  }
820
  ],
821
  "meta": {
822
+ "color": "orange",
823
+ "inputs": [
824
+ {
825
  "name": "bundle",
826
  "position": "left",
827
  "type": {
828
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
829
  }
830
  }
831
+ ],
832
  "name": "Model inference",
833
+ "outputs": [
834
+ {
835
  "name": "output",
836
  "position": "right",
837
  "type": {
838
  "type": "None"
839
  }
840
  }
841
+ ],
842
+ "params": [
843
+ {
 
 
 
 
 
 
 
844
  "default": "model",
845
  "name": "model_name",
846
  "type": {
847
  "type": "<class 'str'>"
848
  }
849
  },
850
+ {
851
+ "default": null,
852
+ "name": "input_mapping",
853
+ "type": {
854
+ "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelInferenceInputMapping'>"
855
+ }
856
+ },
857
+ {
858
  "default": null,
859
  "name": "output_mapping",
860
  "type": {
861
  "type": "<class 'lynxkite_graph_analytics.ml_ops.ModelOutputMapping'>"
862
  }
863
  }
864
+ ],
865
  "type": "basic"
866
  },
867
  "params": {
 
1480
  "series": [
1481
  {
1482
  "data": [
1483
+ 5.951645851135254,
1484
+ 5.274348735809326,
1485
+ 4.588619709014893,
1486
+ 3.966594934463501,
1487
+ 3.0671465396881104,
1488
+ 2.3460588455200195,
1489
+ 1.986690640449524,
1490
+ 1.8489981889724731,
1491
+ 1.801417589187622,
1492
+ 1.7839369773864746,
1493
+ 1.7767301797866821,
1494
+ 1.7733982801437378,
1495
+ 1.7716325521469116,
1496
+ 1.7705225944519043,
1497
+ 1.7696930170059204,
1498
+ 1.7689863443374634,
1499
+ 1.7683357000350952,
1500
+ 1.7677124738693237,
1501
+ 1.7671048641204834,
1502
+ 1.766507625579834,
1503
+ 1.7659177780151367,
1504
+ 1.7653343677520752,
1505
+ 1.7647572755813599,
1506
+ 1.764186143875122,
1507
+ 1.763621211051941,
1508
+ 1.763061761856079,
1509
+ 1.762508511543274,
1510
+ 1.7619603872299194,
1511
+ 1.7614178657531738,
1512
+ 1.760880470275879,
1513
+ 1.7603485584259033,
1514
+ 1.7598220109939575,
1515
+ 1.7593002319335938,
1516
+ 1.7587836980819702,
1517
+ 1.7582720518112183,
1518
+ 1.7577650547027588,
1519
+ 1.757262945175171,
1520
+ 1.7567654848098755,
1521
+ 1.756272792816162,
1522
+ 1.755784511566162,
1523
+ 1.755300760269165,
1524
+ 1.7548213005065918,
1525
+ 1.7543463706970215,
1526
+ 1.7538751363754272,
1527
+ 1.7534087896347046,
1528
+ 1.7529460191726685,
1529
+ 1.7524876594543457,
1530
+ 1.752032995223999,
1531
+ 1.751582384109497,
1532
+ 1.7511354684829712,
1533
+ 1.75069260597229,
1534
+ 1.7502535581588745,
1535
+ 1.7498178482055664,
1536
+ 1.7493858337402344,
1537
+ 1.7489577531814575,
1538
+ 1.748533010482788,
1539
+ 1.7481114864349365,
1540
+ 1.7476938962936401,
1541
+ 1.7472795248031616,
1542
+ 1.746868371963501,
1543
+ 1.7464605569839478,
1544
+ 1.7460559606552124,
1545
+ 1.7456544637680054,
1546
+ 1.7452563047409058,
1547
+ 1.744861125946045,
1548
+ 1.7444690465927124,
1549
+ 1.7440800666809082,
1550
+ 1.7436938285827637,
1551
+ 1.7433106899261475,
1552
+ 1.74293053150177,
1553
+ 1.7425531148910522,
1554
+ 1.7421785593032837,
1555
+ 1.7418066263198853,
1556
+ 1.7414374351501465,
1557
+ 1.7410712242126465,
1558
+ 1.740707516670227,
1559
+ 1.7403463125228882,
1560
+ 1.739988088607788,
1561
+ 1.7396321296691895,
1562
+ 1.739278793334961,
1563
+ 1.738927960395813,
1564
+ 1.7385796308517456,
1565
+ 1.7382338047027588,
1566
+ 1.7378901243209839,
1567
+ 1.7375489473342896,
1568
+ 1.7372102737426758,
1569
+ 1.7368735074996948,
1570
+ 1.7365405559539795,
1571
+ 1.736209511756897,
1572
+ 1.735880970954895,
1573
+ 1.7355544567108154,
1574
+ 1.7352303266525269,
1575
+ 1.7349083423614502,
1576
+ 1.734588384628296,
1577
+ 1.7342705726623535,
1578
+ 1.7339547872543335,
1579
+ 1.7336410284042358,
1580
+ 1.7333295345306396,
1581
+ 1.7330199480056763,
1582
+ 1.7327126264572144,
1583
+ 1.7324069738388062,
1584
+ 1.7321033477783203,
1585
+ 1.7318018674850464,
1586
+ 1.7315021753311157,
1587
+ 1.731204867362976,
1588
+ 1.7309091091156006,
1589
+ 1.730615258216858,
1590
+ 1.730323314666748,
1591
+ 1.730033040046692,
1592
+ 1.729726791381836,
1593
+ 1.7290540933609009,
1594
+ 1.727712631225586,
1595
+ 1.7197412252426147,
1596
+ 1.596683144569397,
1597
+ 0.773148238658905,
1598
+ 0.39096447825431824,
1599
+ 0.2109919637441635,
1600
+ 0.13099151849746704,
1601
+ 0.09647822380065918,
1602
+ 0.08164384216070175,
1603
+ 0.07520285993814468,
1604
+ 0.0723332017660141,
1605
+ 0.07098480314016342,
1606
+ 0.0702858567237854,
1607
+ 0.0698651373386383,
1608
+ 0.06956446170806885,
1609
+ 0.0693163350224495,
1610
+ 0.06909190863370895,
1611
+ 0.06887885183095932,
1612
+ 0.06867185235023499,
1613
+ 0.0684686228632927,
1614
+ 0.06826816499233246,
1615
+ 0.06807000190019608,
1616
+ 0.06787554919719696,
1617
+ 0.06768527626991272,
1618
+ 0.06749691069126129,
1619
+ 0.06731042265892029,
1620
+ 0.06712576001882553,
1621
+ 0.06694285571575165,
1622
+ 0.06676167249679565,
1623
+ 0.06658219546079636,
1624
+ 0.06640437990427017,
1625
+ 0.06622816622257233,
1626
+ 0.06605355441570282,
1627
+ 0.06588048487901688,
1628
+ 0.0657089352607727,
1629
+ 0.06553887575864792,
1630
+ 0.06537164747714996,
1631
+ 0.06520784646272659,
1632
+ 0.06504552066326141,
1633
+ 0.06488457322120667,
1634
+ 0.06472500413656235,
1635
+ 0.06456676870584488,
1636
+ 0.06440985947847366,
1637
+ 0.06425532698631287,
1638
+ 0.06410346925258636,
1639
+ 0.06395288556814194,
1640
+ 0.0638035461306572,
1641
+ 0.06365542858839035,
1642
+ 0.06350891292095184,
1643
+ 0.06336474418640137,
1644
+ 0.0632217675447464,
1645
+ 0.06307994574308395,
1646
+ 0.06293924152851105,
1647
+ 0.06280024349689484,
1648
+ 0.06266289204359055,
1649
+ 0.0625266581773758,
1650
+ 0.062391478568315506,
1651
+ 0.062257349491119385,
1652
+ 0.06212425231933594,
1653
+ 0.06199217587709427,
1654
+ 0.06186108663678169,
1655
+ 0.06173097714781761,
1656
+ 0.061601828783750534,
1657
+ 0.06147363409399986,
1658
+ 0.061346352100372314,
1659
+ 0.06121999770402908,
1660
+ 0.06109452247619629,
1661
+ 0.060969945043325424,
1662
+ 0.060846228152513504,
1663
+ 0.06072336435317993,
1664
+ 0.06060132384300232,
1665
+ 0.06048011779785156,
1666
+ 0.06035973131656647,
1667
+ 0.06024013087153435,
1668
+ 0.060121312737464905,
1669
+ 0.06000327318906784,
1670
+ 0.05988664552569389,
1671
+ 0.059771209955215454,
1672
+ 0.0596565380692482,
1673
+ 0.059542614966630936,
1674
+ 0.05942942202091217,
1675
+ 0.05931694060564041,
1676
+ 0.059205178171396255,
1677
+ 0.05909412354230881,
1678
+ 0.05898374691605568,
1679
+ 0.058874040842056274,
1680
+ 0.05876500904560089,
1681
+ 0.05865663290023804,
1682
+ 0.05854890123009682
1683
  ],
1684
  "type": "line"
1685
  }
 
1731
  "Input__tensor_1_output"
1732
  ],
1733
  "loss_inputs": [
1734
+ "Input__tensor_3_output",
1735
+ "Output_1_x"
1736
  ],
1737
  "outputs": [
1738
  "Output_1_x"
 
1746
  }
1747
  ],
1748
  "meta": {
1749
+ "color": "orange",
1750
+ "inputs": [
1751
+ {
1752
  "name": "bundle",
1753
  "position": "left",
1754
  "type": {
1755
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
1756
  }
1757
  }
1758
+ ],
1759
  "name": "View loss",
1760
+ "outputs": [],
1761
+ "params": [],
1762
  "type": "visualization"
1763
  },
1764
  "params": {},
 
2198
  ],
2199
  "data": [
2200
  [
2201
+ 5.0,
2202
+ "[0.67269951 0.10478973 0.5584439 0.83605725]",
2203
+ "[1.67269945 1.10478973 1.5584439 1.83605719]",
2204
+ "[2.5200114250183105, 2.5500504970550537, 2.474149227142334, 2.5841031074523926]"
2205
  ],
2206
  [
2207
+ 9.0,
2208
+ "[0.32225502 0.16999388 0.05823922 0.9628762 ]",
2209
+ "[1.32225502 1.16999388 1.05823922 1.9628762 ]",
2210
+ "[2.2936718463897705, 2.29734468460083, 2.193934440612793, 2.465013265609741]"
2211
  ],
2212
  [
2213
+ 42.0,
2214
+ "[0.75292218 0.81470108 0.49657214 0.56217098]",
2215
+ "[1.75292218 1.81470108 1.49657214 1.56217098]",
2216
+ "[2.705364942550659, 2.693166971206665, 2.6420576572418213, 2.709315061569214]"
2217
  ],
2218
  [
2219
+ 44.0,
2220
+ "[0.52784437 0.54268694 0.12358981 0.72116476]",
2221
+ "[1.52784443 1.54268694 1.12358975 1.7211647 ]",
2222
+ "[2.4462273120880127, 2.429269552230835, 2.3485944271087646, 2.5453922748565674]"
2223
  ],
2224
  [
2225
+ 82.0,
2226
+ "[0.63235509 0.70352674 0.96188956 0.46240485]",
2227
+ "[1.63235509 1.70352674 1.96188951 1.46240485]",
2228
+ "[2.7882840633392334, 2.7618415355682373, 2.7329940795898438, 2.6951816082000732]"
2229
  ],
2230
  [
2231
+ 63.0,
2232
+ "[0.94559073 0.65736622 0.25761551 0.48553199]",
2233
+ "[1.94559073 1.65736628 1.25761557 1.48553205]",
2234
+ "[2.58785343170166, 2.573683500289917, 2.514312505722046, 2.6052181720733643]"
2235
  ],
2236
  [
2237
+ 45.0,
2238
+ "[0.73217702 0.65233225 0.44077861 0.33837909]",
2239
+ "[1.73217702 1.65233231 1.44077861 1.33837914]",
2240
+ "[2.56579852104187, 2.5119059085845947, 2.4670586585998535, 2.514880657196045]"
2241
  ],
2242
  [
2243
+ 58.0,
2244
+ "[0.79905868 0.89367443 0.75429088 0.3190186 ]",
2245
+ "[1.79905868 1.89367437 1.75429082 1.3190186 ]",
2246
+ "[2.784841537475586, 2.7429990768432617, 2.7168993949890137, 2.684943914413452]"
2247
  ],
2248
  [
2249
+ 29.0,
2250
  "[0.23942459 0.90487361 0.69337189 0.65089428]",
2251
  "[1.23942459 1.90487361 1.69337189 1.65089428]",
2252
+ "[2.7037124633789062, 2.6642377376556396, 2.616722822189331, 2.701845645904541]"
2253
  ],
2254
  [
2255
+ 55.0,
2256
+ "[0.95928186 0.84273899 0.71514636 0.38619852]",
2257
+ "[1.95928192 1.84273899 1.7151463 1.38619852]",
2258
+ "[2.8087925910949707, 2.792400598526001, 2.760772466659546, 2.733377695083618]"
2259
  ],
2260
  [
2261
+ 37.0,
2262
+ "[0.78956431 0.87284744 0.06880784 0.03455889]",
2263
+ "[1.78956437 1.87284744 1.06880784 1.03455889]",
2264
+ "[2.4434266090393066, 2.3314132690429688, 2.2909493446350098, 2.365412712097168]"
2265
  ],
2266
  [
2267
+ 24.0,
2268
+ "[0.48507756 0.80808765 0.77162558 0.47834778]",
2269
+ "[1.48507762 1.80808759 1.77162552 1.47834778]",
2270
+ "[2.719438314437866, 2.6760094165802, 2.6397786140441895, 2.658838987350464]"
2271
  ],
2272
  [
2273
+ 6.0,
2274
+ "[0.18686318 0.49356437 0.51323432 0.75392658]",
2275
+ "[1.18686318 1.49356437 1.51323438 1.75392652]",
2276
+ "[2.4986000061035156, 2.4670026302337646, 2.398942708969116, 2.5478687286376953]"
2277
  ],
2278
  [
2279
+ 19.0,
2280
+ "[0.24388778 0.07268471 0.68350857 0.73431659]",
2281
+ "[1.24388778 1.07268476 1.68350863 1.73431659]",
2282
+ "[2.4221277236938477, 2.398268938064575, 2.330900192260742, 2.4378199577331543]"
2283
  ],
2284
  [
2285
+ 33.0,
2286
+ "[0.27845025 0.32472342 0.82203609 0.77107543]",
2287
+ "[1.27845025 1.32472348 1.82203603 1.77107549]",
2288
+ "[2.5835256576538086, 2.573005437850952, 2.5142269134521484, 2.591273069381714]"
2289
  ],
2290
  [
2291
+ 71.0,
2292
+ "[0.9630242 0.76359051 0.24853623 0.76881069]",
2293
+ "[1.96302414 1.76359057 1.24853623 1.76881075]",
2294
+ "[2.696070432662964, 2.731595754623413, 2.6591246128082275, 2.793705463409424]"
2295
  ],
2296
  [
2297
+ 12.0,
2298
+ "[0.11693293 0.49860179 0.55020827 0.88832849]",
2299
+ "[1.11693287 1.49860179 1.55020833 1.88832855]",
2300
+ "[2.529472827911377, 2.5154130458831787, 2.441786766052246, 2.6100752353668213]"
2301
  ],
2302
  [
2303
+ 8.0,
2304
+ "[4.27091718e-01 4.89909172e-01 6.92297399e-01 2.57611275e-04]",
2305
+ "[1.42709172 1.48990917 1.69229746 1.00025761]",
2306
+ "[2.431171178817749, 2.315561294555664, 2.2837576866149902, 2.2987921237945557]"
2307
  ],
2308
  [
2309
+ 64.0,
2310
+ "[0.60075855 0.12234765 0.00614399 0.30560958]",
2311
+ "[1.60075855 1.12234759 1.00614405 1.30560958]",
2312
+ "[2.1521613597869873, 2.0637009143829346, 1.995371699333191, 2.1883833408355713]"
2313
  ],
2314
  [
2315
+ 85.0,
2316
+ "[0.40234613 0.54987347 0.49542785 0.54153186]",
2317
+ "[1.40234613 1.54987347 1.49542785 1.5415318 ]",
2318
+ "[2.515237331390381, 2.466916799545288, 2.4108681678771973, 2.5100111961364746]"
2319
  ],
2320
  [
2321
+ 39.0,
2322
+ "[0.00497234 0.39319336 0.57054168 0.75150961]",
2323
+ "[1.00497234 1.39319336 1.57054162 1.75150967]",
2324
+ "[2.437438726425171, 2.3902065753936768, 2.3222527503967285, 2.476053237915039]"
2325
  ],
2326
  [
2327
+ 99.0,
2328
+ "[0.68891573 0.25576538 0.96339929 0.503833 ]",
2329
+ "[1.68891573 1.25576544 1.96339929 1.50383306]",
2330
+ "[2.652355432510376, 2.639017343521118, 2.600130319595337, 2.5669779777526855]"
2331
  ],
2332
  [
2333
+ 70.0,
2334
+ "[0.47963417 0.81818312 0.48720706 0.49339259]",
2335
+ "[1.47963417 1.81818318 1.48720706 1.49339259]",
2336
+ "[2.6165666580200195, 2.5666303634643555, 2.5178661346435547, 2.6018319129943848]"
2337
  ],
2338
  [
2339
+ 65.0,
2340
+ "[0.39147133 0.29854035 0.84663737 0.58175623]",
2341
+ "[1.39147139 1.29854035 1.84663737 1.58175623]",
2342
+ "[2.5662052631378174, 2.534679889678955, 2.4866561889648438, 2.518486499786377]"
2343
  ],
2344
  [
2345
+ 25.0,
2346
+ "[0.68062544 0.98093534 0.14778823 0.53244978]",
2347
+ "[1.68062544 1.98093534 1.14778829 1.53244972]",
2348
+ "[2.6060662269592285, 2.5712525844573975, 2.509855270385742, 2.6539924144744873]"
2349
  ],
2350
  [
2351
+ 81.0,
2352
+ "[0.6032477 0.83361369 0.18538666 0.19108021]",
2353
+ "[1.60324764 1.83361363 1.18538666 1.19108021]",
2354
+ "[2.464529275894165, 2.3653628826141357, 2.320333242416382, 2.4114229679107666]"
2355
  ],
2356
  [
2357
+ 79.0,
2358
+ "[0.91730917 0.22574073 0.09591609 0.33056474]",
2359
+ "[1.91730917 1.22574067 1.09591603 1.33056474]",
2360
+ "[2.3257997035980225, 2.2782139778137207, 2.2121763229370117, 2.3205032348632812]"
2361
  ],
2362
  [
2363
+ 4.0,
2364
+ "[0.76807946 0.98855817 0.08259124 0.01730657]",
2365
+ "[1.76807952 1.98855817 1.0825913 1.01730657]",
2366
+ "[2.4806268215179443, 2.3638875484466553, 2.3269295692443848, 2.396709442138672]"
2367
  ],
2368
  [
2369
+ 21.0,
2370
+ "[0.56922203 0.98222166 0.76851749 0.28615737]",
2371
+ "[1.56922197 1.9822216 1.76851749 1.28615737]",
2372
+ "[2.755495309829712, 2.68673038482666, 2.663788318634033, 2.644230842590332]"
2373
  ],
2374
  [
2375
+ 97.0,
2376
+ "[0.72795159 0.79317838 0.27832931 0.96576637]",
2377
+ "[1.72795153 1.79317832 1.27832937 1.96576643]",
2378
+ "[2.7061498165130615, 2.754149913787842, 2.6724681854248047, 2.852900266647339]"
2379
  ]
2380
  ]
2381
  },
 
2387
  ],
2388
  "data": [
2389
  [
2390
+ 30.0,
2391
  "[0.94516498 0.08422136 0.5608117 0.07652664]",
2392
  "[1.94516492 1.08422136 1.56081176 1.07652664]"
2393
  ],
2394
  [
2395
+ 31.0,
2396
  "[0.26661873 0.45946234 0.13510543 0.81294441]",
2397
  "[1.26661873 1.4594624 1.13510537 1.81294441]"
2398
  ],
2399
  [
2400
+ 32.0,
2401
  "[0.30754459 0.77694583 0.09278506 0.38326019]",
2402
  "[1.30754459 1.77694583 1.09278512 1.38326025]"
2403
  ],
2404
  [
2405
+ 33.0,
2406
  "[0.27845025 0.32472342 0.82203609 0.77107543]",
2407
  "[1.27845025 1.32472348 1.82203603 1.77107549]"
2408
  ],
2409
  [
2410
+ 34.0,
2411
  "[0.4827103 0.10563457 0.98858833 0.82286644]",
2412
  "[1.48271036 1.10563457 1.98858833 1.82286644]"
2413
  ],
2414
  [
2415
+ 35.0,
2416
  "[0.98033333 0.97656083 0.38939917 0.81491041]",
2417
  "[1.98033333 1.97656083 1.38939917 1.81491041]"
2418
  ],
2419
  [
2420
+ 36.0,
2421
  "[0.74064726 0.4155122 0.09800029 0.49930882]",
2422
  "[1.74064732 1.4155122 1.09800029 1.49930882]"
2423
  ],
2424
  [
2425
+ 37.0,
2426
  "[0.78956431 0.87284744 0.06880784 0.03455889]",
2427
  "[1.78956437 1.87284744 1.06880784 1.03455889]"
2428
  ],
2429
  [
2430
+ 38.0,
2431
  "[0.94221359 0.57740951 0.98649532 0.40934443]",
2432
  "[1.94221354 1.57740951 1.98649526 1.40934443]"
2433
  ],
2434
  [
2435
+ 39.0,
2436
  "[0.00497234 0.39319336 0.57054168 0.75150961]",
2437
  "[1.00497234 1.39319336 1.57054162 1.75150967]"
2438
  ],
2439
  [
2440
+ 40.0,
2441
  "[0.44330525 0.09997386 0.89025736 0.90507984]",
2442
  "[1.44330525 1.09997392 1.89025736 1.90507984]"
2443
  ],
2444
  [
2445
+ 41.0,
2446
  "[0.72290605 0.96945059 0.68354797 0.15270454]",
2447
  "[1.72290611 1.96945059 1.68354797 1.15270448]"
2448
  ],
2449
  [
2450
+ 42.0,
2451
  "[0.75292218 0.81470108 0.49657214 0.56217098]",
2452
  "[1.75292218 1.81470108 1.49657214 1.56217098]"
2453
  ],
2454
  [
2455
+ 43.0,
2456
  "[0.33480108 0.59181517 0.76198453 0.98062384]",
2457
  "[1.33480108 1.59181523 1.76198459 1.98062384]"
2458
  ],
2459
  [
2460
+ 44.0,
2461
  "[0.52784437 0.54268694 0.12358981 0.72116476]",
2462
  "[1.52784443 1.54268694 1.12358975 1.7211647 ]"
2463
  ],
2464
  [
2465
+ 45.0,
2466
  "[0.73217702 0.65233225 0.44077861 0.33837909]",
2467
  "[1.73217702 1.65233231 1.44077861 1.33837914]"
2468
  ],
2469
  [
2470
+ 46.0,
2471
  "[0.34084332 0.73018837 0.54168713 0.91440833]",
2472
  "[1.34084332 1.73018837 1.54168713 1.91440833]"
2473
  ],
2474
  [
2475
+ 47.0,
2476
  "[0.60110539 0.3618983 0.32342511 0.98672163]",
2477
  "[1.60110545 1.3618983 1.32342505 1.98672163]"
2478
  ],
2479
  [
2480
+ 48.0,
2481
  "[0.77427191 0.21829212 0.12769502 0.74303615]",
2482
  "[1.77427197 1.21829212 1.12769508 1.74303615]"
2483
  ],
2484
  [
2485
+ 49.0,
2486
  "[0.08107251 0.2602725 0.18861133 0.44833237]",
2487
  "[1.08107257 1.2602725 1.18861127 1.44833231]"
2488
  ],
2489
  [
2490
+ 50.0,
2491
  "[0.59812403 0.78395379 0.0291847 0.81814629]",
2492
  "[1.59812403 1.78395379 1.0291847 1.81814623]"
2493
  ],
2494
  [
2495
+ 51.0,
2496
  "[0.93488538 0.73882395 0.37345302 0.0274905 ]",
2497
  "[1.93488538 1.73882389 1.37345302 1.0274905 ]"
2498
  ],
2499
  [
2500
+ 52.0,
2501
  "[0.30631393 0.48311198 0.87847513 0.67559886]",
2502
  "[1.30631399 1.48311198 1.87847519 1.67559886]"
2503
  ],
2504
  [
2505
+ 53.0,
2506
  "[0.18720162 0.74115586 0.98626411 0.30355608]",
2507
  "[1.18720162 1.74115586 1.98626411 1.30355608]"
2508
  ],
2509
  [
2510
+ 54.0,
2511
  "[0.85566247 0.83362883 0.48424995 0.25265992]",
2512
  "[1.85566247 1.83362889 1.48424995 1.25265992]"
2513
  ],
2514
  [
2515
+ 55.0,
2516
  "[0.95928186 0.84273899 0.71514636 0.38619852]",
2517
  "[1.95928192 1.84273899 1.7151463 1.38619852]"
2518
  ],
2519
  [
2520
+ 56.0,
2521
  "[0.32565445 0.90939188 0.07488042 0.13730896]",
2522
  "[1.32565451 1.90939188 1.07488036 1.13730896]"
2523
  ],
2524
  [
2525
+ 57.0,
2526
  "[0.9829582 0.59269661 0.40120947 0.95487177]",
2527
  "[1.9829582 1.59269667 1.40120947 1.95487177]"
2528
  ],
2529
  [
2530
+ 58.0,
2531
  "[0.79905868 0.89367443 0.75429088 0.3190186 ]",
2532
  "[1.79905868 1.89367437 1.75429082 1.3190186 ]"
2533
  ],
2534
  [
2535
+ 59.0,
2536
  "[0.54914117 0.03810108 0.87531954 0.73044223]",
2537
  "[1.54914117 1.03810108 1.87531948 1.73044229]"
2538
  ],
2539
  [
2540
+ 60.0,
2541
  "[0.67418337 0.79634351 0.23229051 0.71345252]",
2542
  "[1.67418337 1.79634356 1.23229051 1.71345258]"
2543
  ],
2544
  [
2545
+ 61.0,
2546
  "[0.87285906 0.48354989 0.39394957 0.59456545]",
2547
  "[1.872859 1.48354983 1.39394951 1.59456539]"
2548
  ],
2549
  [
2550
+ 62.0,
2551
  "[0.81788456 0.58174163 0.29376316 0.7971254 ]",
2552
  "[1.81788456 1.58174157 1.29376316 1.79712534]"
2553
  ],
2554
  [
2555
+ 63.0,
2556
  "[0.94559073 0.65736622 0.25761551 0.48553199]",
2557
  "[1.94559073 1.65736628 1.25761557 1.48553205]"
2558
  ],
2559
  [
2560
+ 64.0,
2561
  "[0.60075855 0.12234765 0.00614399 0.30560958]",
2562
  "[1.60075855 1.12234759 1.00614405 1.30560958]"
2563
  ],
2564
  [
2565
+ 65.0,
2566
  "[0.39147133 0.29854035 0.84663737 0.58175623]",
2567
  "[1.39147139 1.29854035 1.84663737 1.58175623]"
2568
  ],
2569
  [
2570
+ 66.0,
2571
  "[0.02162331 0.81861657 0.92468154 0.07808572]",
2572
  "[1.02162337 1.81861663 1.92468154 1.07808566]"
2573
  ],
2574
  [
2575
+ 67.0,
2576
  "[0.02235305 0.52774918 0.7331115 0.84358269]",
2577
  "[1.02235305 1.52774918 1.7331115 1.84358263]"
2578
  ],
2579
  [
2580
+ 68.0,
2581
  "[0.6080932 0.56563014 0.32107437 0.72599429]",
2582
  "[1.60809326 1.5656302 1.32107437 1.72599435]"
2583
  ],
2584
  [
2585
+ 69.0,
2586
  "[0.67447788 0.6125319 0.98007888 0.65968603]",
2587
  "[1.67447782 1.6125319 1.98007894 1.65968609]"
2588
  ],
2589
  [
2590
+ 70.0,
2591
  "[0.47963417 0.81818312 0.48720706 0.49339259]",
2592
  "[1.47963417 1.81818318 1.48720706 1.49339259]"
2593
  ],
2594
  [
2595
+ 71.0,
2596
  "[0.9630242 0.76359051 0.24853623 0.76881069]",
2597
  "[1.96302414 1.76359057 1.24853623 1.76881075]"
2598
  ],
2599
  [
2600
+ 72.0,
2601
  "[0.60609657 0.96257663 0.19292736 0.95702219]",
2602
  "[1.60609651 1.96257663 1.19292736 1.95702219]"
2603
  ],
2604
  [
2605
+ 73.0,
2606
  "[0.80654246 0.08253473 0.74478531 0.71257162]",
2607
  "[1.8065424 1.08253479 1.74478531 1.71257162]"
2608
  ],
2609
  [
2610
+ 74.0,
2611
  "[0.70167565 0.26930219 0.5660674 0.61194974]",
2612
  "[1.70167565 1.26930213 1.56606746 1.61194968]"
2613
  ],
2614
  [
2615
+ 75.0,
2616
  "[0.76933283 0.86241865 0.44114518 0.65644735]",
2617
  "[1.76933289 1.86241865 1.44114518 1.65644741]"
2618
  ],
2619
  [
2620
+ 76.0,
2621
  "[0.59492421 0.90274489 0.38069052 0.46101224]",
2622
  "[1.59492421 1.90274489 1.38069057 1.46101224]"
2623
  ],
2624
  [
2625
+ 77.0,
2626
  "[0.15064228 0.03198934 0.25754827 0.51484001]",
2627
  "[1.15064228 1.03198934 1.25754833 1.51484001]"
2628
  ],
2629
  [
2630
+ 78.0,
2631
  "[0.12024075 0.21342516 0.56858408 0.58644271]",
2632
  "[1.12024069 1.21342516 1.56858408 1.58644271]"
2633
  ],
2634
  [
2635
+ 79.0,
2636
  "[0.91730917 0.22574073 0.09591609 0.33056474]",
2637
  "[1.91730917 1.22574067 1.09591603 1.33056474]"
2638
  ],
2639
  [
2640
+ 80.0,
2641
  "[0.49691743 0.61873293 0.90698647 0.94486356]",
2642
  "[1.49691749 1.61873293 1.90698647 1.94486356]"
2643
  ],
2644
  [
2645
+ 81.0,
2646
  "[0.6032477 0.83361369 0.18538666 0.19108021]",
2647
  "[1.60324764 1.83361363 1.18538666 1.19108021]"
2648
  ],
2649
  [
2650
+ 82.0,
2651
  "[0.63235509 0.70352674 0.96188956 0.46240485]",
2652
  "[1.63235509 1.70352674 1.96188951 1.46240485]"
2653
  ],
2654
  [
2655
+ 83.0,
2656
  "[0.37959969 0.42820001 0.10690689 0.96353984]",
2657
  "[1.37959969 1.42820001 1.10690689 1.96353984]"
2658
  ],
2659
  [
2660
+ 84.0,
2661
  "[0.49607176 0.1922397 0.46640229 0.78321403]",
2662
  "[1.49607182 1.19223976 1.46640229 1.78321409]"
2663
  ],
2664
  [
2665
+ 85.0,
2666
  "[0.40234613 0.54987347 0.49542785 0.54153186]",
2667
  "[1.40234613 1.54987347 1.49542785 1.5415318 ]"
2668
  ],
2669
  [
2670
+ 86.0,
2671
  "[0.80893755 0.92237449 0.88346356 0.93164903]",
2672
  "[1.80893755 1.92237449 1.88346362 1.93164897]"
2673
  ],
2674
  [
2675
+ 87.0,
2676
  "[0.12858278 0.09930819 0.83222693 0.72485673]",
2677
  "[1.12858272 1.09930825 1.83222699 1.72485673]"
2678
  ],
2679
  [
2680
+ 88.0,
2681
  "[0.72470158 0.4940322 0.41027349 0.89364016]",
2682
  "[1.72470164 1.49403214 1.41027355 1.89364016]"
2683
  ],
2684
  [
2685
+ 89.0,
2686
  "[0.47856545 0.46267092 0.6376707 0.84747767]",
2687
  "[1.47856545 1.46267092 1.63767076 1.84747767]"
2688
  ],
2689
  [
2690
+ 90.0,
2691
  "[0.49584109 0.80599248 0.07096875 0.75872749]",
2692
  "[1.49584103 1.80599248 1.07096875 1.75872755]"
2693
  ],
2694
  [
2695
+ 91.0,
2696
  "[0.43500566 0.66041756 0.80293626 0.96224713]",
2697
  "[1.43500566 1.66041756 1.80293632 1.96224713]"
2698
  ],
2699
  [
2700
+ 92.0,
2701
  "[0.78397602 0.74223626 0.26603186 0.41664881]",
2702
  "[1.78397608 1.74223626 1.26603186 1.41664886]"
2703
  ],
2704
  [
2705
+ 93.0,
2706
  "[0.28942841 0.05601001 0.33039129 0.27781558]",
2707
  "[1.28942847 1.05601001 1.33039129 1.27781558]"
2708
  ],
2709
  [
2710
+ 94.0,
2711
  "[0.68094063 0.45189077 0.22661722 0.37354094]",
2712
  "[1.68094063 1.45189071 1.22661722 1.37354088]"
2713
  ],
2714
  [
2715
+ 95.0,
2716
  "[0.43681622 0.74680805 0.83598751 0.12414402]",
2717
  "[1.43681622 1.74680805 1.83598757 1.12414408]"
2718
  ],
2719
  [
2720
+ 96.0,
2721
  "[0.47870928 0.17129105 0.27300501 0.20634609]",
2722
  "[1.47870922 1.17129111 1.27300501 1.20634604]"
2723
  ],
2724
  [
2725
+ 97.0,
2726
  "[0.72795159 0.79317838 0.27832931 0.96576637]",
2727
  "[1.72795153 1.79317832 1.27832937 1.96576643]"
2728
  ],
2729
  [
2730
+ 98.0,
2731
  "[0.87608397 0.93200487 0.80169648 0.37758952]",
2732
  "[1.87608397 1.93200493 1.80169654 1.37758946]"
2733
  ],
2734
  [
2735
+ 99.0,
2736
  "[0.68891573 0.25576538 0.96339929 0.503833 ]",
2737
  "[1.68891573 1.25576544 1.96339929 1.50383306]"
2738
  ]
 
2744
  ],
2745
  "data": [
2746
  [
2747
+ 5.951645851135254
2748
  ],
2749
  [
2750
+ 5.274348735809326
2751
  ],
2752
  [
2753
+ 4.588619709014893
2754
  ],
2755
  [
2756
+ 3.966594934463501
2757
  ],
2758
  [
2759
+ 3.0671465396881104
2760
  ],
2761
  [
2762
+ 2.3460588455200195
2763
  ],
2764
  [
2765
+ 1.986690640449524
2766
  ],
2767
  [
2768
+ 1.8489981889724731
2769
  ],
2770
  [
2771
+ 1.801417589187622
2772
  ],
2773
  [
2774
+ 1.7839369773864746
2775
  ],
2776
  [
2777
+ 1.7767301797866821
2778
  ],
2779
  [
2780
+ 1.7733982801437378
2781
  ],
2782
  [
2783
+ 1.7716325521469116
2784
  ],
2785
  [
2786
+ 1.7705225944519043
2787
  ],
2788
  [
2789
+ 1.7696930170059204
2790
  ],
2791
  [
2792
+ 1.7689863443374634
2793
  ],
2794
  [
2795
+ 1.7683357000350952
2796
  ],
2797
  [
2798
+ 1.7677124738693237
2799
  ],
2800
  [
2801
+ 1.7671048641204834
2802
  ],
2803
  [
2804
+ 1.766507625579834
2805
  ],
2806
  [
2807
+ 1.7659177780151367
2808
  ],
2809
  [
2810
+ 1.7653343677520752
2811
  ],
2812
  [
2813
+ 1.7647572755813599
2814
  ],
2815
  [
2816
+ 1.764186143875122
2817
  ],
2818
  [
2819
+ 1.763621211051941
2820
  ],
2821
  [
2822
+ 1.763061761856079
2823
  ],
2824
  [
2825
+ 1.762508511543274
2826
  ],
2827
  [
2828
+ 1.7619603872299194
2829
  ],
2830
  [
2831
+ 1.7614178657531738
2832
  ],
2833
  [
2834
+ 1.760880470275879
2835
  ],
2836
  [
2837
+ 1.7603485584259033
2838
  ],
2839
  [
2840
+ 1.7598220109939575
2841
  ],
2842
  [
2843
+ 1.7593002319335938
2844
  ],
2845
  [
2846
+ 1.7587836980819702
2847
  ],
2848
  [
2849
+ 1.7582720518112183
2850
  ],
2851
  [
2852
+ 1.7577650547027588
2853
  ],
2854
  [
2855
+ 1.757262945175171
2856
  ],
2857
  [
2858
+ 1.7567654848098755
2859
  ],
2860
  [
2861
+ 1.756272792816162
2862
  ],
2863
  [
2864
+ 1.755784511566162
2865
  ],
2866
  [
2867
+ 1.755300760269165
2868
  ],
2869
  [
2870
+ 1.7548213005065918
2871
  ],
2872
  [
2873
+ 1.7543463706970215
2874
  ],
2875
  [
2876
+ 1.7538751363754272
2877
  ],
2878
  [
2879
+ 1.7534087896347046
2880
  ],
2881
  [
2882
+ 1.7529460191726685
2883
  ],
2884
  [
2885
+ 1.7524876594543457
2886
  ],
2887
  [
2888
+ 1.752032995223999
2889
  ],
2890
  [
2891
+ 1.751582384109497
2892
  ],
2893
  [
2894
+ 1.7511354684829712
2895
  ],
2896
  [
2897
+ 1.75069260597229
2898
  ],
2899
  [
2900
+ 1.7502535581588745
2901
  ],
2902
  [
2903
+ 1.7498178482055664
2904
  ],
2905
  [
2906
+ 1.7493858337402344
2907
  ],
2908
  [
2909
+ 1.7489577531814575
2910
  ],
2911
  [
2912
+ 1.748533010482788
2913
  ],
2914
  [
2915
+ 1.7481114864349365
2916
  ],
2917
  [
2918
+ 1.7476938962936401
2919
  ],
2920
  [
2921
+ 1.7472795248031616
2922
  ],
2923
  [
2924
+ 1.746868371963501
2925
  ],
2926
  [
2927
+ 1.7464605569839478
2928
  ],
2929
  [
2930
+ 1.7460559606552124
2931
  ],
2932
  [
2933
+ 1.7456544637680054
2934
  ],
2935
  [
2936
+ 1.7452563047409058
2937
  ],
2938
  [
2939
+ 1.744861125946045
2940
  ],
2941
  [
2942
+ 1.7444690465927124
2943
  ],
2944
  [
2945
+ 1.7440800666809082
2946
  ],
2947
  [
2948
+ 1.7436938285827637
2949
  ],
2950
  [
2951
+ 1.7433106899261475
2952
  ],
2953
  [
2954
+ 1.74293053150177
2955
  ],
2956
  [
2957
+ 1.7425531148910522
2958
  ],
2959
  [
2960
+ 1.7421785593032837
2961
  ],
2962
  [
2963
+ 1.7418066263198853
2964
  ],
2965
  [
2966
+ 1.7414374351501465
2967
  ],
2968
  [
2969
+ 1.7410712242126465
2970
  ],
2971
  [
2972
+ 1.740707516670227
2973
  ],
2974
  [
2975
+ 1.7403463125228882
2976
  ],
2977
  [
2978
+ 1.739988088607788
2979
  ],
2980
  [
2981
+ 1.7396321296691895
2982
  ],
2983
  [
2984
+ 1.739278793334961
2985
  ],
2986
  [
2987
+ 1.738927960395813
2988
  ],
2989
  [
2990
+ 1.7385796308517456
2991
  ],
2992
  [
2993
+ 1.7382338047027588
2994
  ],
2995
  [
2996
+ 1.7378901243209839
2997
  ],
2998
  [
2999
+ 1.7375489473342896
3000
  ],
3001
  [
3002
+ 1.7372102737426758
3003
  ],
3004
  [
3005
+ 1.7368735074996948
3006
  ],
3007
  [
3008
+ 1.7365405559539795
3009
  ],
3010
  [
3011
+ 1.736209511756897
3012
  ],
3013
  [
3014
+ 1.735880970954895
3015
  ],
3016
  [
3017
+ 1.7355544567108154
3018
  ],
3019
  [
3020
+ 1.7352303266525269
3021
  ],
3022
  [
3023
+ 1.7349083423614502
3024
  ],
3025
  [
3026
+ 1.734588384628296
3027
  ],
3028
  [
3029
+ 1.7342705726623535
3030
  ],
3031
  [
3032
+ 1.7339547872543335
3033
  ],
3034
  [
3035
+ 1.7336410284042358
3036
  ],
3037
  [
3038
+ 1.7333295345306396
3039
  ],
3040
  [
3041
+ 1.7330199480056763
3042
  ],
3043
  [
3044
+ 1.7327126264572144
3045
  ]
3046
  ]
3047
  }
3048
  },
3049
  "other": {
3050
+ "model": "ModelConfig(model=Sequential(\n (0) - Identity(): Input__tensor_1_output -> START_Repeat_1_output\n (1) - Linear(4, 4, bias=True): START_Repeat_1_output -> Linear_1_output\n (2) - <function leaky_relu at 0x7f4117e80ea0>: Linear_1_output -> Activation_1_output\n (3) - Identity(): Activation_1_output -> START_Repeat_1_output\n (4) - Linear(4, 4, bias=True): START_Repeat_1_output -> Linear_1_output\n (5) - <function leaky_relu at 0x7f4117e80ea0>: Linear_1_output -> Activation_1_output\n (6) - Identity(): Activation_1_output -> END_Repeat_1_output\n (7) - Identity(): END_Repeat_1_output -> Output_1_x\n (8) - Identity(): Output_1_x -> Output_1_x\n), model_inputs=['Input__tensor_1_output'], model_outputs=['Output_1_x'], loss_inputs=['Input__tensor_3_output', 'Output_1_x'], loss=Sequential(\n (0) - <function constant_vector.<locals>.<lambda> at 0x7f4051099620>: nothing -> Constant_vector_1_output\n (1) - <built-in method add of type object at 0x7f411059ef00>: Input__tensor_3_output, Constant_vector_1_output -> Add_1_output\n (2) - <function mse_loss at 0x7f4117e82980>: Output_1_x, Add_1_output -> MSE_loss_2_output\n (3) - Identity(): MSE_loss_2_output -> loss\n), optimizer_parameters={'lr': 0.1, 'type': <OptionsFor_type.SGD: 4>}, optimizer=SGD (\nParameter Group 0\n dampening: 0\n differentiable: False\n foreach: None\n fused: None\n lr: 0.1\n maximize: False\n momentum: 0\n nesterov: False\n weight_decay: 0\n), source_workspace='Model definition', trained=True)"
3051
  },
3052
  "relations": []
3053
  },
 
3089
  "Input__tensor_1_output"
3090
  ],
3091
  "loss_inputs": [
3092
+ "Input__tensor_3_output",
3093
+ "Output_1_x"
3094
  ],
3095
  "outputs": [
3096
  "Output_1_x"
 
3104
  }
3105
  ],
3106
  "meta": {
3107
+ "color": "orange",
3108
+ "inputs": [
3109
+ {
3110
  "name": "bundle",
3111
  "position": "left",
3112
  "type": {
3113
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
3114
  }
3115
  }
3116
+ ],
3117
  "name": "View tables",
3118
+ "outputs": [],
3119
+ "params": [
3120
+ {
3121
  "default": 100.0,
3122
  "name": "limit",
3123
  "type": {
3124
  "type": "<class 'int'>"
3125
  }
3126
  }
3127
+ ],
3128
  "type": "table_view"
3129
  },
3130
  "params": {
 
3155
  {
3156
  "data": [
3157
  [
3158
+ 788.9803466796875,
3159
+ -51.541831970214844,
3160
  "",
3161
+ 9.09527587890625
3162
  ],
3163
  [
3164
+ 602.7313232421875,
3165
+ 524.9680786132812,
3166
  "",
3167
+ 4.464115142822266
3168
  ],
3169
  [
3170
+ -936.723876953125,
3171
+ -598.2774658203125,
3172
  "",
3173
+ 13.456573486328125
3174
  ],
3175
  [
3176
+ -740.7808837890625,
3177
+ -169.9661407470703,
3178
  "",
3179
+ 3.4803123474121094
3180
  ],
3181
  [
3182
+ -463.2208251953125,
3183
+ -782.707275390625,
3184
  "",
3185
+ 14.162765502929688
3186
  ],
3187
  [
3188
+ -591.0269775390625,
3189
+ -1083.541259765625,
3190
  "",
3191
+ 10.555366516113281
3192
  ],
3193
  [
3194
+ -1005.5611572265625,
3195
+ -858.7088623046875,
3196
  "",
3197
+ 8.691032409667969
3198
  ],
3199
  [
3200
+ 853.4742431640625,
3201
+ 313.06414794921875,
3202
  "",
3203
+ 13.883481979370117
3204
  ],
3205
  [
3206
+ 694.8038330078125,
3207
+ 873.2905883789062,
3208
  "",
3209
+ 13.051898956298828
3210
  ],
3211
  [
3212
+ -71.77912902832031,
3213
+ 360.3193359375,
3214
  "",
3215
+ 15.06808090209961
3216
  ],
3217
  [
3218
+ 820.8765869140625,
3219
+ 29.677410125732422,
3220
  "",
3221
+ 5.008731842041016
3222
  ],
3223
  [
3224
+ -991.318115234375,
3225
+ 732.60205078125,
3226
  "",
3227
+ 12.890125274658203
3228
  ],
3229
  [
3230
+ 554.213134765625,
3231
+ -916.6630859375,
3232
  "",
3233
+ 7.605861663818359
3234
  ],
3235
  [
3236
+ 145.04811096191406,
3237
+ -901.040771484375,
3238
  "",
3239
+ 5.379741668701172
3240
  ],
3241
  [
3242
+ 1018.691650390625,
3243
+ 1071.2506103515625,
3244
  "",
3245
+ 10.797737121582031
3246
  ],
3247
  [
3248
+ -476.2529602050781,
3249
+ 817.712890625,
3250
  "",
3251
+ 14.483116149902344
3252
  ],
3253
  [
3254
+ -840.4203491210938,
3255
+ 729.9735717773438,
3256
  "",
3257
+ 8.294794082641602
3258
  ],
3259
  [
3260
+ -31.723953247070312,
3261
+ 849.07275390625,
3262
  "",
3263
+ 4.843757629394531
3264
  ],
3265
  [
3266
+ -463.68719482421875,
3267
+ 324.799072265625,
3268
  "",
3269
+ 4.095094680786133
3270
  ],
3271
  [
3272
+ 766.6671142578125,
3273
+ 757.201416015625,
3274
  "",
3275
+ 7.2570648193359375
3276
  ],
3277
  [
3278
+ -693.414306640625,
3279
+ 1021.6004638671875,
3280
  "",
3281
+ 5.442634582519531
3282
  ],
3283
  [
3284
+ 60.164451599121094,
3285
+ -653.205322265625,
3286
  "",
3287
+ 11.511402130126953
3288
  ],
3289
  [
3290
+ -198.70584106445312,
3291
+ 931.2337646484375,
3292
  "",
3293
+ 10.254695892333984
3294
  ],
3295
  [
3296
+ -801.8848876953125,
3297
+ 137.9746551513672,
3298
  "",
3299
+ 9.343021392822266
3300
  ],
3301
  [
3302
+ 879.371337890625,
3303
+ -865.5347900390625,
3304
  "",
3305
+ 9.882560729980469
3306
  ],
3307
  [
3308
+ 1085.8511962890625,
3309
+ -983.2652587890625,
3310
  "",
3311
+ 6.058769226074219
3312
  ],
3313
  [
3314
+ -767.4273681640625,
3315
+ -607.4093017578125,
3316
  "",
3317
+ 4.310338973999023
3318
  ],
3319
  [
3320
+ -482.94732666015625,
3321
+ -838.2176513671875,
3322
  "",
3323
+ 5.693187713623047
3324
  ],
3325
  [
3326
+ 799.220703125,
3327
+ -555.1533203125,
3328
  "",
3329
+ 13.654813766479492
3330
  ],
3331
  [
3332
+ 330.50946044921875,
3333
+ -629.55126953125,
3334
  "",
3335
+ 14.695697784423828
3336
  ]
3337
  ],
3338
  "symbolSize": 25.65378780242026,
 
3347
  },
3348
  "visualMap": {
3349
  "calculable": true,
3350
+ "dimension": 3.0,
3351
  "inRange": {
3352
  "color": [
3353
  "#440154",
 
3362
  "#FDE725"
3363
  ]
3364
  },
3365
+ "max": 15.06808090209961,
3366
+ "min": 3.4803123474121094,
3367
+ "right": 10.0,
3368
  "top": "center"
3369
  },
3370
  "xAxis": [
 
3416
  "Input__tensor_1_output"
3417
  ],
3418
  "loss_inputs": [
3419
+ "Input__tensor_3_output",
3420
+ "Output_1_x"
3421
  ],
3422
  "outputs": [
3423
  "Output_1_x"
 
3431
  }
3432
  ],
3433
  "meta": {
3434
+ "color": "orange",
3435
+ "inputs": [
3436
+ {
3437
  "name": "bundle",
3438
  "position": "left",
3439
  "type": {
3440
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
3441
  }
3442
  }
3443
+ ],
3444
  "name": "View vectors",
3445
+ "outputs": [],
3446
+ "params": [
3447
+ {
3448
+ "default": "nodes",
3449
+ "name": "table_name",
3450
+ "type": {
3451
+ "type": "<class 'str'>"
3452
+ }
3453
+ },
3454
+ {
3455
+ "default": "",
3456
+ "name": "vector_column",
3457
+ "type": {
3458
+ "type": "<class 'str'>"
3459
+ }
3460
+ },
3461
+ {
3462
  "default": "",
3463
  "name": "label_column",
3464
  "type": {
3465
  "type": "<class 'str'>"
3466
  }
3467
  },
3468
+ {
3469
+ "default": 15.0,
3470
+ "name": "n_neighbors",
3471
+ "type": {
3472
+ "type": "<class 'int'>"
3473
+ }
3474
+ },
3475
+ {
3476
+ "default": 0.1,
3477
+ "name": "min_dist",
3478
+ "type": {
3479
+ "type": "<class 'float'>"
3480
+ }
3481
+ },
3482
+ {
3483
+ "default": null,
3484
  "name": "metric",
3485
  "type": {
3486
  "enum": [
 
3501
  "hamming"
3502
  ]
3503
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3504
  }
3505
+ ],
3506
  "type": "visualization"
3507
  },
3508
  "params": {
examples/NetworkX demo.lynxkite.json CHANGED
@@ -531,40 +531,40 @@
531
  }
532
  ],
533
  "meta": {
534
- "inputs": {
535
- "graph": {
536
  "name": "graph",
537
  "position": "left",
538
  "type": {
539
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
540
  }
541
  }
542
- },
543
  "name": "Visualize graph",
544
- "outputs": {},
545
- "params": {
546
- "color_edges_by": {
547
  "default": null,
548
  "name": "color_edges_by",
549
  "type": {
550
  "format": "edge attribute"
551
  }
552
  },
553
- "color_nodes_by": {
554
  "default": null,
555
  "name": "color_nodes_by",
556
  "type": {
557
  "format": "node attribute"
558
  }
559
  },
560
- "label_by": {
561
  "default": null,
562
  "name": "label_by",
563
  "type": {
564
  "format": "node attribute"
565
  }
566
  }
567
- },
568
  "type": "visualization"
569
  },
570
  "params": {
@@ -9730,40 +9730,40 @@
9730
  }
9731
  ],
9732
  "meta": {
9733
- "inputs": {
9734
- "graph": {
9735
  "name": "graph",
9736
  "position": "left",
9737
  "type": {
9738
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
9739
  }
9740
  }
9741
- },
9742
  "name": "Visualize graph",
9743
- "outputs": {},
9744
- "params": {
9745
- "color_edges_by": {
9746
  "default": null,
9747
  "name": "color_edges_by",
9748
  "type": {
9749
  "format": "edge attribute"
9750
  }
9751
  },
9752
- "color_nodes_by": {
9753
  "default": null,
9754
  "name": "color_nodes_by",
9755
  "type": {
9756
  "format": "node attribute"
9757
  }
9758
  },
9759
- "label_by": {
9760
  "default": null,
9761
  "name": "label_by",
9762
  "type": {
9763
  "format": "node attribute"
9764
  }
9765
  }
9766
- },
9767
  "type": "visualization"
9768
  },
9769
  "params": {
@@ -9792,26 +9792,26 @@
9792
  "in_progress": true,
9793
  "input_metadata": [],
9794
  "meta": {
9795
- "inputs": {},
9796
  "name": "NX \u203a Ladder Graph",
9797
- "outputs": {
9798
- "output": {
9799
  "name": "output",
9800
  "position": "right",
9801
  "type": {
9802
  "type": "<class 'networkx.classes.graph.Graph'>"
9803
  }
9804
  }
9805
- },
9806
- "params": {
9807
- "n": {
9808
  "default": null,
9809
  "name": "n",
9810
  "type": {
9811
  "type": "<class 'int'>"
9812
  }
9813
  }
9814
- },
9815
  "type": "basic"
9816
  },
9817
  "params": {
@@ -9842,34 +9842,34 @@
9842
  {}
9843
  ],
9844
  "meta": {
9845
- "inputs": {
9846
- "graph": {
9847
  "name": "graph",
9848
  "position": "left",
9849
  "type": {
9850
  "type": "<class 'networkx.classes.graph.Graph'>"
9851
  }
9852
  }
9853
- },
9854
  "name": "Sample graph",
9855
- "outputs": {
9856
- "output": {
9857
  "name": "output",
9858
  "position": "right",
9859
  "type": {
9860
  "type": "None"
9861
  }
9862
  }
9863
- },
9864
- "params": {
9865
- "nodes": {
9866
  "default": 100.0,
9867
  "name": "nodes",
9868
  "type": {
9869
  "type": "<class 'int'>"
9870
  }
9871
  }
9872
- },
9873
  "type": "basic"
9874
  },
9875
  "params": {
@@ -9900,34 +9900,34 @@
9900
  {}
9901
  ],
9902
  "meta": {
9903
- "inputs": {
9904
- "graph": {
9905
  "name": "graph",
9906
  "position": "left",
9907
  "type": {
9908
  "type": "<class 'networkx.classes.graph.Graph'>"
9909
  }
9910
  }
9911
- },
9912
  "name": "Sample graph",
9913
- "outputs": {
9914
- "output": {
9915
  "name": "output",
9916
  "position": "right",
9917
  "type": {
9918
  "type": "None"
9919
  }
9920
  }
9921
- },
9922
- "params": {
9923
- "nodes": {
9924
  "default": 100.0,
9925
  "name": "nodes",
9926
  "type": {
9927
  "type": "<class 'int'>"
9928
  }
9929
  }
9930
- },
9931
  "type": "basic"
9932
  },
9933
  "params": {
@@ -10409,40 +10409,40 @@
10409
  }
10410
  ],
10411
  "meta": {
10412
- "inputs": {
10413
- "graph": {
10414
  "name": "graph",
10415
  "position": "left",
10416
  "type": {
10417
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
10418
  }
10419
  }
10420
- },
10421
  "name": "Visualize graph",
10422
- "outputs": {},
10423
- "params": {
10424
- "color_edges_by": {
10425
  "default": null,
10426
  "name": "color_edges_by",
10427
  "type": {
10428
  "format": "edge attribute"
10429
  }
10430
  },
10431
- "color_nodes_by": {
10432
  "default": null,
10433
  "name": "color_nodes_by",
10434
  "type": {
10435
  "format": "node attribute"
10436
  }
10437
  },
10438
- "label_by": {
10439
  "default": null,
10440
  "name": "label_by",
10441
  "type": {
10442
  "format": "node attribute"
10443
  }
10444
  }
10445
- },
10446
  "type": "visualization"
10447
  },
10448
  "params": {
@@ -10473,26 +10473,26 @@
10473
  {}
10474
  ],
10475
  "meta": {
10476
- "inputs": {
10477
- "G": {
10478
  "name": "G",
10479
  "position": "left",
10480
  "type": {
10481
  "type": "<class 'networkx.classes.graph.Graph'>"
10482
  }
10483
  }
10484
- },
10485
  "name": "NX \u203a Core Number",
10486
- "outputs": {
10487
- "output": {
10488
  "name": "output",
10489
  "position": "right",
10490
  "type": {
10491
  "type": "<class 'networkx.classes.graph.Graph'>"
10492
  }
10493
  }
10494
- },
10495
- "params": {},
10496
  "type": "basic"
10497
  },
10498
  "params": {},
@@ -10521,26 +10521,26 @@
10521
  {}
10522
  ],
10523
  "meta": {
10524
- "inputs": {
10525
- "graph": {
10526
  "name": "graph",
10527
  "position": "left",
10528
  "type": {
10529
  "type": "<class 'networkx.classes.graph.Graph'>"
10530
  }
10531
  }
10532
- },
10533
  "name": "Discard loop edges",
10534
- "outputs": {
10535
- "output": {
10536
  "name": "output",
10537
  "position": "right",
10538
  "type": {
10539
  "type": "None"
10540
  }
10541
  }
10542
- },
10543
- "params": {},
10544
  "type": "basic"
10545
  },
10546
  "params": {},
@@ -10567,18 +10567,18 @@
10567
  "in_progress": true,
10568
  "input_metadata": [],
10569
  "meta": {
10570
- "inputs": {},
10571
  "name": "NX \u203a Karate Club Graph",
10572
- "outputs": {
10573
- "output": {
10574
  "name": "output",
10575
  "position": "right",
10576
  "type": {
10577
  "type": "<class 'networkx.classes.graph.Graph'>"
10578
  }
10579
  }
10580
- },
10581
- "params": {},
10582
  "type": "basic"
10583
  },
10584
  "params": {},
@@ -11608,40 +11608,40 @@
11608
  }
11609
  ],
11610
  "meta": {
11611
- "inputs": {
11612
- "graph": {
11613
  "name": "graph",
11614
  "position": "left",
11615
  "type": {
11616
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
11617
  }
11618
  }
11619
- },
11620
  "name": "Visualize graph",
11621
- "outputs": {},
11622
- "params": {
11623
- "color_edges_by": {
11624
  "default": null,
11625
  "name": "color_edges_by",
11626
  "type": {
11627
  "format": "edge attribute"
11628
  }
11629
  },
11630
- "color_nodes_by": {
11631
  "default": null,
11632
  "name": "color_nodes_by",
11633
  "type": {
11634
  "format": "node attribute"
11635
  }
11636
  },
11637
- "label_by": {
11638
  "default": null,
11639
  "name": "label_by",
11640
  "type": {
11641
  "format": "node attribute"
11642
  }
11643
  }
11644
- },
11645
  "type": "visualization"
11646
  },
11647
  "params": {
@@ -11668,68 +11668,68 @@
11668
  "error": null,
11669
  "input_metadata": [],
11670
  "meta": {
11671
- "inputs": {},
11672
  "name": "NX \u203a Scale-Free Graph",
11673
- "outputs": {
11674
- "output": {
11675
  "name": "output",
11676
  "position": "right",
11677
  "type": {
11678
  "type": "<class 'networkx.classes.graph.Graph'>"
11679
  }
11680
  }
11681
- },
11682
- "params": {
11683
- "alpha": {
11684
  "default": "0.41",
11685
  "name": "alpha",
11686
  "type": {
11687
  "type": "<class 'float'>"
11688
  }
11689
  },
11690
- "beta": {
11691
  "default": "0.54",
11692
  "name": "beta",
11693
  "type": {
11694
  "type": "<class 'float'>"
11695
  }
11696
  },
11697
- "delta_in": {
11698
  "default": "0.2",
11699
  "name": "delta_in",
11700
  "type": {
11701
  "type": "<class 'float'>"
11702
  }
11703
  },
11704
- "delta_out": {
11705
  "default": "0",
11706
  "name": "delta_out",
11707
  "type": {
11708
  "type": "<class 'float'>"
11709
  }
11710
  },
11711
- "gamma": {
11712
  "default": "0.05",
11713
  "name": "gamma",
11714
  "type": {
11715
  "type": "<class 'float'>"
11716
  }
11717
  },
11718
- "n": {
11719
  "default": null,
11720
  "name": "n",
11721
  "type": {
11722
  "type": "<class 'int'>"
11723
  }
11724
  },
11725
- "seed": {
11726
  "default": null,
11727
  "name": "seed",
11728
  "type": {
11729
  "type": "int | None"
11730
  }
11731
  }
11732
- },
11733
  "type": "basic"
11734
  },
11735
  "params": {
@@ -11764,55 +11764,55 @@
11764
  {}
11765
  ],
11766
  "meta": {
11767
- "inputs": {
11768
- "G": {
11769
  "name": "G",
11770
  "position": "left",
11771
  "type": {
11772
  "type": "<class 'networkx.classes.graph.Graph'>"
11773
  }
11774
  }
11775
- },
11776
  "name": "NX \u203a PageRank",
11777
- "outputs": {
11778
- "output": {
11779
  "name": "output",
11780
  "position": "right",
11781
  "type": {
11782
  "type": "<class 'networkx.classes.graph.Graph'>"
11783
  }
11784
  }
11785
- },
11786
- "params": {
11787
- "alpha": {
11788
  "default": "0.85",
11789
  "name": "alpha",
11790
  "type": {
11791
  "type": "float | None"
11792
  }
11793
  },
11794
- "max_iter": {
11795
  "default": "100",
11796
  "name": "max_iter",
11797
  "type": {
11798
  "type": "int | None"
11799
  }
11800
  },
11801
- "tol": {
11802
  "default": "1e-06",
11803
  "name": "tol",
11804
  "type": {
11805
  "type": "float | None"
11806
  }
11807
  },
11808
- "weight": {
11809
  "default": "weight",
11810
  "name": "weight",
11811
  "type": {
11812
  "type": "str | None"
11813
  }
11814
  }
11815
- },
11816
  "type": "basic"
11817
  },
11818
  "params": {
 
531
  }
532
  ],
533
  "meta": {
534
+ "inputs": [
535
+ {
536
  "name": "graph",
537
  "position": "left",
538
  "type": {
539
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
540
  }
541
  }
542
+ ],
543
  "name": "Visualize graph",
544
+ "outputs": [],
545
+ "params": [
546
+ {
547
  "default": null,
548
  "name": "color_edges_by",
549
  "type": {
550
  "format": "edge attribute"
551
  }
552
  },
553
+ {
554
  "default": null,
555
  "name": "color_nodes_by",
556
  "type": {
557
  "format": "node attribute"
558
  }
559
  },
560
+ {
561
  "default": null,
562
  "name": "label_by",
563
  "type": {
564
  "format": "node attribute"
565
  }
566
  }
567
+ ],
568
  "type": "visualization"
569
  },
570
  "params": {
 
9730
  }
9731
  ],
9732
  "meta": {
9733
+ "inputs": [
9734
+ {
9735
  "name": "graph",
9736
  "position": "left",
9737
  "type": {
9738
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
9739
  }
9740
  }
9741
+ ],
9742
  "name": "Visualize graph",
9743
+ "outputs": [],
9744
+ "params": [
9745
+ {
9746
  "default": null,
9747
  "name": "color_edges_by",
9748
  "type": {
9749
  "format": "edge attribute"
9750
  }
9751
  },
9752
+ {
9753
  "default": null,
9754
  "name": "color_nodes_by",
9755
  "type": {
9756
  "format": "node attribute"
9757
  }
9758
  },
9759
+ {
9760
  "default": null,
9761
  "name": "label_by",
9762
  "type": {
9763
  "format": "node attribute"
9764
  }
9765
  }
9766
+ ],
9767
  "type": "visualization"
9768
  },
9769
  "params": {
 
9792
  "in_progress": true,
9793
  "input_metadata": [],
9794
  "meta": {
9795
+ "inputs": [],
9796
  "name": "NX \u203a Ladder Graph",
9797
+ "outputs": [
9798
+ {
9799
  "name": "output",
9800
  "position": "right",
9801
  "type": {
9802
  "type": "<class 'networkx.classes.graph.Graph'>"
9803
  }
9804
  }
9805
+ ],
9806
+ "params": [
9807
+ {
9808
  "default": null,
9809
  "name": "n",
9810
  "type": {
9811
  "type": "<class 'int'>"
9812
  }
9813
  }
9814
+ ],
9815
  "type": "basic"
9816
  },
9817
  "params": {
 
9842
  {}
9843
  ],
9844
  "meta": {
9845
+ "inputs": [
9846
+ {
9847
  "name": "graph",
9848
  "position": "left",
9849
  "type": {
9850
  "type": "<class 'networkx.classes.graph.Graph'>"
9851
  }
9852
  }
9853
+ ],
9854
  "name": "Sample graph",
9855
+ "outputs": [
9856
+ {
9857
  "name": "output",
9858
  "position": "right",
9859
  "type": {
9860
  "type": "None"
9861
  }
9862
  }
9863
+ ],
9864
+ "params": [
9865
+ {
9866
  "default": 100.0,
9867
  "name": "nodes",
9868
  "type": {
9869
  "type": "<class 'int'>"
9870
  }
9871
  }
9872
+ ],
9873
  "type": "basic"
9874
  },
9875
  "params": {
 
9900
  {}
9901
  ],
9902
  "meta": {
9903
+ "inputs": [
9904
+ {
9905
  "name": "graph",
9906
  "position": "left",
9907
  "type": {
9908
  "type": "<class 'networkx.classes.graph.Graph'>"
9909
  }
9910
  }
9911
+ ],
9912
  "name": "Sample graph",
9913
+ "outputs": [
9914
+ {
9915
  "name": "output",
9916
  "position": "right",
9917
  "type": {
9918
  "type": "None"
9919
  }
9920
  }
9921
+ ],
9922
+ "params": [
9923
+ {
9924
  "default": 100.0,
9925
  "name": "nodes",
9926
  "type": {
9927
  "type": "<class 'int'>"
9928
  }
9929
  }
9930
+ ],
9931
  "type": "basic"
9932
  },
9933
  "params": {
 
10409
  }
10410
  ],
10411
  "meta": {
10412
+ "inputs": [
10413
+ {
10414
  "name": "graph",
10415
  "position": "left",
10416
  "type": {
10417
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
10418
  }
10419
  }
10420
+ ],
10421
  "name": "Visualize graph",
10422
+ "outputs": [],
10423
+ "params": [
10424
+ {
10425
  "default": null,
10426
  "name": "color_edges_by",
10427
  "type": {
10428
  "format": "edge attribute"
10429
  }
10430
  },
10431
+ {
10432
  "default": null,
10433
  "name": "color_nodes_by",
10434
  "type": {
10435
  "format": "node attribute"
10436
  }
10437
  },
10438
+ {
10439
  "default": null,
10440
  "name": "label_by",
10441
  "type": {
10442
  "format": "node attribute"
10443
  }
10444
  }
10445
+ ],
10446
  "type": "visualization"
10447
  },
10448
  "params": {
 
10473
  {}
10474
  ],
10475
  "meta": {
10476
+ "inputs": [
10477
+ {
10478
  "name": "G",
10479
  "position": "left",
10480
  "type": {
10481
  "type": "<class 'networkx.classes.graph.Graph'>"
10482
  }
10483
  }
10484
+ ],
10485
  "name": "NX \u203a Core Number",
10486
+ "outputs": [
10487
+ {
10488
  "name": "output",
10489
  "position": "right",
10490
  "type": {
10491
  "type": "<class 'networkx.classes.graph.Graph'>"
10492
  }
10493
  }
10494
+ ],
10495
+ "params": [],
10496
  "type": "basic"
10497
  },
10498
  "params": {},
 
10521
  {}
10522
  ],
10523
  "meta": {
10524
+ "inputs": [
10525
+ {
10526
  "name": "graph",
10527
  "position": "left",
10528
  "type": {
10529
  "type": "<class 'networkx.classes.graph.Graph'>"
10530
  }
10531
  }
10532
+ ],
10533
  "name": "Discard loop edges",
10534
+ "outputs": [
10535
+ {
10536
  "name": "output",
10537
  "position": "right",
10538
  "type": {
10539
  "type": "None"
10540
  }
10541
  }
10542
+ ],
10543
+ "params": [],
10544
  "type": "basic"
10545
  },
10546
  "params": {},
 
10567
  "in_progress": true,
10568
  "input_metadata": [],
10569
  "meta": {
10570
+ "inputs": [],
10571
  "name": "NX \u203a Karate Club Graph",
10572
+ "outputs": [
10573
+ {
10574
  "name": "output",
10575
  "position": "right",
10576
  "type": {
10577
  "type": "<class 'networkx.classes.graph.Graph'>"
10578
  }
10579
  }
10580
+ ],
10581
+ "params": [],
10582
  "type": "basic"
10583
  },
10584
  "params": {},
 
11608
  }
11609
  ],
11610
  "meta": {
11611
+ "inputs": [
11612
+ {
11613
  "name": "graph",
11614
  "position": "left",
11615
  "type": {
11616
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
11617
  }
11618
  }
11619
+ ],
11620
  "name": "Visualize graph",
11621
+ "outputs": [],
11622
+ "params": [
11623
+ {
11624
  "default": null,
11625
  "name": "color_edges_by",
11626
  "type": {
11627
  "format": "edge attribute"
11628
  }
11629
  },
11630
+ {
11631
  "default": null,
11632
  "name": "color_nodes_by",
11633
  "type": {
11634
  "format": "node attribute"
11635
  }
11636
  },
11637
+ {
11638
  "default": null,
11639
  "name": "label_by",
11640
  "type": {
11641
  "format": "node attribute"
11642
  }
11643
  }
11644
+ ],
11645
  "type": "visualization"
11646
  },
11647
  "params": {
 
11668
  "error": null,
11669
  "input_metadata": [],
11670
  "meta": {
11671
+ "inputs": [],
11672
  "name": "NX \u203a Scale-Free Graph",
11673
+ "outputs": [
11674
+ {
11675
  "name": "output",
11676
  "position": "right",
11677
  "type": {
11678
  "type": "<class 'networkx.classes.graph.Graph'>"
11679
  }
11680
  }
11681
+ ],
11682
+ "params": [
11683
+ {
11684
  "default": "0.41",
11685
  "name": "alpha",
11686
  "type": {
11687
  "type": "<class 'float'>"
11688
  }
11689
  },
11690
+ {
11691
  "default": "0.54",
11692
  "name": "beta",
11693
  "type": {
11694
  "type": "<class 'float'>"
11695
  }
11696
  },
11697
+ {
11698
  "default": "0.2",
11699
  "name": "delta_in",
11700
  "type": {
11701
  "type": "<class 'float'>"
11702
  }
11703
  },
11704
+ {
11705
  "default": "0",
11706
  "name": "delta_out",
11707
  "type": {
11708
  "type": "<class 'float'>"
11709
  }
11710
  },
11711
+ {
11712
  "default": "0.05",
11713
  "name": "gamma",
11714
  "type": {
11715
  "type": "<class 'float'>"
11716
  }
11717
  },
11718
+ {
11719
  "default": null,
11720
  "name": "n",
11721
  "type": {
11722
  "type": "<class 'int'>"
11723
  }
11724
  },
11725
+ {
11726
  "default": null,
11727
  "name": "seed",
11728
  "type": {
11729
  "type": "int | None"
11730
  }
11731
  }
11732
+ ],
11733
  "type": "basic"
11734
  },
11735
  "params": {
 
11764
  {}
11765
  ],
11766
  "meta": {
11767
+ "inputs": [
11768
+ {
11769
  "name": "G",
11770
  "position": "left",
11771
  "type": {
11772
  "type": "<class 'networkx.classes.graph.Graph'>"
11773
  }
11774
  }
11775
+ ],
11776
  "name": "NX \u203a PageRank",
11777
+ "outputs": [
11778
+ {
11779
  "name": "output",
11780
  "position": "right",
11781
  "type": {
11782
  "type": "<class 'networkx.classes.graph.Graph'>"
11783
  }
11784
  }
11785
+ ],
11786
+ "params": [
11787
+ {
11788
  "default": "0.85",
11789
  "name": "alpha",
11790
  "type": {
11791
  "type": "float | None"
11792
  }
11793
  },
11794
+ {
11795
  "default": "100",
11796
  "name": "max_iter",
11797
  "type": {
11798
  "type": "int | None"
11799
  }
11800
  },
11801
+ {
11802
  "default": "1e-06",
11803
  "name": "tol",
11804
  "type": {
11805
  "type": "float | None"
11806
  }
11807
  },
11808
+ {
11809
  "default": "weight",
11810
  "name": "weight",
11811
  "type": {
11812
  "type": "str | None"
11813
  }
11814
  }
11815
+ ],
11816
  "type": "basic"
11817
  },
11818
  "params": {
examples/Word2vec.lynxkite.json CHANGED
@@ -6107,26 +6107,26 @@
6107
  }
6108
  ],
6109
  "meta": {
6110
- "inputs": {
6111
- "bundle": {
6112
  "name": "bundle",
6113
  "position": "left",
6114
  "type": {
6115
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
6116
  }
6117
  }
6118
- },
6119
  "name": "View vectors",
6120
- "outputs": {},
6121
- "params": {
6122
- "label_column": {
6123
  "default": "",
6124
  "name": "label_column",
6125
  "type": {
6126
  "type": "<class 'str'>"
6127
  }
6128
  },
6129
- "metric": {
6130
  "default": "euclidean",
6131
  "name": "metric",
6132
  "type": {
@@ -6149,35 +6149,35 @@
6149
  ]
6150
  }
6151
  },
6152
- "min_dist": {
6153
  "default": 0.1,
6154
  "name": "min_dist",
6155
  "type": {
6156
  "type": "<class 'float'>"
6157
  }
6158
  },
6159
- "n_neighbors": {
6160
  "default": 15.0,
6161
  "name": "n_neighbors",
6162
  "type": {
6163
  "type": "<class 'int'>"
6164
  }
6165
  },
6166
- "table_name": {
6167
  "default": "nodes",
6168
  "name": "table_name",
6169
  "type": {
6170
  "type": "<class 'str'>"
6171
  }
6172
  },
6173
- "vector_column": {
6174
  "default": "",
6175
  "name": "vector_column",
6176
  "type": {
6177
  "type": "<class 'str'>"
6178
  }
6179
  }
6180
- },
6181
  "type": "visualization"
6182
  },
6183
  "params": {
@@ -12267,26 +12267,26 @@
12267
  }
12268
  ],
12269
  "meta": {
12270
- "inputs": {
12271
- "bundle": {
12272
  "name": "bundle",
12273
  "position": "left",
12274
  "type": {
12275
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
12276
  }
12277
  }
12278
- },
12279
  "name": "View vectors",
12280
- "outputs": {},
12281
- "params": {
12282
- "label_column": {
12283
  "default": "",
12284
  "name": "label_column",
12285
  "type": {
12286
  "type": "<class 'str'>"
12287
  }
12288
  },
12289
- "metric": {
12290
  "default": "euclidean",
12291
  "name": "metric",
12292
  "type": {
@@ -12309,35 +12309,35 @@
12309
  ]
12310
  }
12311
  },
12312
- "min_dist": {
12313
  "default": 0.1,
12314
  "name": "min_dist",
12315
  "type": {
12316
  "type": "<class 'float'>"
12317
  }
12318
  },
12319
- "n_neighbors": {
12320
  "default": 15.0,
12321
  "name": "n_neighbors",
12322
  "type": {
12323
  "type": "<class 'int'>"
12324
  }
12325
  },
12326
- "table_name": {
12327
  "default": "nodes",
12328
  "name": "table_name",
12329
  "type": {
12330
  "type": "<class 'str'>"
12331
  }
12332
  },
12333
- "vector_column": {
12334
  "default": "",
12335
  "name": "vector_column",
12336
  "type": {
12337
  "type": "<class 'str'>"
12338
  }
12339
  }
12340
- },
12341
  "type": "visualization"
12342
  },
12343
  "params": {
@@ -12367,18 +12367,18 @@
12367
  "error": null,
12368
  "input_metadata": [],
12369
  "meta": {
12370
- "inputs": {},
12371
  "name": "Word2vec for the top 1000 words",
12372
- "outputs": {
12373
- "output": {
12374
  "name": "output",
12375
  "position": "right",
12376
  "type": {
12377
  "type": "None"
12378
  }
12379
  }
12380
- },
12381
- "params": {},
12382
  "type": "basic"
12383
  },
12384
  "params": {},
@@ -12405,34 +12405,34 @@
12405
  {}
12406
  ],
12407
  "meta": {
12408
- "inputs": {
12409
- "df": {
12410
  "name": "df",
12411
  "position": "left",
12412
  "type": {
12413
  "type": "<class 'pandas.core.frame.DataFrame'>"
12414
  }
12415
  }
12416
- },
12417
  "name": "Take first N",
12418
- "outputs": {
12419
- "output": {
12420
  "name": "output",
12421
  "position": "right",
12422
  "type": {
12423
  "type": "None"
12424
  }
12425
  }
12426
- },
12427
- "params": {
12428
- "n": {
12429
  "default": 10.0,
12430
  "name": "n",
12431
  "type": {
12432
  "type": "<class 'int'>"
12433
  }
12434
  }
12435
- },
12436
  "type": "basic"
12437
  },
12438
  "params": {
@@ -12461,34 +12461,34 @@
12461
  {}
12462
  ],
12463
  "meta": {
12464
- "inputs": {
12465
- "df": {
12466
  "name": "df",
12467
  "position": "left",
12468
  "type": {
12469
  "type": "<class 'pandas.core.frame.DataFrame'>"
12470
  }
12471
  }
12472
- },
12473
  "name": "Sample N",
12474
- "outputs": {
12475
- "output": {
12476
  "name": "output",
12477
  "position": "right",
12478
  "type": {
12479
  "type": "None"
12480
  }
12481
  }
12482
- },
12483
- "params": {
12484
- "n": {
12485
  "default": 10.0,
12486
  "name": "n",
12487
  "type": {
12488
  "type": "<class 'int'>"
12489
  }
12490
  }
12491
- },
12492
  "type": "basic"
12493
  },
12494
  "params": {
@@ -12939,26 +12939,26 @@
12939
  }
12940
  ],
12941
  "meta": {
12942
- "inputs": {
12943
- "bundle": {
12944
  "name": "bundle",
12945
  "position": "left",
12946
  "type": {
12947
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
12948
  }
12949
  }
12950
- },
12951
  "name": "View tables",
12952
- "outputs": {},
12953
- "params": {
12954
- "limit": {
12955
  "default": 100.0,
12956
  "name": "limit",
12957
  "type": {
12958
  "type": "<class 'int'>"
12959
  }
12960
  }
12961
- },
12962
  "position": {
12963
  "x": 356.0,
12964
  "y": 478.0
 
6107
  }
6108
  ],
6109
  "meta": {
6110
+ "inputs": [
6111
+ {
6112
  "name": "bundle",
6113
  "position": "left",
6114
  "type": {
6115
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
6116
  }
6117
  }
6118
+ ],
6119
  "name": "View vectors",
6120
+ "outputs": [],
6121
+ "params": [
6122
+ {
6123
  "default": "",
6124
  "name": "label_column",
6125
  "type": {
6126
  "type": "<class 'str'>"
6127
  }
6128
  },
6129
+ {
6130
  "default": "euclidean",
6131
  "name": "metric",
6132
  "type": {
 
6149
  ]
6150
  }
6151
  },
6152
+ {
6153
  "default": 0.1,
6154
  "name": "min_dist",
6155
  "type": {
6156
  "type": "<class 'float'>"
6157
  }
6158
  },
6159
+ {
6160
  "default": 15.0,
6161
  "name": "n_neighbors",
6162
  "type": {
6163
  "type": "<class 'int'>"
6164
  }
6165
  },
6166
+ {
6167
  "default": "nodes",
6168
  "name": "table_name",
6169
  "type": {
6170
  "type": "<class 'str'>"
6171
  }
6172
  },
6173
+ {
6174
  "default": "",
6175
  "name": "vector_column",
6176
  "type": {
6177
  "type": "<class 'str'>"
6178
  }
6179
  }
6180
+ ],
6181
  "type": "visualization"
6182
  },
6183
  "params": {
 
12267
  }
12268
  ],
12269
  "meta": {
12270
+ "inputs": [
12271
+ {
12272
  "name": "bundle",
12273
  "position": "left",
12274
  "type": {
12275
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
12276
  }
12277
  }
12278
+ ],
12279
  "name": "View vectors",
12280
+ "outputs": [],
12281
+ "params": [
12282
+ {
12283
  "default": "",
12284
  "name": "label_column",
12285
  "type": {
12286
  "type": "<class 'str'>"
12287
  }
12288
  },
12289
+ {
12290
  "default": "euclidean",
12291
  "name": "metric",
12292
  "type": {
 
12309
  ]
12310
  }
12311
  },
12312
+ {
12313
  "default": 0.1,
12314
  "name": "min_dist",
12315
  "type": {
12316
  "type": "<class 'float'>"
12317
  }
12318
  },
12319
+ {
12320
  "default": 15.0,
12321
  "name": "n_neighbors",
12322
  "type": {
12323
  "type": "<class 'int'>"
12324
  }
12325
  },
12326
+ {
12327
  "default": "nodes",
12328
  "name": "table_name",
12329
  "type": {
12330
  "type": "<class 'str'>"
12331
  }
12332
  },
12333
+ {
12334
  "default": "",
12335
  "name": "vector_column",
12336
  "type": {
12337
  "type": "<class 'str'>"
12338
  }
12339
  }
12340
+ ],
12341
  "type": "visualization"
12342
  },
12343
  "params": {
 
12367
  "error": null,
12368
  "input_metadata": [],
12369
  "meta": {
12370
+ "inputs": [],
12371
  "name": "Word2vec for the top 1000 words",
12372
+ "outputs": [
12373
+ {
12374
  "name": "output",
12375
  "position": "right",
12376
  "type": {
12377
  "type": "None"
12378
  }
12379
  }
12380
+ ],
12381
+ "params": [],
12382
  "type": "basic"
12383
  },
12384
  "params": {},
 
12405
  {}
12406
  ],
12407
  "meta": {
12408
+ "inputs": [
12409
+ {
12410
  "name": "df",
12411
  "position": "left",
12412
  "type": {
12413
  "type": "<class 'pandas.core.frame.DataFrame'>"
12414
  }
12415
  }
12416
+ ],
12417
  "name": "Take first N",
12418
+ "outputs": [
12419
+ {
12420
  "name": "output",
12421
  "position": "right",
12422
  "type": {
12423
  "type": "None"
12424
  }
12425
  }
12426
+ ],
12427
+ "params": [
12428
+ {
12429
  "default": 10.0,
12430
  "name": "n",
12431
  "type": {
12432
  "type": "<class 'int'>"
12433
  }
12434
  }
12435
+ ],
12436
  "type": "basic"
12437
  },
12438
  "params": {
 
12461
  {}
12462
  ],
12463
  "meta": {
12464
+ "inputs": [
12465
+ {
12466
  "name": "df",
12467
  "position": "left",
12468
  "type": {
12469
  "type": "<class 'pandas.core.frame.DataFrame'>"
12470
  }
12471
  }
12472
+ ],
12473
  "name": "Sample N",
12474
+ "outputs": [
12475
+ {
12476
  "name": "output",
12477
  "position": "right",
12478
  "type": {
12479
  "type": "None"
12480
  }
12481
  }
12482
+ ],
12483
+ "params": [
12484
+ {
12485
  "default": 10.0,
12486
  "name": "n",
12487
  "type": {
12488
  "type": "<class 'int'>"
12489
  }
12490
  }
12491
+ ],
12492
  "type": "basic"
12493
  },
12494
  "params": {
 
12939
  }
12940
  ],
12941
  "meta": {
12942
+ "inputs": [
12943
+ {
12944
  "name": "bundle",
12945
  "position": "left",
12946
  "type": {
12947
  "type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
12948
  }
12949
  }
12950
+ ],
12951
  "name": "View tables",
12952
+ "outputs": [],
12953
+ "params": [
12954
+ {
12955
  "default": 100.0,
12956
  "name": "limit",
12957
  "type": {
12958
  "type": "<class 'int'>"
12959
  }
12960
  }
12961
+ ],
12962
  "position": {
12963
  "x": 356.0,
12964
  "y": 478.0
examples/sql.lynxkite.json CHANGED
The diff for this file is too large to render. See raw diff
 
lynxkite-app/web/src/workspace/nodes/LynxKiteNode.tsx CHANGED
@@ -14,7 +14,7 @@ interface LynxKiteNodeProps {
14
  children: any;
15
  }
16
 
17
- function getHandles(inputs: object, outputs: object) {
18
  const handles: {
19
  position: "top" | "bottom" | "left" | "right";
20
  name: string;
@@ -23,10 +23,10 @@ function getHandles(inputs: object, outputs: object) {
23
  showLabel: boolean;
24
  type: "source" | "target";
25
  }[] = [];
26
- for (const e of Object.values(inputs)) {
27
  handles.push({ ...e, type: "target" });
28
  }
29
- for (const e of Object.values(outputs)) {
30
  handles.push({ ...e, type: "source" });
31
  }
32
  const counts = { top: 0, bottom: 0, left: 0, right: 0 };
@@ -53,7 +53,7 @@ function LynxKiteNodeComponent(props: LynxKiteNodeProps) {
53
  const reactFlow = useReactFlow();
54
  const data = props.data;
55
  const expanded = !data.collapsed;
56
- const handles = getHandles(data.meta?.value?.inputs || {}, data.meta?.value?.outputs || {});
57
  function titleClicked() {
58
  reactFlow.updateNodeData(props.id, { collapsed: expanded });
59
  }
 
14
  children: any;
15
  }
16
 
17
+ function getHandles(inputs: any[], outputs: any[]) {
18
  const handles: {
19
  position: "top" | "bottom" | "left" | "right";
20
  name: string;
 
23
  showLabel: boolean;
24
  type: "source" | "target";
25
  }[] = [];
26
+ for (const e of inputs) {
27
  handles.push({ ...e, type: "target" });
28
  }
29
+ for (const e of outputs) {
30
  handles.push({ ...e, type: "source" });
31
  }
32
  const counts = { top: 0, bottom: 0, left: 0, right: 0 };
 
53
  const reactFlow = useReactFlow();
54
  const data = props.data;
55
  const expanded = !data.collapsed;
56
+ const handles = getHandles(data.meta?.value?.inputs || [], data.meta?.value?.outputs || []);
57
  function titleClicked() {
58
  reactFlow.updateNodeData(props.id, { collapsed: expanded });
59
  }
lynxkite-app/web/src/workspace/nodes/NodeWithParams.tsx CHANGED
@@ -31,23 +31,21 @@ export function NodeWithParams(props: any) {
31
  __execution_delay: opts.delay || 0,
32
  });
33
  }
34
- const params = props.data?.params ? Object.entries(props.data.params) : [];
35
-
36
  return (
37
  <>
38
- {props.collapsed && params.length > 0 && (
39
  <div className="params-expander" onClick={() => setCollapsed(!collapsed)}>
40
  <Triangle className={`flippy ${collapsed ? "flippy-90" : ""}`} />
41
  </div>
42
  )}
43
  {!collapsed &&
44
- params.map(([name, value]) =>
45
- metaParams?.[name]?.type === "group" ? (
46
  <NodeGroupParameter
47
- key={name}
48
- value={value}
49
  data={props.data}
50
- meta={metaParams?.[name]}
51
  setParam={(name: string, value: any, opts?: UpdateOptions) =>
52
  setParam(name, value, opts || {})
53
  }
@@ -55,12 +53,14 @@ export function NodeWithParams(props: any) {
55
  />
56
  ) : (
57
  <NodeParameter
58
- name={name}
59
- key={name}
60
- value={value}
61
  data={props.data}
62
- meta={metaParams?.[name]}
63
- onChange={(value: any, opts?: UpdateOptions) => setParam(name, value, opts || {})}
 
 
64
  />
65
  ),
66
  )}
 
31
  __execution_delay: opts.delay || 0,
32
  });
33
  }
 
 
34
  return (
35
  <>
36
+ {props.collapsed && metaParams.length > 0 && (
37
  <div className="params-expander" onClick={() => setCollapsed(!collapsed)}>
38
  <Triangle className={`flippy ${collapsed ? "flippy-90" : ""}`} />
39
  </div>
40
  )}
41
  {!collapsed &&
42
+ metaParams.map((meta: any) =>
43
+ meta.type === "group" ? (
44
  <NodeGroupParameter
45
+ key={meta.name}
46
+ value={props.data.params[meta.name]}
47
  data={props.data}
48
+ meta={meta}
49
  setParam={(name: string, value: any, opts?: UpdateOptions) =>
50
  setParam(name, value, opts || {})
51
  }
 
53
  />
54
  ) : (
55
  <NodeParameter
56
+ name={meta.name}
57
+ key={meta.name}
58
+ value={props.data.params[meta.name]}
59
  data={props.data}
60
+ meta={meta}
61
+ onChange={(value: any, opts?: UpdateOptions) =>
62
+ setParam(meta.name, value, opts || {})
63
+ }
64
  />
65
  ),
66
  )}
lynxkite-core/src/lynxkite/core/executors/one_by_one.py CHANGED
@@ -46,7 +46,7 @@ def register(env: str, cache: bool = True):
46
  ops.EXECUTORS[env] = lambda ws: execute(ws, ops.CATALOGS[env], cache=cache)
47
 
48
 
49
- def get_stages(ws, catalog):
50
  """Inputs on top/bottom are batch inputs. We decompose the graph into a DAG of components along these edges."""
51
  nodes = {n.id: n for n in ws.nodes}
52
  batch_inputs = {}
@@ -57,8 +57,7 @@ def get_stages(ws, catalog):
57
  inputs.setdefault(edge.target, []).append(edge.source)
58
  node = nodes[edge.target]
59
  op = catalog[node.data.title]
60
- i = op.inputs[edge.targetHandle]
61
- if i.position in "top or bottom":
62
  batch_inputs.setdefault(edge.target, []).append(edge.source)
63
  stages = []
64
  for bt, bss in batch_inputs.items():
@@ -110,7 +109,7 @@ async def execute(ws: workspace.Workspace, catalog, cache=None):
110
  continue
111
  node.publish_error(None)
112
  # Start tasks for nodes that have no non-batch inputs.
113
- if all([i.position in "top or bottom" for i in op.inputs.values()]):
114
  tasks[node.id] = [NO_INPUT]
115
  batch_inputs = {}
116
  # Run the rest until we run out of tasks.
@@ -132,7 +131,7 @@ async def execute(ws: workspace.Workspace, catalog, cache=None):
132
  for task in ts:
133
  try:
134
  inputs = []
135
- for i in op.inputs.values():
136
  if i.position in "top or bottom":
137
  assert (n, i.name) in batch_inputs, f"{i.name} is missing"
138
  inputs.append(batch_inputs[(n, i.name)])
@@ -165,8 +164,7 @@ async def execute(ws: workspace.Workspace, catalog, cache=None):
165
  for edge in edges[node.id]:
166
  t = nodes[edge.target]
167
  op = catalog[t.data.title]
168
- i = op.inputs[edge.targetHandle]
169
- if i.position in "top or bottom":
170
  batch_inputs.setdefault((edge.target, edge.targetHandle), []).extend(
171
  results
172
  )
 
46
  ops.EXECUTORS[env] = lambda ws: execute(ws, ops.CATALOGS[env], cache=cache)
47
 
48
 
49
+ def get_stages(ws, catalog: ops.Catalog):
50
  """Inputs on top/bottom are batch inputs. We decompose the graph into a DAG of components along these edges."""
51
  nodes = {n.id: n for n in ws.nodes}
52
  batch_inputs = {}
 
57
  inputs.setdefault(edge.target, []).append(edge.source)
58
  node = nodes[edge.target]
59
  op = catalog[node.data.title]
60
+ if op.get_input(edge.targetHandle).position in "top or bottom":
 
61
  batch_inputs.setdefault(edge.target, []).append(edge.source)
62
  stages = []
63
  for bt, bss in batch_inputs.items():
 
109
  continue
110
  node.publish_error(None)
111
  # Start tasks for nodes that have no non-batch inputs.
112
+ if all([i.position in "top or bottom" for i in op.inputs]):
113
  tasks[node.id] = [NO_INPUT]
114
  batch_inputs = {}
115
  # Run the rest until we run out of tasks.
 
131
  for task in ts:
132
  try:
133
  inputs = []
134
+ for i in op.inputs:
135
  if i.position in "top or bottom":
136
  assert (n, i.name) in batch_inputs, f"{i.name} is missing"
137
  inputs.append(batch_inputs[(n, i.name)])
 
164
  for edge in edges[node.id]:
165
  t = nodes[edge.target]
166
  op = catalog[t.data.title]
167
+ if op.get_input(edge.targetHandle).position in "top or bottom":
 
168
  batch_inputs.setdefault((edge.target, edge.targetHandle), []).extend(
169
  results
170
  )
lynxkite-core/src/lynxkite/core/executors/simple.py CHANGED
@@ -37,7 +37,7 @@ async def execute(ws: workspace.Workspace, catalog: ops.Catalog):
37
  try:
38
  inputs = []
39
  missing = []
40
- for i in op.inputs.values():
41
  edges = in_edges[node_id]
42
  if i.name in edges and edges[i.name] in outputs:
43
  inputs.append(outputs[edges[i.name]])
@@ -50,11 +50,11 @@ async def execute(ws: workspace.Workspace, catalog: ops.Catalog):
50
  result.output = await await_if_needed(result.output)
51
  result.display = await await_if_needed(result.display)
52
  if len(op.outputs) == 1:
53
- [output] = list(op.outputs.values())
54
  outputs[node_id, output.name] = result.output
55
  elif len(op.outputs) > 1:
56
  assert type(result.output) is dict, "An op with multiple outputs must return a dict"
57
- for output in op.outputs.values():
58
  outputs[node_id, output.name] = result.output[output.name]
59
  node.publish_result(result)
60
  except Exception as e:
 
37
  try:
38
  inputs = []
39
  missing = []
40
+ for i in op.inputs:
41
  edges = in_edges[node_id]
42
  if i.name in edges and edges[i.name] in outputs:
43
  inputs.append(outputs[edges[i.name]])
 
50
  result.output = await await_if_needed(result.output)
51
  result.display = await await_if_needed(result.display)
52
  if len(op.outputs) == 1:
53
+ [output] = op.outputs
54
  outputs[node_id, output.name] = result.output
55
  elif len(op.outputs) > 1:
56
  assert type(result.output) is dict, "An op with multiple outputs must return a dict"
57
+ for output in op.outputs:
58
  outputs[node_id, output.name] = result.output[output.name]
59
  node.publish_result(result)
60
  except Exception as e:
lynxkite-core/src/lynxkite/core/ops.py CHANGED
@@ -163,9 +163,9 @@ def _param_to_type(name, value, type):
163
  class Op(BaseConfig):
164
  func: typing.Callable = pydantic.Field(exclude=True)
165
  name: str
166
- params: dict[str, Parameter | ParameterGroup]
167
- inputs: dict[str, Input]
168
- outputs: dict[str, Output]
169
  # TODO: Make type an enum with the possible values.
170
  type: str = "basic" # The UI to use for this operation.
171
  color: str = "orange" # The color of the operation in the UI.
@@ -189,14 +189,26 @@ class Op(BaseConfig):
189
  res.display = res.output
190
  return res
191
 
192
- def convert_params(self, params):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  """Returns the parameters converted to the expected type."""
194
- res = {}
195
- for p in params:
196
- if p in self.params:
197
- res[p] = _param_to_type(p, params[p], self.params[p].type)
198
- else:
199
- res[p] = params[p]
200
  return res
201
 
202
 
@@ -218,21 +230,21 @@ def op(
218
  func = mem.cache(func)
219
  func = _global_slow(func)
220
  # Positional arguments are inputs.
221
- inputs = {
222
- name: Input(name=name, type=param.annotation)
223
  for name, param in sig.parameters.items()
224
  if param.kind not in (param.KEYWORD_ONLY, param.VAR_KEYWORD)
225
- }
226
- _params = {}
227
  for n, param in sig.parameters.items():
228
  if param.kind == param.KEYWORD_ONLY and not n.startswith("_"):
229
- _params[n] = Parameter.basic(n, param.default, param.annotation)
230
  if params:
231
- _params.update(params)
232
  if outputs:
233
- _outputs = {name: Output(name=name, type=None) for name in outputs}
234
  else:
235
- _outputs = {"output": Output(name="output", type=None)} if view == "basic" else {}
236
  _view = view
237
  if view == "matplotlib":
238
  _view = "image"
@@ -255,6 +267,7 @@ def op(
255
 
256
 
257
  def matplotlib_to_image(func):
 
258
  import matplotlib.pyplot as plt
259
  import base64
260
  import io
@@ -278,7 +291,7 @@ def input_position(**kwargs):
278
  def decorator(func):
279
  op = func.__op__
280
  for k, v in kwargs.items():
281
- op.inputs[k].position = v
282
  return func
283
 
284
  return decorator
@@ -290,7 +303,7 @@ def output_position(**kwargs):
290
  def decorator(func):
291
  op = func.__op__
292
  for k, v in kwargs.items():
293
- op.outputs[k].position = v
294
  return func
295
 
296
  return decorator
@@ -307,13 +320,9 @@ def register_passive_op(env: str, name: str, inputs=[], outputs=["output"], para
307
  op = Op(
308
  func=no_op,
309
  name=name,
310
- params={p.name: p for p in params},
311
- inputs=dict(
312
- (i, Input(name=i, type=None)) if isinstance(i, str) else (i.name, i) for i in inputs
313
- ),
314
- outputs=dict(
315
- (o, Output(name=o, type=None)) if isinstance(o, str) else (o.name, o) for o in outputs
316
- ),
317
  **kwargs,
318
  )
319
  CATALOGS.setdefault(env, {})
 
163
  class Op(BaseConfig):
164
  func: typing.Callable = pydantic.Field(exclude=True)
165
  name: str
166
+ params: list[Parameter | ParameterGroup]
167
+ inputs: list[Input]
168
+ outputs: list[Output]
169
  # TODO: Make type an enum with the possible values.
170
  type: str = "basic" # The UI to use for this operation.
171
  color: str = "orange" # The color of the operation in the UI.
 
189
  res.display = res.output
190
  return res
191
 
192
+ def get_input(self, name: str):
193
+ """Returns the input with the given name."""
194
+ for i in self.inputs:
195
+ if i.name == name:
196
+ return i
197
+ raise ValueError(f"Input {name} not found in operation {self.name}.")
198
+
199
+ def get_output(self, name: str):
200
+ """Returns the output with the given name."""
201
+ for o in self.outputs:
202
+ if o.name == name:
203
+ return o
204
+ raise ValueError(f"Output {name} not found in operation {self.name}.")
205
+
206
+ def convert_params(self, params: dict[str, typing.Any]):
207
  """Returns the parameters converted to the expected type."""
208
+ res = dict(params)
209
+ for p in self.params:
210
+ if p.name in params:
211
+ res[p.name] = _param_to_type(p.name, params[p.name], p.type)
 
 
212
  return res
213
 
214
 
 
230
  func = mem.cache(func)
231
  func = _global_slow(func)
232
  # Positional arguments are inputs.
233
+ inputs = [
234
+ Input(name=name, type=param.annotation)
235
  for name, param in sig.parameters.items()
236
  if param.kind not in (param.KEYWORD_ONLY, param.VAR_KEYWORD)
237
+ ]
238
+ _params = []
239
  for n, param in sig.parameters.items():
240
  if param.kind == param.KEYWORD_ONLY and not n.startswith("_"):
241
+ _params.append(Parameter.basic(n, param.default, param.annotation))
242
  if params:
243
+ _params.extend(params)
244
  if outputs:
245
+ _outputs = [Output(name=name, type=None) for name in outputs]
246
  else:
247
+ _outputs = [Output(name="output", type=None)] if view == "basic" else []
248
  _view = view
249
  if view == "matplotlib":
250
  _view = "image"
 
267
 
268
 
269
  def matplotlib_to_image(func):
270
+ """Decorator for converting a matplotlib figure to an image."""
271
  import matplotlib.pyplot as plt
272
  import base64
273
  import io
 
291
  def decorator(func):
292
  op = func.__op__
293
  for k, v in kwargs.items():
294
+ op.get_input(k).position = v
295
  return func
296
 
297
  return decorator
 
303
  def decorator(func):
304
  op = func.__op__
305
  for k, v in kwargs.items():
306
+ op.get_output(k).position = v
307
  return func
308
 
309
  return decorator
 
320
  op = Op(
321
  func=no_op,
322
  name=name,
323
+ params=params,
324
+ inputs=[Input(name=i, type=None) if isinstance(i, str) else i for i in inputs],
325
+ outputs=[Output(name=o, type=None) if isinstance(o, str) else o for o in outputs],
 
 
 
 
326
  **kwargs,
327
  )
328
  CATALOGS.setdefault(env, {})
lynxkite-core/src/lynxkite/core/workspace.py CHANGED
@@ -107,9 +107,9 @@ class Workspace(BaseConfig):
107
  for n in self.nodes:
108
  if n.id in _ops:
109
  for h in _ops[n.id].inputs:
110
- valid_targets.add((n.id, h))
111
  for h in _ops[n.id].outputs:
112
- valid_sources.add((n.id, h))
113
  edges = [
114
  edge
115
  for edge in self.edges
@@ -197,6 +197,7 @@ def update_metadata(ws: Workspace) -> Workspace:
197
  else:
198
  data.error = "Unknown operation."
199
  if hasattr(node, "_crdt"):
 
200
  node._crdt["data"]["error"] = "Unknown operation."
201
  return ws
202
 
 
107
  for n in self.nodes:
108
  if n.id in _ops:
109
  for h in _ops[n.id].inputs:
110
+ valid_targets.add((n.id, h.name))
111
  for h in _ops[n.id].outputs:
112
+ valid_sources.add((n.id, h.name))
113
  edges = [
114
  edge
115
  for edge in self.edges
 
197
  else:
198
  data.error = "Unknown operation."
199
  if hasattr(node, "_crdt"):
200
+ node._crdt["data"]["meta"] = {}
201
  node._crdt["data"]["error"] = "Unknown operation."
202
  return ws
203
 
lynxkite-core/tests/test_ops.py CHANGED
@@ -9,12 +9,12 @@ def test_op_decorator_no_params_no_types_default_positions():
9
  return a + b
10
 
11
  assert add.__op__.name == "add"
12
- assert add.__op__.params == {}
13
- assert add.__op__.inputs == {
14
- "a": ops.Input(name="a", type=inspect._empty, position="left"),
15
- "b": ops.Input(name="b", type=inspect._empty, position="left"),
16
- }
17
- assert add.__op__.outputs == {"result": ops.Output(name="result", type=None, position="right")}
18
  assert add.__op__.type == "basic"
19
  assert ops.CATALOGS["test"]["add"] == add.__op__
20
 
@@ -27,12 +27,12 @@ def test_op_decorator_custom_positions():
27
  return a + b
28
 
29
  assert add.__op__.name == "add"
30
- assert add.__op__.params == {}
31
- assert add.__op__.inputs == {
32
- "a": ops.Input(name="a", type=inspect._empty, position="right"),
33
- "b": ops.Input(name="b", type=inspect._empty, position="top"),
34
- }
35
- assert add.__op__.outputs == {"result": ops.Output(name="result", type=None, position="bottom")}
36
  assert add.__op__.type == "basic"
37
  assert ops.CATALOGS["test"]["add"] == add.__op__
38
 
@@ -43,16 +43,12 @@ def test_op_decorator_with_params_and_types_():
43
  return a * b
44
 
45
  assert multiply.__op__.name == "multiply"
46
- assert multiply.__op__.params == {
47
- "param": ops.Parameter(name="param", default="param", type=str)
48
- }
49
- assert multiply.__op__.inputs == {
50
- "a": ops.Input(name="a", type=int, position="left"),
51
- "b": ops.Input(name="b", type=float, position="left"),
52
- }
53
- assert multiply.__op__.outputs == {
54
- "result": ops.Output(name="result", type=None, position="right")
55
- }
56
  assert multiply.__op__.type == "basic"
57
  assert ops.CATALOGS["test"]["multiply"] == multiply.__op__
58
 
@@ -68,16 +64,14 @@ def test_op_decorator_with_complex_types():
68
  return color.name
69
 
70
  assert complex_op.__op__.name == "color_op"
71
- assert complex_op.__op__.params == {}
72
- assert complex_op.__op__.inputs == {
73
- "color": ops.Input(name="color", type=Color, position="left"),
74
- "color_list": ops.Input(name="color_list", type=list[Color], position="left"),
75
- "color_dict": ops.Input(name="color_dict", type=dict[str, Color], position="left"),
76
- }
77
  assert complex_op.__op__.type == "basic"
78
- assert complex_op.__op__.outputs == {
79
- "result": ops.Output(name="result", type=None, position="right")
80
- }
81
  assert ops.CATALOGS["test"]["color_op"] == complex_op.__op__
82
 
83
 
 
9
  return a + b
10
 
11
  assert add.__op__.name == "add"
12
+ assert add.__op__.params == []
13
+ assert add.__op__.inputs == [
14
+ ops.Input(name="a", type=inspect._empty, position="left"),
15
+ ops.Input(name="b", type=inspect._empty, position="left"),
16
+ ]
17
+ assert add.__op__.outputs == [ops.Output(name="result", type=None, position="right")]
18
  assert add.__op__.type == "basic"
19
  assert ops.CATALOGS["test"]["add"] == add.__op__
20
 
 
27
  return a + b
28
 
29
  assert add.__op__.name == "add"
30
+ assert add.__op__.params == []
31
+ assert add.__op__.inputs == [
32
+ ops.Input(name="a", type=inspect._empty, position="right"),
33
+ ops.Input(name="b", type=inspect._empty, position="top"),
34
+ ]
35
+ assert add.__op__.outputs == [ops.Output(name="result", type=None, position="bottom")]
36
  assert add.__op__.type == "basic"
37
  assert ops.CATALOGS["test"]["add"] == add.__op__
38
 
 
43
  return a * b
44
 
45
  assert multiply.__op__.name == "multiply"
46
+ assert multiply.__op__.params == [ops.Parameter(name="param", default="param", type=str)]
47
+ assert multiply.__op__.inputs == [
48
+ ops.Input(name="a", type=int, position="left"),
49
+ ops.Input(name="b", type=float, position="left"),
50
+ ]
51
+ assert multiply.__op__.outputs == [ops.Output(name="result", type=None, position="right")]
 
 
 
 
52
  assert multiply.__op__.type == "basic"
53
  assert ops.CATALOGS["test"]["multiply"] == multiply.__op__
54
 
 
64
  return color.name
65
 
66
  assert complex_op.__op__.name == "color_op"
67
+ assert complex_op.__op__.params == []
68
+ assert complex_op.__op__.inputs == [
69
+ ops.Input(name="color", type=Color, position="left"),
70
+ ops.Input(name="color_list", type=list[Color], position="left"),
71
+ ops.Input(name="color_dict", type=dict[str, Color], position="left"),
72
+ ]
73
  assert complex_op.__op__.type == "basic"
74
+ assert complex_op.__op__.outputs == [ops.Output(name="result", type=None, position="right")]
 
 
75
  assert ops.CATALOGS["test"]["color_op"] == complex_op.__op__
76
 
77
 
lynxkite-graph-analytics/src/lynxkite_graph_analytics/core.py CHANGED
@@ -150,7 +150,7 @@ def disambiguate_edges(ws: workspace.Workspace):
150
  for edge in reversed(ws.edges):
151
  dst_node = nodes[edge.target]
152
  op = catalog.get(dst_node.data.title)
153
- if op.inputs[edge.targetHandle].type == list[Bundle]:
154
  # Takes multiple bundles as an input. No need to disambiguate.
155
  continue
156
  if (edge.target, edge.targetHandle) in seen:
@@ -201,7 +201,7 @@ async def _execute_node(node, ws, catalog, outputs):
201
  # Convert inputs types to match operation signature.
202
  try:
203
  inputs = []
204
- for p in op.inputs.values():
205
  if p.name not in input_map:
206
  node.publish_error(f"Missing input: {p.name}")
207
  return
 
150
  for edge in reversed(ws.edges):
151
  dst_node = nodes[edge.target]
152
  op = catalog.get(dst_node.data.title)
153
+ if op.get_input(edge.targetHandle).type == list[Bundle]:
154
  # Takes multiple bundles as an input. No need to disambiguate.
155
  continue
156
  if (edge.target, edge.targetHandle) in seen:
 
201
  # Convert inputs types to match operation signature.
202
  try:
203
  inputs = []
204
+ for p in op.inputs:
205
  if p.name not in input_map:
206
  node.publish_error(f"Missing input: {p.name}")
207
  return
lynxkite-graph-analytics/src/lynxkite_graph_analytics/lynxkite_ops.py CHANGED
@@ -29,8 +29,8 @@ class FileFormat(enum.StrEnum):
29
 
30
  @op(
31
  "Import file",
32
- params={
33
- "file_format": ops.ParameterGroup(
34
  name="file_format",
35
  selector=ops.Parameter(name="file_format", type=FileFormat, default=FileFormat.csv),
36
  groups={
@@ -44,7 +44,7 @@ class FileFormat(enum.StrEnum):
44
  },
45
  default=FileFormat.csv,
46
  ),
47
- },
48
  )
49
  def import_file(
50
  *, file_path: str, table_name: str, file_format: FileFormat, **kwargs
 
29
 
30
  @op(
31
  "Import file",
32
+ params=[
33
+ ops.ParameterGroup(
34
  name="file_format",
35
  selector=ops.Parameter(name="file_format", type=FileFormat, default=FileFormat.csv),
36
  groups={
 
44
  },
45
  default=FileFormat.csv,
46
  ),
47
+ ],
48
  )
49
  def import_file(
50
  *, file_path: str, table_name: str, file_format: FileFormat, **kwargs
lynxkite-graph-analytics/src/lynxkite_graph_analytics/networkx_ops.py CHANGED
@@ -201,18 +201,19 @@ def _get_params(func) -> dict | None:
201
  types[k] = param.annotation
202
  if k in ["i", "j", "n"]:
203
  types[k] = int
204
- params = {}
205
  for name, param in sig.parameters.items():
206
  _type = types.get(name, _UNSUPPORTED)
207
  if _type is _UNSUPPORTED:
208
  raise UnsupportedParameterType(name)
209
  if _type is _SKIP or _type in [nx.Graph, nx.DiGraph]:
210
  continue
211
- params[name] = ops.Parameter.basic(
212
  name=name,
213
  default=str(param.default) if type(param.default) in [str, int, float] else None,
214
  type=_type,
215
  )
 
216
  return params
217
 
218
 
@@ -252,7 +253,7 @@ def register_networkx(env: str):
252
  params = _get_params(func)
253
  except UnsupportedParameterType:
254
  continue
255
- inputs = {k: ops.Input(name=k, type=nx.Graph) for k in func.graphs}
256
  nicename = "NX › " + name.replace("_", " ").title()
257
  for a, b in _REPLACEMENTS:
258
  nicename = nicename.replace(a, b)
@@ -261,7 +262,7 @@ def register_networkx(env: str):
261
  name=nicename,
262
  params=params,
263
  inputs=inputs,
264
- outputs={"output": ops.Output(name="output", type=nx.Graph)},
265
  type="basic",
266
  )
267
  cat[nicename] = op
 
201
  types[k] = param.annotation
202
  if k in ["i", "j", "n"]:
203
  types[k] = int
204
+ params = []
205
  for name, param in sig.parameters.items():
206
  _type = types.get(name, _UNSUPPORTED)
207
  if _type is _UNSUPPORTED:
208
  raise UnsupportedParameterType(name)
209
  if _type is _SKIP or _type in [nx.Graph, nx.DiGraph]:
210
  continue
211
+ p = ops.Parameter.basic(
212
  name=name,
213
  default=str(param.default) if type(param.default) in [str, int, float] else None,
214
  type=_type,
215
  )
216
+ params.append(p)
217
  return params
218
 
219
 
 
253
  params = _get_params(func)
254
  except UnsupportedParameterType:
255
  continue
256
+ inputs = [ops.Input(name=k, type=nx.Graph) for k in func.graphs]
257
  nicename = "NX › " + name.replace("_", " ").title()
258
  for a, b in _REPLACEMENTS:
259
  nicename = nicename.replace(a, b)
 
262
  name=nicename,
263
  params=params,
264
  inputs=inputs,
265
+ outputs=[ops.Output(name="output", type=nx.Graph)],
266
  type="basic",
267
  )
268
  cat[nicename] = op
lynxkite-graph-analytics/src/lynxkite_graph_analytics/pytorch/pytorch_core.py CHANGED
@@ -20,9 +20,9 @@ def op(name, weights=False, **kwargs):
20
  def decorator(func):
21
  _op(func)
22
  op = func.__op__
23
- for p in op.inputs.values():
24
  p.position = "bottom"
25
- for p in op.outputs.values():
26
  p.position = "top"
27
  return func
28
 
@@ -302,8 +302,8 @@ class ModelBuilder:
302
 
303
  def run_op(self, node_id: str, op: ops.Op, params) -> Layer:
304
  """Returns the layer produced by this op."""
305
- inputs = [_to_id(*i) for n in op.inputs for i in self.in_edges[node_id][n]]
306
- outputs = [_to_id(node_id, n) for n in op.outputs]
307
  if op.func == ops.no_op:
308
  module = torch.nn.Identity()
309
  else:
 
20
  def decorator(func):
21
  _op(func)
22
  op = func.__op__
23
+ for p in op.inputs:
24
  p.position = "bottom"
25
+ for p in op.outputs:
26
  p.position = "top"
27
  return func
28
 
 
302
 
303
  def run_op(self, node_id: str, op: ops.Op, params) -> Layer:
304
  """Returns the layer produced by this op."""
305
+ inputs = [_to_id(*i) for n in op.inputs for i in self.in_edges[node_id][n.name]]
306
+ outputs = [_to_id(node_id, n.name) for n in op.outputs]
307
  if op.func == ops.no_op:
308
  module = torch.nn.Identity()
309
  else:
lynxkite-graph-analytics/src/lynxkite_graph_analytics/pytorch/pytorch_ops.py CHANGED
@@ -150,9 +150,9 @@ ops.register_passive_op(
150
 
151
  def _set_handle_positions(op):
152
  op: ops.Op = op.__op__
153
- for v in op.outputs.values():
154
  v.position = "top"
155
- for v in op.inputs.values():
156
  v.position = "bottom"
157
 
158
 
 
150
 
151
  def _set_handle_positions(op):
152
  op: ops.Op = op.__op__
153
+ for v in op.outputs:
154
  v.position = "top"
155
+ for v in op.inputs:
156
  v.position = "bottom"
157
 
158