@@ -47,8 +47,7 @@ import _Differentiation
4747/// ````
4848public struct Sequential < Layer1: Module , Layer2: Layer > : Module
4949where
50- Layer1. Output == Layer2 . Input ,
51- Layer1. TangentVector. VectorSpaceScalar == Layer2 . TangentVector . VectorSpaceScalar
50+ Layer1. Output == Layer2 . Input
5251{
5352 public var layer1 : Layer1
5453 public var layer2 : Layer2
@@ -78,42 +77,28 @@ extension Sequential: Layer where Layer1: Layer {
7877/// A layer that sequentially composes 3 layers.
7978public typealias Sequential3 < L1: Module , L2: Layer , L3: Layer > = Sequential < L1 , Sequential < L2 , L3 > >
8079where
81- L1 . Output == L2 . Input, L2 . Output == L3 . Input,
82- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
83- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar
80+ L1 . Output == L2 . Input, L2 . Output == L3 . Input
8481
8582/// A layer that sequentially composes 4 layers.
8683public typealias Sequential4 < L1: Module , L2: Layer , L3: Layer , L4: Layer > = Sequential <
8784 L1 , Sequential < L2 , Sequential < L3 , L4 > >
8885>
8986where
90- L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input,
91- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
92- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
93- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar
87+ L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input
9488
9589/// A layer that sequentially composes 5 layers.
9690public typealias Sequential5 < L1: Module , L2: Layer , L3: Layer , L4: Layer , L5: Layer > = Sequential <
9791 L1 , Sequential < L2 , Sequential < L3 , Sequential < L4 , L5 > > >
9892>
9993where
100- L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
101- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
102- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
103- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
104- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar
94+ L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input
10595
10696/// A layer that sequentially composes 6 layers.
10797public typealias Sequential6 < L1: Module , L2: Layer , L3: Layer , L4: Layer , L5: Layer , L6: Layer > =
10898 Sequential < L1 , Sequential < L2 , Sequential < L3 , Sequential < L4 , Sequential < L5 , L6 > > > > >
10999where
110100 L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
111- L5 . Output == L6 . Input,
112- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
113- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
114- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
115- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar,
116- L5 . TangentVector. VectorSpaceScalar == L6 . TangentVector. VectorSpaceScalar
101+ L5 . Output == L6 . Input
117102
118103/// A layer that sequentially composes 7 layers.
119104public typealias Sequential7 <
@@ -123,13 +108,7 @@ public typealias Sequential7<
123108>
124109where
125110 L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
126- L5 . Output == L6 . Input, L6 . Output == L7 . Input,
127- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
128- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
129- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
130- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar,
131- L5 . TangentVector. VectorSpaceScalar == L6 . TangentVector. VectorSpaceScalar,
132- L6 . TangentVector. VectorSpaceScalar == L7 . TangentVector. VectorSpaceScalar
111+ L5 . Output == L6 . Input, L6 . Output == L7 . Input
133112
134113/// A layer that sequentially composes 8 layers.
135114public typealias Sequential8 <
@@ -140,14 +119,7 @@ public typealias Sequential8<
140119>
141120where
142121 L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
143- L5 . Output == L6 . Input, L6 . Output == L7 . Input, L7 . Output == L8 . Input,
144- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
145- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
146- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
147- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar,
148- L5 . TangentVector. VectorSpaceScalar == L6 . TangentVector. VectorSpaceScalar,
149- L6 . TangentVector. VectorSpaceScalar == L7 . TangentVector. VectorSpaceScalar,
150- L7 . TangentVector. VectorSpaceScalar == L8 . TangentVector. VectorSpaceScalar
122+ L5 . Output == L6 . Input, L6 . Output == L7 . Input, L7 . Output == L8 . Input
151123
152124/// A layer that sequentially composes 9 layers.
153125public typealias Sequential9 <
@@ -163,15 +135,7 @@ public typealias Sequential9<
163135>
164136where
165137 L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
166- L5 . Output == L6 . Input, L6 . Output == L7 . Input, L7 . Output == L8 . Input, L8 . Output == L9 . Input,
167- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
168- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
169- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
170- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar,
171- L5 . TangentVector. VectorSpaceScalar == L6 . TangentVector. VectorSpaceScalar,
172- L6 . TangentVector. VectorSpaceScalar == L7 . TangentVector. VectorSpaceScalar,
173- L7 . TangentVector. VectorSpaceScalar == L8 . TangentVector. VectorSpaceScalar,
174- L8 . TangentVector. VectorSpaceScalar == L9 . TangentVector. VectorSpaceScalar
138+ L5 . Output == L6 . Input, L6 . Output == L7 . Input, L7 . Output == L8 . Input, L8 . Output == L9 . Input
175139
176140/// A layer that sequentially composes 10 layers.
177141public typealias Sequential10 <
@@ -192,16 +156,7 @@ public typealias Sequential10<
192156where
193157 L1 . Output == L2 . Input, L2 . Output == L3 . Input, L3 . Output == L4 . Input, L4 . Output == L5 . Input,
194158 L5 . Output == L6 . Input, L6 . Output == L7 . Input, L7 . Output == L8 . Input, L8 . Output == L9 . Input,
195- L9 . Output == L10 . Input,
196- L1 . TangentVector. VectorSpaceScalar == L2 . TangentVector. VectorSpaceScalar,
197- L2 . TangentVector. VectorSpaceScalar == L3 . TangentVector. VectorSpaceScalar,
198- L3 . TangentVector. VectorSpaceScalar == L4 . TangentVector. VectorSpaceScalar,
199- L4 . TangentVector. VectorSpaceScalar == L5 . TangentVector. VectorSpaceScalar,
200- L5 . TangentVector. VectorSpaceScalar == L6 . TangentVector. VectorSpaceScalar,
201- L6 . TangentVector. VectorSpaceScalar == L7 . TangentVector. VectorSpaceScalar,
202- L7 . TangentVector. VectorSpaceScalar == L8 . TangentVector. VectorSpaceScalar,
203- L8 . TangentVector. VectorSpaceScalar == L9 . TangentVector. VectorSpaceScalar,
204- L9 . TangentVector. VectorSpaceScalar == L10 . TangentVector. VectorSpaceScalar
159+ L9 . Output == L10 . Input
205160
206161@resultBuilder
207162public struct LayerBuilder {
@@ -218,9 +173,7 @@ public struct LayerBuilder {
218173 -> Sequential < L1 , Sequential < L2 , L3 > >
219174 where
220175 L1. Output == L2 . Input ,
221- L2. Output == L3 . Input ,
222- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
223- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar
176+ L2. Output == L3 . Input
224177 {
225178 Sequential ( l1, Sequential ( l2, l3) )
226179 }
@@ -235,10 +188,7 @@ public struct LayerBuilder {
235188 where
236189 L1. Output == L2 . Input ,
237190 L2. Output == L3 . Input ,
238- L3. Output == L4 . Input ,
239- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
240- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
241- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar
191+ L3. Output == L4 . Input
242192 {
243193 Sequential ( l1, Sequential ( l2, Sequential ( l3, l4) ) )
244194 }
@@ -255,11 +205,7 @@ public struct LayerBuilder {
255205 L1. Output == L2 . Input ,
256206 L2. Output == L3 . Input ,
257207 L3. Output == L4 . Input ,
258- L4. Output == L5 . Input ,
259- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
260- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
261- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
262- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar
208+ L4. Output == L5 . Input
263209 {
264210 Sequential ( l1, Sequential ( l2, Sequential ( l3, Sequential ( l4, l5) ) ) )
265211 }
@@ -278,12 +224,7 @@ public struct LayerBuilder {
278224 L2. Output == L3 . Input ,
279225 L3. Output == L4 . Input ,
280226 L4. Output == L5 . Input ,
281- L5. Output == L6 . Input ,
282- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
283- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
284- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
285- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar ,
286- L5. TangentVector. VectorSpaceScalar == L6 . TangentVector . VectorSpaceScalar
227+ L5. Output == L6 . Input
287228 {
288229 Sequential ( l1, Sequential ( l2, Sequential ( l3, Sequential ( l4, Sequential ( l5, l6) ) ) ) )
289230 }
@@ -306,13 +247,7 @@ public struct LayerBuilder {
306247 L3. Output == L4 . Input ,
307248 L4. Output == L5 . Input ,
308249 L5. Output == L6 . Input ,
309- L6. Output == L7 . Input ,
310- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
311- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
312- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
313- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar ,
314- L5. TangentVector. VectorSpaceScalar == L6 . TangentVector . VectorSpaceScalar ,
315- L6. TangentVector. VectorSpaceScalar == L7 . TangentVector . VectorSpaceScalar
250+ L6. Output == L7 . Input
316251 {
317252 Sequential (
318253 l1, Sequential ( l2, Sequential ( l3, Sequential ( l4, Sequential ( l5, Sequential ( l6, l7) ) ) ) ) )
@@ -341,14 +276,7 @@ public struct LayerBuilder {
341276 L4. Output == L5 . Input ,
342277 L5. Output == L6 . Input ,
343278 L6. Output == L7 . Input ,
344- L7. Output == L8 . Input ,
345- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
346- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
347- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
348- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar ,
349- L5. TangentVector. VectorSpaceScalar == L6 . TangentVector . VectorSpaceScalar ,
350- L6. TangentVector. VectorSpaceScalar == L7 . TangentVector . VectorSpaceScalar ,
351- L7. TangentVector. VectorSpaceScalar == L8 . TangentVector . VectorSpaceScalar
279+ L7. Output == L8 . Input
352280 {
353281 Sequential (
354282 l1,
@@ -384,15 +312,7 @@ public struct LayerBuilder {
384312 L5. Output == L6 . Input ,
385313 L6. Output == L7 . Input ,
386314 L7. Output == L8 . Input ,
387- L8. Output == L9 . Input ,
388- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
389- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
390- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
391- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar ,
392- L5. TangentVector. VectorSpaceScalar == L6 . TangentVector . VectorSpaceScalar ,
393- L6. TangentVector. VectorSpaceScalar == L7 . TangentVector . VectorSpaceScalar ,
394- L7. TangentVector. VectorSpaceScalar == L8 . TangentVector . VectorSpaceScalar ,
395- L8. TangentVector. VectorSpaceScalar == L9 . TangentVector . VectorSpaceScalar
315+ L8. Output == L9 . Input
396316 {
397317 Sequential (
398318 l1,
@@ -438,16 +358,7 @@ public struct LayerBuilder {
438358 L6. Output == L7 . Input ,
439359 L7. Output == L8 . Input ,
440360 L8. Output == L9 . Input ,
441- L9. Output == L10 . Input ,
442- L1. TangentVector. VectorSpaceScalar == L2 . TangentVector . VectorSpaceScalar ,
443- L2. TangentVector. VectorSpaceScalar == L3 . TangentVector . VectorSpaceScalar ,
444- L3. TangentVector. VectorSpaceScalar == L4 . TangentVector . VectorSpaceScalar ,
445- L4. TangentVector. VectorSpaceScalar == L5 . TangentVector . VectorSpaceScalar ,
446- L5. TangentVector. VectorSpaceScalar == L6 . TangentVector . VectorSpaceScalar ,
447- L6. TangentVector. VectorSpaceScalar == L7 . TangentVector . VectorSpaceScalar ,
448- L7. TangentVector. VectorSpaceScalar == L8 . TangentVector . VectorSpaceScalar ,
449- L8. TangentVector. VectorSpaceScalar == L9 . TangentVector . VectorSpaceScalar ,
450- L9. TangentVector. VectorSpaceScalar == L10 . TangentVector . VectorSpaceScalar
361+ L9. Output == L10 . Input
451362 {
452363 Sequential (
453364 l1,
0 commit comments