wuhp commited on
Commit
e22ea79
·
verified ·
1 Parent(s): 745834e

Update constants.ts

Browse files
Files changed (1) hide show
  1. constants.ts +266 -2
constants.ts CHANGED
@@ -11,7 +11,7 @@ export const LAYER_DEFINITIONS: Record<LayerType, LayerDefinition> = {
11
  category: 'Core',
12
  parameters: [
13
  { name: 'name', type: 'string', label: 'Name', default: 'input_1', description: 'Variable name in forward()' },
14
- { name: 'modality', type: 'select', label: 'Modality', default: 'Tensor', options: ['Tensor', 'Image', 'Text', 'Audio', 'Video', 'Latent', 'State', '3D Volume', 'Point Cloud', 'Radar', 'Lidar'] },
15
  { name: 'shape', type: 'string', label: 'Shape (e.g. 3,224,224)', default: '3, 224, 224' },
16
  { name: 'batch_size', type: 'number', label: 'Batch Size', default: 32 },
17
  { name: 'dtype', type: 'select', label: 'Data Type', default: 'float32', options: ['float32', 'int64', 'bool'] }
@@ -62,6 +62,249 @@ export const LAYER_DEFINITIONS: Record<LayerType, LayerDefinition> = {
62
  ]
63
  },
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  // --- VIDEO / GENERATION ---
66
  [LayerType.VIDEO_DIFFUSION_BLOCK]: {
67
  type: LayerType.VIDEO_DIFFUSION_BLOCK,
@@ -410,6 +653,17 @@ export const LAYER_DEFINITIONS: Record<LayerType, LayerDefinition> = {
410
  { name: 'embedding_dim', type: 'number', label: 'Embedding Dim', default: 512 }
411
  ]
412
  },
 
 
 
 
 
 
 
 
 
 
 
413
 
414
  // --- 3D / VISION ---
415
  [LayerType.NERF_BLOCK]: {
@@ -463,6 +717,16 @@ export const LAYER_DEFINITIONS: Record<LayerType, LayerDefinition> = {
463
  { name: 'sh_degree', type: 'number', label: 'SH Degree', default: 3 }
464
  ]
465
  },
 
 
 
 
 
 
 
 
 
 
466
 
467
  // --- MERGE ---
468
  [LayerType.CONCAT]: {
@@ -1311,4 +1575,4 @@ export const TEMPLATES: Record<string, GraphTemplate> = {
1311
  { id: '4', source: 'cat', target: 'unet' }, { id: '5', source: 'unet', target: 'out' }
1312
  ]
1313
  }
1314
- };
 
11
  category: 'Core',
12
  parameters: [
13
  { name: 'name', type: 'string', label: 'Name', default: 'input_1', description: 'Variable name in forward()' },
14
+ { name: 'modality', type: 'select', label: 'Modality', default: 'Tensor', options: ['Tensor', 'Image', 'Text', 'Audio', 'Video', 'Latent', 'State', '3D Volume', 'Point Cloud', 'Radar', 'Lidar', 'Graph', 'Molecule'] },
15
  { name: 'shape', type: 'string', label: 'Shape (e.g. 3,224,224)', default: '3, 224, 224' },
16
  { name: 'batch_size', type: 'number', label: 'Batch Size', default: 32 },
17
  { name: 'dtype', type: 'select', label: 'Data Type', default: 'float32', options: ['float32', 'int64', 'bool'] }
 
62
  ]
63
  },
64
 
65
+ // --- GRAPH NEURAL NETWORKS ---
66
+ [LayerType.GCN_CONV]: {
67
+ type: LayerType.GCN_CONV,
68
+ label: 'GCN Conv',
69
+ description: 'Graph Convolutional Network',
70
+ category: 'Graph',
71
+ parameters: [
72
+ { name: 'in_channels', type: 'number', label: 'In Channels', default: 16 },
73
+ { name: 'out_channels', type: 'number', label: 'Out Channels', default: 32 },
74
+ { name: 'improved', type: 'boolean', label: 'Improved GCN', default: false }
75
+ ]
76
+ },
77
+ [LayerType.GRAPH_SAGE]: {
78
+ type: LayerType.GRAPH_SAGE,
79
+ label: 'GraphSAGE',
80
+ description: 'Inductive Graph Learning',
81
+ category: 'Graph',
82
+ parameters: [
83
+ { name: 'in_channels', type: 'number', label: 'In Channels', default: 16 },
84
+ { name: 'out_channels', type: 'number', label: 'Out Channels', default: 32 },
85
+ { name: 'aggr', type: 'select', label: 'Aggregator', default: 'mean', options: ['mean', 'max', 'lstm'] }
86
+ ]
87
+ },
88
+ [LayerType.GAT_CONV]: {
89
+ type: LayerType.GAT_CONV,
90
+ label: 'GAT Conv',
91
+ description: 'Graph Attention Network',
92
+ category: 'Graph',
93
+ parameters: [
94
+ { name: 'in_channels', type: 'number', label: 'In Channels', default: 16 },
95
+ { name: 'out_channels', type: 'number', label: 'Out Channels', default: 8 },
96
+ { name: 'heads', type: 'number', label: 'Attention Heads', default: 4 },
97
+ { name: 'concat', type: 'boolean', label: 'Concat Heads', default: true }
98
+ ]
99
+ },
100
+ [LayerType.GIN_CONV]: {
101
+ type: LayerType.GIN_CONV,
102
+ label: 'GIN Conv',
103
+ description: 'Graph Isomorphism Network',
104
+ category: 'Graph',
105
+ parameters: [
106
+ { name: 'eps', type: 'number', label: 'Epsilon', default: 0 },
107
+ { name: 'train_eps', type: 'boolean', label: 'Train Epsilon', default: true }
108
+ ]
109
+ },
110
+
111
+ // --- PHYSICS & SCIML ---
112
+ [LayerType.NEURAL_ODE]: {
113
+ type: LayerType.NEURAL_ODE,
114
+ label: 'Neural ODE',
115
+ description: 'Continuous Depth Model',
116
+ category: 'Physics',
117
+ parameters: [
118
+ { name: 'hidden_dim', type: 'number', label: 'Hidden Dim', default: 64 },
119
+ { name: 'solver', type: 'select', label: 'Solver', default: 'dopri5', options: ['dopri5', 'rk4', 'euler'] }
120
+ ]
121
+ },
122
+ [LayerType.PINN_LINEAR]: {
123
+ type: LayerType.PINN_LINEAR,
124
+ label: 'PINN Linear',
125
+ description: 'Physics-Informed Linear Layer',
126
+ category: 'Physics',
127
+ parameters: [
128
+ { name: 'in_features', type: 'number', label: 'In Features', default: 32 },
129
+ { name: 'out_features', type: 'number', label: 'Out Features', default: 32 },
130
+ { name: 'constraint', type: 'text', label: 'Constraint Formula', default: 'grad(u, x) - f(x) = 0' }
131
+ ]
132
+ },
133
+ [LayerType.HAMILTONIAN_NN]: {
134
+ type: LayerType.HAMILTONIAN_NN,
135
+ label: 'Hamiltonian NN',
136
+ description: 'Conserves Energy/Momentum',
137
+ category: 'Physics',
138
+ parameters: [
139
+ { name: 'dim', type: 'number', label: 'Dimension', default: 2 },
140
+ { name: 'hidden_dim', type: 'number', label: 'Hidden Dim', default: 64 }
141
+ ]
142
+ },
143
+ [LayerType.PROTEIN_FOLDING]: {
144
+ type: LayerType.PROTEIN_FOLDING,
145
+ label: 'Protein Folding',
146
+ description: 'AlphaFold EvoFormer Block',
147
+ category: 'Physics',
148
+ parameters: [
149
+ { name: 'msa_dim', type: 'number', label: 'MSA Dim', default: 256 },
150
+ { name: 'pair_dim', type: 'number', label: 'Pair Dim', default: 128 },
151
+ { name: 'num_heads', type: 'number', label: 'Heads', default: 8 }
152
+ ]
153
+ },
154
+
155
+ // --- SPIKING & NEUROMORPHIC ---
156
+ [LayerType.LIF_NEURON]: {
157
+ type: LayerType.LIF_NEURON,
158
+ label: 'LIF Neuron',
159
+ description: 'Leaky Integrate-and-Fire',
160
+ category: 'Spiking',
161
+ parameters: [
162
+ { name: 'tau', type: 'number', label: 'Time Constant', default: 2.0 },
163
+ { name: 'v_threshold', type: 'number', label: 'Threshold', default: 1.0 },
164
+ { name: 'surrogate_grad', type: 'select', label: 'Surrogate Grad', default: 'fast_sigmoid', options: ['fast_sigmoid', 'arctan'] }
165
+ ]
166
+ },
167
+ [LayerType.SPIKING_LAYER]: {
168
+ type: LayerType.SPIKING_LAYER,
169
+ label: 'Spiking Dense',
170
+ description: 'Fully Connected SNN Layer',
171
+ category: 'Spiking',
172
+ parameters: [
173
+ { name: 'in_features', type: 'number', label: 'In Features', default: 128 },
174
+ { name: 'out_features', type: 'number', label: 'Out Features', default: 128 },
175
+ { name: 'spike_mode', type: 'boolean', label: 'Output Spikes', default: true }
176
+ ]
177
+ },
178
+
179
+ // --- REINFORCEMENT LEARNING ---
180
+ [LayerType.DUELING_HEAD]: {
181
+ type: LayerType.DUELING_HEAD,
182
+ label: 'Dueling Head',
183
+ description: 'Separates Value and Advantage',
184
+ category: 'RL',
185
+ parameters: [
186
+ { name: 'input_dim', type: 'number', label: 'Input Dim', default: 512 },
187
+ { name: 'action_dim', type: 'number', label: 'Action Dim', default: 4 }
188
+ ]
189
+ },
190
+ [LayerType.PPO_HEAD]: {
191
+ type: LayerType.PPO_HEAD,
192
+ label: 'PPO Actor-Critic',
193
+ description: 'Policy and Value Heads',
194
+ category: 'RL',
195
+ parameters: [
196
+ { name: 'hidden_dim', type: 'number', label: 'Hidden Dim', default: 256 },
197
+ { name: 'action_space', type: 'select', label: 'Action Space', default: 'Discrete', options: ['Discrete', 'Continuous'] }
198
+ ]
199
+ },
200
+ [LayerType.SAC_HEAD]: {
201
+ type: LayerType.SAC_HEAD,
202
+ label: 'SAC Head',
203
+ description: 'Soft Actor-Critic Output',
204
+ category: 'RL',
205
+ parameters: [
206
+ { name: 'hidden_dim', type: 'number', label: 'Hidden Dim', default: 256 },
207
+ { name: 'log_std_min', type: 'number', label: 'Min Log Std', default: -20 },
208
+ { name: 'log_std_max', type: 'number', label: 'Max Log Std', default: 2 }
209
+ ]
210
+ },
211
+
212
+ // --- ADVANCED / NICHE ---
213
+ [LayerType.CAPSULE]: {
214
+ type: LayerType.CAPSULE,
215
+ label: 'Capsule Layer',
216
+ description: 'Preserves spatial hierarchy',
217
+ category: 'Advanced',
218
+ parameters: [
219
+ { name: 'num_capsules', type: 'number', label: 'Num Capsules', default: 10 },
220
+ { name: 'capsule_dim', type: 'number', label: 'Capsule Dim', default: 16 },
221
+ { name: 'routings', type: 'number', label: 'Routing Iters', default: 3 }
222
+ ]
223
+ },
224
+ [LayerType.HYPER_NET]: {
225
+ type: LayerType.HYPER_NET,
226
+ label: 'HyperNetwork',
227
+ description: 'Generates weights for another NN',
228
+ category: 'Advanced',
229
+ parameters: [
230
+ { name: 'target_shape', type: 'string', label: 'Target Shape', default: '64,64' },
231
+ { name: 'embedding_dim', type: 'number', label: 'Z Dim', default: 32 }
232
+ ]
233
+ },
234
+ [LayerType.MAMBA_BLOCK]: {
235
+ type: LayerType.MAMBA_BLOCK,
236
+ label: 'Mamba (SSM)',
237
+ description: 'Selective State Space Model',
238
+ category: 'Advanced',
239
+ parameters: [
240
+ { name: 'd_model', type: 'number', label: 'D Model', default: 512 },
241
+ { name: 'd_state', type: 'number', label: 'State Dim', default: 16 },
242
+ { name: 'expand', type: 'number', label: 'Expansion', default: 2 }
243
+ ]
244
+ },
245
+ [LayerType.RWKV_BLOCK]: {
246
+ type: LayerType.RWKV_BLOCK,
247
+ label: 'RWKV Block',
248
+ description: 'RNN-Transformer Hybrid',
249
+ category: 'Advanced',
250
+ parameters: [
251
+ { name: 'n_embd', type: 'number', label: 'Embed Dim', default: 768 },
252
+ { name: 'n_layer', type: 'number', label: 'Layer Idx', default: 0 }
253
+ ]
254
+ },
255
+ [LayerType.HOPFIELD]: {
256
+ type: LayerType.HOPFIELD,
257
+ label: 'Hopfield Layer',
258
+ description: 'Dense Associative Memory',
259
+ category: 'Advanced',
260
+ parameters: [
261
+ { name: 'in_features', type: 'number', label: 'Features', default: 64 },
262
+ { name: 'stored_patterns', type: 'number', label: 'Pattern Capacity', default: 10 }
263
+ ]
264
+ },
265
+ [LayerType.NORMALIZING_FLOW]: {
266
+ type: LayerType.NORMALIZING_FLOW,
267
+ label: 'Normalizing Flow',
268
+ description: 'Invertible Generative Model',
269
+ category: 'Advanced',
270
+ parameters: [
271
+ { name: 'flow_type', type: 'select', label: 'Type', default: 'RealNVP', options: ['RealNVP', 'Glow', 'MAF'] },
272
+ { name: 'num_flows', type: 'number', label: 'Num Flows', default: 4 }
273
+ ]
274
+ },
275
+ [LayerType.DNC_MEMORY]: {
276
+ type: LayerType.DNC_MEMORY,
277
+ label: 'DNC Memory',
278
+ description: 'Differentiable Neural Computer',
279
+ category: 'Advanced',
280
+ parameters: [
281
+ { name: 'memory_size', type: 'number', label: 'Mem Slots', default: 128 },
282
+ { name: 'word_size', type: 'number', label: 'Word Size', default: 20 },
283
+ { name: 'num_read_heads', type: 'number', label: 'Read Heads', default: 4 }
284
+ ]
285
+ },
286
+ [LayerType.ARCFACE]: {
287
+ type: LayerType.ARCFACE,
288
+ label: 'ArcFace',
289
+ description: 'Metric Learning Loss',
290
+ category: 'Advanced',
291
+ parameters: [
292
+ { name: 's', type: 'number', label: 'Scale (s)', default: 64.0 },
293
+ { name: 'm', type: 'number', label: 'Margin (m)', default: 0.5 },
294
+ { name: 'num_classes', type: 'number', label: 'Classes', default: 1000 }
295
+ ]
296
+ },
297
+ [LayerType.ECHO_STATE]: {
298
+ type: LayerType.ECHO_STATE,
299
+ label: 'Reservoir (ESN)',
300
+ description: 'Echo State Network',
301
+ category: 'Advanced',
302
+ parameters: [
303
+ { name: 'reservoir_size', type: 'number', label: 'Reservoir Size', default: 1000 },
304
+ { name: 'spectral_radius', type: 'number', label: 'Spectral Radius', default: 0.9 }
305
+ ]
306
+ },
307
+
308
  // --- VIDEO / GENERATION ---
309
  [LayerType.VIDEO_DIFFUSION_BLOCK]: {
310
  type: LayerType.VIDEO_DIFFUSION_BLOCK,
 
653
  { name: 'embedding_dim', type: 'number', label: 'Embedding Dim', default: 512 }
654
  ]
655
  },
656
+ [LayerType.SINC_CONV]: {
657
+ type: LayerType.SINC_CONV,
658
+ label: 'SincConv',
659
+ description: 'Parametric Sinc Filters (Speech)',
660
+ category: 'Audio',
661
+ parameters: [
662
+ { name: 'out_channels', type: 'number', label: 'Filters', default: 80 },
663
+ { name: 'kernel_size', type: 'number', label: 'Kernel Size', default: 251 },
664
+ { name: 'min_low_hz', type: 'number', label: 'Min Hz', default: 50 }
665
+ ]
666
+ },
667
 
668
  // --- 3D / VISION ---
669
  [LayerType.NERF_BLOCK]: {
 
717
  { name: 'sh_degree', type: 'number', label: 'SH Degree', default: 3 }
718
  ]
719
  },
720
+ [LayerType.MESH_CONV]: {
721
+ type: LayerType.MESH_CONV,
722
+ label: 'Mesh Conv',
723
+ description: 'Convolution on 3D Meshes',
724
+ category: '3D',
725
+ parameters: [
726
+ { name: 'in_channels', type: 'number', label: 'In Channels', default: 3 },
727
+ { name: 'out_channels', type: 'number', label: 'Out Channels', default: 64 }
728
+ ]
729
+ },
730
 
731
  // --- MERGE ---
732
  [LayerType.CONCAT]: {
 
1575
  { id: '4', source: 'cat', target: 'unet' }, { id: '5', source: 'unet', target: 'out' }
1576
  ]
1577
  }
1578
+ };