@@ -128,13 +128,13 @@ extension Autoencoder {
128
128
let inputNormalized = input / 255.0
129
129
130
130
// Forward pass
131
- let z1 = inputNormalized ⊗ w1
131
+ let z1 = inputNormalized • w1
132
132
let h1 = tanh ( z1)
133
- let z2 = h1 ⊗ w2 + b2
133
+ let z2 = h1 • w2 + b2
134
134
let h2 = z2
135
- let z3 = h2 ⊗ w3
135
+ let z3 = h2 • w3
136
136
let h3 = tanh ( z3)
137
- let z4 = h3 ⊗ w4
137
+ let z4 = h3 • w4
138
138
let predictions = sigmoid ( z4)
139
139
let loss : Float = 0.5 * ( predictions - inputNormalized) . squared ( ) . mean ( )
140
140
return ( h2, loss, inputNormalized, predictions)
@@ -148,28 +148,28 @@ extension Autoencoder {
148
148
let batchSize = Tensor < Float > ( inputNormalized. shapeTensor [ 0 ] )
149
149
150
150
// Forward pass
151
- let z1 = inputNormalized ⊗ w1
151
+ let z1 = inputNormalized • w1
152
152
let h1 = tanh ( z1)
153
- let z2 = h1 ⊗ w2 + b2
153
+ let z2 = h1 • w2 + b2
154
154
let h2 = z2
155
- let z3 = h2 ⊗ w3
155
+ let z3 = h2 • w3
156
156
let h3 = tanh ( z3)
157
- let z4 = h3 ⊗ w4
157
+ let z4 = h3 • w4
158
158
let predictions = sigmoid ( z4)
159
159
160
160
// Backward pass
161
161
let dz4 = ( ( predictions - inputNormalized) / batchSize)
162
- let dw4 = h3. transposed ( withPermutations: 1 , 0 ) ⊗ dz4
162
+ let dw4 = h3. transposed ( withPermutations: 1 , 0 ) • dz4
163
163
164
164
let dz3 = matmul ( dz4, w4. transposed ( withPermutations: 1 , 0 ) ) * ( 1 - h3. squared ( ) )
165
- let dw3 = h2. transposed ( withPermutations: 1 , 0 ) ⊗ dz3
165
+ let dw3 = h2. transposed ( withPermutations: 1 , 0 ) • dz3
166
166
167
167
let dz2 = matmul ( dz3, w3. transposed ( withPermutations: 1 , 0 ) )
168
- let dw2 = h1. transposed ( withPermutations: 1 , 0 ) ⊗ dz2
168
+ let dw2 = h1. transposed ( withPermutations: 1 , 0 ) • dz2
169
169
let db2 = dz2. sum ( squeezingAxes: 0 )
170
170
171
171
let dz1 = matmul ( dz2, w2. transposed ( withPermutations: 1 , 0 ) ) * ( 1 - h1. squared ( ) )
172
- let dw1 = inputNormalized. transposed ( withPermutations: 1 , 0 ) ⊗ dz1
172
+ let dw1 = inputNormalized. transposed ( withPermutations: 1 , 0 ) • dz1
173
173
174
174
let loss : Float = 0.5 * ( predictions - inputNormalized) . squared ( ) . mean ( )
175
175
0 commit comments