Skip to content
This repository was archived by the owner on Apr 23, 2025. It is now read-only.

Commit 2db6dd5

Browse files
committed
Rename AutoSequencedDefinition to AutoSequenced for naming concistency
1 parent e8fed5d commit 2db6dd5

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

Models/ImageClassification/ResNet.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ import LayerInit
2525
// The structure of this implementation was inspired by the Flax ResNet example:
2626
// https://github.com/google/flax/blob/master/examples/imagenet/models.py
2727

28-
public typealias AutoConvBN = AutoSequencedDefinition<AutoBatchNorm<(Int, Int, Int), Float>, AutoConv2D<Float>>
28+
public typealias AutoConvBN = AutoSequenced<AutoBatchNorm<(Int, Int, Int), Float>, AutoConv2D<Float>>
2929
public func autoConvBN(filterShape: (Int, Int), outputChannels: Int, strides: (Int, Int) = (1, 1), padding: Padding = .valid) -> AutoConvBN {
3030
return AutoBatchNorm<(Int, Int, Int), Float>(momentum: 0.9, epsilon: 1e-5)
3131
.then(AutoConv2D<Float>(filterShape: filterShape, outputChannels: outputChannels, strides: strides, padding: padding, useBias: false))
3232
}
3333

3434
// TODO(shadaj): OH NO
35-
public typealias ConvPlusResidual = AutoSplitMerge<AutoSequencedMany<AutoConvBN>, AutoSequencedDefinition<AutoSequencedMany<AutoSequencedDefinition<AutoConvBN, AutoFunction<Tensor<Float>, Tensor<Float>, AutoConv2D<Float>.OutputShape, AutoConv2D<Float>.OutputShape>>>, AutoConvBN>, Tensor<Float>, AutoBatchNorm<(Int, Int, Int), Float>.InputShape>
36-
public typealias AutoResidualBlock = AutoSequencedDefinition<ConvPlusResidual, AutoFunction<Tensor<Float>, Tensor<Float>, (Int, Int, Int), (Int, Int, Int)>>
35+
public typealias ConvPlusResidual = AutoSplitMerge<AutoSequencedMany<AutoConvBN>, AutoSequenced<AutoSequencedMany<AutoSequenced<AutoConvBN, AutoFunction<Tensor<Float>, Tensor<Float>, (Int, Int, Int), (Int, Int, Int)>>>, AutoConvBN>, Tensor<Float>, (Int, Int, Int)>
36+
public typealias AutoResidualBlock = AutoSequenced<ConvPlusResidual, AutoFunction<Tensor<Float>, Tensor<Float>, (Int, Int, Int), (Int, Int, Int)>>
3737
public func autoResidualBlock(inputFilters: Int, filters: Int, strides: (Int, Int), useLaterStride: Bool, isBasic: Bool) -> AutoResidualBlock {
3838
let outFilters = filters * (isBasic ? 1 : 4)
3939
let needsProjection = (inputFilters != outFilters) || (strides.0 != 1)
@@ -79,7 +79,7 @@ public func autoResidualBlock(inputFilters: Int, filters: Int, strides: (Int, In
7979
return convPlusResidual.then(AutoFunction(fnShape: { $0 }, fn: { (prev: Tensor<Float>) in relu(prev) }))
8080
}
8181

82-
public typealias AutoResNet = AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoConvBN, AutoFunction<Tensor<Float>, Tensor<Float>, AutoConv2D<Float>.OutputShape, AutoMaxPool2D<Float>.InputShape>>, AutoMaxPool2D<Float>>, AutoSequencedMany<AutoResidualBlock>>, AutoGlobalAvgPool2D<Float>>, AutoDense<Float>>
82+
public typealias AutoResNet = AutoSequenced<AutoSequenced<AutoSequenced<AutoSequenced<AutoSequenced<AutoConvBN, AutoFunction<Tensor<Float>, Tensor<Float>, AutoConv2D<Float>.OutputShape, AutoMaxPool2D<Float>.InputShape>>, AutoMaxPool2D<Float>>, AutoSequencedMany<AutoResidualBlock>>, AutoGlobalAvgPool2D<Float>>, AutoDense<Float>>
8383
public func autoResNet(
8484
classCount: Int, depth: ResNet.Depth, downsamplingInFirstStage: Bool = true,
8585
useLaterStride: Bool = true

Models/ImageClassification/VGG.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import LayerInit
2020
// Karen Simonyan, Andrew Zisserman
2121
// https://arxiv.org/abs/1409.1556
2222

23-
public typealias AutoVGGBlock = AutoSequencedDefinition<AutoSequencedMany<AutoConv2D<Float>>, AutoMaxPool2D<Float>>
23+
public typealias AutoVGGBlock = AutoSequenced<AutoSequencedMany<AutoConv2D<Float>>, AutoMaxPool2D<Float>>
2424
func makeVGGBlock(featureCounts: (Int, Int, Int, Int), blockCount: Int) -> AutoVGGBlock {
2525
var blocks: [AutoConv2D<Float>] = [
2626
AutoConv2D<Float>(filterShape: (3, 3), outputChannels: featureCounts.1,
@@ -37,8 +37,8 @@ func makeVGGBlock(featureCounts: (Int, Int, Int, Int), blockCount: Int) -> AutoV
3737
}
3838

3939
// TODO(shadaj): oh no
40-
public typealias AutoVGG16Backbone = AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoVGGBlock, AutoVGGBlock>, AutoVGGBlock>, AutoVGGBlock>, AutoVGGBlock>
41-
public typealias AutoVGG16 = AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoSequencedDefinition<AutoVGG16Backbone, AutoFlatten<Float>>, AutoDense<Float>>, AutoDense<Float>>, AutoDense<Float>>
40+
public typealias AutoVGG16Backbone = AutoSequenced<AutoSequenced<AutoSequenced<AutoSequenced<AutoVGGBlock, AutoVGGBlock>, AutoVGGBlock>, AutoVGGBlock>, AutoVGGBlock>
41+
public typealias AutoVGG16 = AutoSequenced<AutoSequenced<AutoSequenced<AutoSequenced<AutoVGG16Backbone, AutoFlatten<Float>>, AutoDense<Float>>, AutoDense<Float>>, AutoDense<Float>>
4242

4343
public func makeVGG16(classCount: Int = 1000) -> AutoVGG16 {
4444
let layer1 = makeVGGBlock(featureCounts: (3, 64, 64, 64), blockCount: 2)

Models/LayerInit/AutoSequenced.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import TensorFlow
22

3-
public struct AutoSequencedDefinition<Layer1: AutoLayer, Layer2: AutoLayer>: AutoLayer
3+
public struct AutoSequenced<Layer1: AutoLayer, Layer2: AutoLayer>: AutoLayer
44
where
55
Layer1.OutputShape == Layer2.InputShape,
66
Layer1.InstanceType.Output == Layer2.InstanceType.Input,
@@ -23,8 +23,8 @@ where
2323
}
2424

2525
extension AutoLayer {
26-
public func then<T: AutoLayer>(_ other: T) -> AutoSequencedDefinition<Self, T> {
27-
return AutoSequencedDefinition<Self, T>(first: self, second: other)
26+
public func then<T: AutoLayer>(_ other: T) -> AutoSequenced<Self, T> {
27+
return AutoSequenced<Self, T>(first: self, second: other)
2828
}
2929
}
3030

0 commit comments

Comments
 (0)