Résumés des modèles

Un résumé fournit des détails sur l'architecture d'un modèle, tels que les types de calques et les formes.

La proposition de conception peut être trouvée ici . Cette implémentation est un WIP, veuillez donc signaler un problème avec les améliorations que vous aimeriez voir ou les problèmes que vous rencontrez.

Affichage d'un résumé d'un modèle

Créez un appareil et un modèle X10.

import TensorFlow

public struct MyModel: Layer {
  public var dense1 = Dense<Float>(inputSize: 1, outputSize: 1)
  public var dense2 = Dense<Float>(inputSize: 4, outputSize: 4)
  public var dense3 = Dense<Float>(inputSize: 4, outputSize: 4)
  public var flatten = Flatten<Float>()

  @differentiable
  public func callAsFunction(_ input: Tensor<Float>) -> Tensor<Float> {
    let layer1 = dense1(input)
    let layer2 = layer1.reshaped(to: [1, 4])
    let layer3 = dense2(layer2)
    let layer4 = dense3(layer3)
    return flatten(layer4)
  }
}

let device = Device.defaultXLA
let model0 = MyModel()
let model = MyModel(copying: model0, to: device)

Créez un tenseur d'entrée.

let input = Tensor<Float>(repeating: 1, shape: [1, 4, 1, 1], on: device)

Générez un résumé de votre modèle.

let summary = model.summary(input: input)
print(summary)
Layer                           Output Shape         Attributes
=============================== ==================== ======================
Dense<Float>                    [1, 4, 1, 1]
Dense<Float>                    [1, 4]
Dense<Float>                    [1, 4]
Flatten<Float>                  [1, 4]