Skip to content

KrakenCL/KrakenKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KrakenKit

scalars KrakenKit is swift package for tracking and logging your Tensor and export it in to TensorBoard visualization tool to represent:

  • Scalars
  • Images
  • Distributions
  • Histograms

HOW TO

There is How To repository with examples of use KrakenKit. Please, review it.

Download Swift for TensorFlow latest toolchain.

There is installation guide

Setup your environment

$ export PATH="${PATH}":/Library/Developer/Toolchains/swift-latest/usr/bin/

Add KrakenKit to your Package.swift file.

dependencies: [
.package(url: "https://github.com/KrakenCL/KrakenKit.git", from: "0.0.1")
],

Install PNG library

KrakenKit using libpng to make images. In that case you have to install it on your OS.

Install libpng and pkg-conf

On MacOS using brew:

$ brew install pkgconfig libpng

on Linux apt:

$ sudo apt install pkgconfig libpng

Add FileWriter and Summary to your project.

import KrakenKit

guard let fileWriterURL = URL(string: logFolder), let fileWriter = try? FileWriter(folder: fileWriterURL, identifier: "MNIST") else {
print("Can't prepare FileWriter.")
exit(0)
}

let summary = Summary()

# Add histogram
summary.histogram(tensor: classifier.layer1.weight, tag: "layer1/weight")
summary.histogram(tensor: classifier.layer2.bias, tag: "layer1/bias")

summary.add(scalar: accuracy, tag: "Accuracy")
summary.add(scalar: totalLoss, tag: "TotalLoss")

# Save Summary in log file 
try! fileWriter.add(summary: summary, step: epoch)

Select example

$ cd TensorBoardMNIST

Build package

$ /Library/Developer/Toolchains/swift-latest/usr/bin/swift build

Run package

$ /Library/Developer/Toolchains/swift-latest/usr/bin/swift run TensorBoardMNIST -r ./Resources/ -l /tmp/mnist/

Run TensorBoard

$ tensorboard --logdir=/tmp/mnist/

scalars scalars scalars scalars

Result output

Reading data.
Constructing data tensors.
[Epoch 0] Loss: 930.70416, Accuracy: 54404/60000 (0.90673333)
[Epoch 1] Loss: 471.11563, Accuracy: 57198/60000 (0.9533)
[Epoch 2] Loss: 385.83334, Accuracy: 57708/60000 (0.9618)
[Epoch 3] Loss: 341.75372, Accuracy: 57977/60000 (0.9662833)
[Epoch 4] Loss: 315.96713, Accuracy: 58138/60000 (0.96896666)
[Epoch 5] Loss: 295.0858, Accuracy: 58264/60000 (0.97106665)
[Epoch 6] Loss: 277.12878, Accuracy: 58376/60000 (0.97293335)
[Epoch 7] Loss: 260.66986, Accuracy: 58468/60000 (0.9744667)
[Epoch 8] Loss: 249.83846, Accuracy: 58549/60000 (0.97581667)
[Epoch 9] Loss: 236.19797, Accuracy: 58611/60000 (0.97685)
[Epoch 10] Loss: 226.43375, Accuracy: 58646/60000 (0.9774333)
[Epoch 11] Loss: 225.84409, Accuracy: 58620/60000 (0.977)
[Epoch 12] Loss: 220.47653, Accuracy: 58672/60000 (0.97786665)
[Epoch 13] Loss: 208.67802, Accuracy: 58705/60000 (0.9784167)
[Epoch 14] Loss: 214.70064, Accuracy: 58698/60000 (0.9783)
[Epoch 15] Loss: 205.07307, Accuracy: 58769/60000 (0.9794833)
[Epoch 16] Loss: 194.5632, Accuracy: 58824/60000 (0.9804)
[Epoch 17] Loss: 191.91891, Accuracy: 58828/60000 (0.98046666)
[Epoch 18] Loss: 191.05554, Accuracy: 58850/60000 (0.98083335)
[Epoch 19] Loss: 184.42844, Accuracy: 58903/60000 (0.9817167)

Generate Xcode porject file

$ /Library/Developer/Toolchains/swift-latest/usr/bin/swift package generate-xcodeproj

Setup project Check Toolchain Installation instruction.

  1. Set Xcode->Toolchains, select TensorFlow Swift Toolchains.
  2. File-> 'Project Settings...'-> Build system -> select 'Legay Build System'.