Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DeepNeuralNetwork {
- ...
- private func layersForward(X: Matrix) -> Matrix {
- var output = X
- for layer in layers {
- output = layer.forward(X: output)
- }
- return output
- }
- private func layersBackward(y: Matrix) {
- let m = Double(y.shape.columns)
- for layer in layers.reversed() {
- layer.backward(m: m, y: layer === layers.last ? y : nil)
- }
- }
- private func layersUpdate() {
- for layer in layers {
- layer.update(learningRate: learningRate)
- }
- }
- private func cost(yHat: Matrix, y: Matrix) -> Double {
- let logprobs = yHat.log() * y
- let cost = -logprobs.sum()
- return cost
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement