DL4S-Tensorboard

一个纯 Swift 的 summary writer,用于 DL4S,可以写入 Tensorboard 的日志文件。

安装

Package.swift 中将 DL4S-Tensorboard 添加为 package 依赖项。

.package(url: "https://github.com/palle-k/DL4S.git", .branch("master")),
.package(url: "https://github.com/palle-k/DL4S-Tensorboard.git", .branch("master"))

然后将 DL4STensorboard 添加为 target 依赖项

.target(name: "YourAwesomeTarget", dependencies: ["DL4S", "DL4STensorboard"]),

用法

DL4S-Tensorboard 支持标量(Scalars)、图像(Images)、文本(Text)、嵌入(Embeddings)和直方图(Histograms)。

写入标量

import DL4STensorboard
import Foundation

let logdir = URL(fileURLWithPath: "./logs")

let writer = try TensorboardWriter(logDirectory: logdir, runName: "Classifier")

try writer.write(scalar: 101, withTag: "model/accuracy", atStep: 1337)

高级用法

// writing an image
try writer.write(image: imageTensor, withTag: "generator/output", atStep: 42)

// writing text
try writer.write(text: "Lorem ipsum dolor sit amet", withTag: "lm/sample", atStep: 314)

// writing embeddings
let embeddingLayer = DL4S.Embedding<Float, CPU>(inputFeatures: 42, outputSize: 128)
try writer.write(embedding: embeddingLayer.embeddingMatrix, withLabels: vocab, atStep: 1337)

// writing a histogram
let histogram = Histogram(values: valueDistribution, buckets: 10)
try writer.write(histogram: histogram, withTag: "data/histogram", atStep: 4242)