概要では、レイヤーのタイプや形状など、モデルのアーキテクチャに関する詳細が提供されます。
デザイン提案書はここからご覧いただけます。この実装は 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]