Skip to content
This repository was archived by the owner on Jul 1, 2023. It is now read-only.

Commit c73af66

Browse files
committed
NFC: fix warnings related to VectorProtocol.VectorSpaceScalar.
`VectorProtocol.VectorSpaceScalar` was changed from an associated type to a hardcoded typealias for `Float`. Fix warnings related to this change.
1 parent eebf3c7 commit c73af66

File tree

4 files changed

+27
-129
lines changed

4 files changed

+27
-129
lines changed

Sources/TensorFlow/Layers/Sequential.swift

Lines changed: 17 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ import _Differentiation
4747
/// ````
4848
public struct Sequential<Layer1: Module, Layer2: Layer>: Module
4949
where
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.
7978
public typealias Sequential3<L1: Module, L2: Layer, L3: Layer> = Sequential<L1, Sequential<L2, L3>>
8079
where
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.
8683
public typealias Sequential4<L1: Module, L2: Layer, L3: Layer, L4: Layer> = Sequential<
8784
L1, Sequential<L2, Sequential<L3, L4>>
8885
>
8986
where
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.
9690
public typealias Sequential5<L1: Module, L2: Layer, L3: Layer, L4: Layer, L5: Layer> = Sequential<
9791
L1, Sequential<L2, Sequential<L3, Sequential<L4, L5>>>
9892
>
9993
where
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.
10797
public 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>>>>>
10999
where
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.
119104
public typealias Sequential7<
@@ -123,13 +108,7 @@ public typealias Sequential7<
123108
>
124109
where
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.
135114
public typealias Sequential8<
@@ -140,14 +119,7 @@ public typealias Sequential8<
140119
>
141120
where
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.
153125
public typealias Sequential9<
@@ -163,15 +135,7 @@ public typealias Sequential9<
163135
>
164136
where
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.
177141
public typealias Sequential10<
@@ -192,16 +156,7 @@ public typealias Sequential10<
192156
where
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
207162
public 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,

Sources/TensorFlow/Layers/Sequential.swift.gyb

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ import _Differentiation
4646
/// }
4747
/// ````
4848
public struct Sequential<Layer1: Module, Layer2: Layer>: Module
49-
where Layer1.Output == Layer2.Input,
50-
Layer1.TangentVector.VectorSpaceScalar == Layer2.TangentVector.VectorSpaceScalar {
49+
where Layer1.Output == Layer2.Input {
5150
public var layer1: Layer1
5251
public var layer2: Layer2
5352

@@ -94,8 +93,7 @@ def sequential_type(arity):
9493
%for n in SEQUENTIAL_ARITY_RANGE:
9594
/// A layer that sequentially composes ${n} layers.
9695
public typealias Sequential${n}<${generic_parameters(n, ", ")}> = ${sequential_type(n)}
97-
where ${", ".join(["L{}.Output == L{}.Input".format(i, i+1) for i in range(1, n)])},
98-
${", ".join(["L{}.TangentVector.VectorSpaceScalar == L{}.TangentVector.VectorSpaceScalar".format(i, i+1) for i in range(1, n)])}
96+
where ${", ".join(["L{}.Output == L{}.Input".format(i, i+1) for i in range(1, n)])}
9997

10098
%end
10199

@@ -112,9 +110,6 @@ public struct LayerBuilder {
112110
>(${", ".join(["_ l{}: L{}".format(i, i) for i in range(1, n+1)])})
113111
-> ${sequential_type(n)} where
114112
${",\n ".join(["L{}.Output == L{}.Input".format(i, i+1)
115-
for i in range(1, n)])},
116-
${",\n ".join(["L{}.TangentVector.VectorSpaceScalar == ".format(i) +
117-
"L{}.TangentVector.VectorSpaceScalar".format(i+1)
118113
for i in range(1, n)])}
119114
{
120115
${"".join(["Sequential(l{}, ".format(i) for i in range(1, n)])}l${n}${"".join([")" for _ in range(1, n)])}

Sources/TensorFlow/Optimizers/MomentumBased.swift

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ import Numerics
3333
public class RMSProp<Model: Differentiable>: Optimizer
3434
where
3535
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
36-
& ElementaryFunctions & KeyPathIterable,
37-
Model.TangentVector.VectorSpaceScalar == Float
36+
& ElementaryFunctions & KeyPathIterable
3837
{
3938
public typealias Model = Model
4039
/// The learning rate.
@@ -108,8 +107,7 @@ where
108107
public class AdaGrad<Model: Differentiable>: Optimizer
109108
where
110109
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
111-
& ElementaryFunctions & KeyPathIterable,
112-
Model.TangentVector.VectorSpaceScalar == Float
110+
& ElementaryFunctions & KeyPathIterable
113111
{
114112
public typealias Model = Model
115113
/// The learning rate.
@@ -169,8 +167,7 @@ where
169167
public class AdaDelta<Model: Differentiable>: Optimizer
170168
where
171169
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
172-
& ElementaryFunctions & KeyPathIterable,
173-
Model.TangentVector.VectorSpaceScalar == Float
170+
& ElementaryFunctions & KeyPathIterable
174171
{
175172
public typealias Model = Model
176173
/// The learning rate.
@@ -319,8 +316,7 @@ where
319316
public class Adam<Model: Differentiable>: Optimizer
320317
where
321318
Model.TangentVector: VectorProtocol & PointwiseMultiplicative
322-
& ElementaryFunctions & KeyPathIterable,
323-
Model.TangentVector.VectorSpaceScalar == Float
319+
& ElementaryFunctions & KeyPathIterable
324320
{
325321
public typealias Model = Model
326322
/// The learning rate.
@@ -403,8 +399,7 @@ where
403399
public class AdaMax<Model: Differentiable & KeyPathIterable>: Optimizer
404400
where
405401
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
406-
& KeyPathIterable,
407-
Model.TangentVector.VectorSpaceScalar == Float
402+
& KeyPathIterable
408403
{
409404
public typealias Model = Model
410405
/// The learning rate.
@@ -489,8 +484,7 @@ where
489484
public class AMSGrad<Model: Differentiable & KeyPathIterable>: Optimizer
490485
where
491486
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
492-
& KeyPathIterable,
493-
Model.TangentVector.VectorSpaceScalar == Float
487+
& KeyPathIterable
494488
{
495489
public typealias Model = Model
496490
/// The learning rate.
@@ -582,8 +576,7 @@ where
582576
public class RAdam<Model: Differentiable>: Optimizer
583577
where
584578
Model.TangentVector: VectorProtocol & PointwiseMultiplicative & ElementaryFunctions
585-
& KeyPathIterable,
586-
Model.TangentVector.VectorSpaceScalar == Float
579+
& KeyPathIterable
587580
{
588581
public typealias Model = Model
589582
/// The learning rate.

Sources/TensorFlow/Optimizers/SGD.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ import Numerics
3838
/// (Nesterov, 1983)
3939
public class SGD<Model: Differentiable>: Optimizer
4040
where
41-
Model.TangentVector: VectorProtocol & ElementaryFunctions & KeyPathIterable,
42-
Model.TangentVector.VectorSpaceScalar == Float
41+
Model.TangentVector: VectorProtocol & ElementaryFunctions & KeyPathIterable
4342
{
4443
public typealias Model = Model
4544
/// The learning rate.

0 commit comments

Comments
 (0)