모델 요약

요약은 레이어 유형 및 모양과 같은 모델 아키텍처에 대한 세부 정보를 제공합니다.

디자인 제안은 여기에서 찾을 수 있습니다. 이 구현은 WIP이므로 보고 싶은 개선 사항이나 발생한 문제가 있는 문제를 제출해 주세요.

모델 요약 보기

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)

입력 텐서를 생성합니다.

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

모델 요약을 생성합니다.

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]