一个纯 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)