All Projects → Spenhouet → Tensorboard Aggregator

Spenhouet / Tensorboard Aggregator

Licence: mit
Aggregate multiple tensorboard runs to new summary or csv files

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tensorboard Aggregator

Onepanel
The open and extensible integrated development environment (IDE) for computer vision with built-in modules for model building, automated labeling, data processing, model training, hyperparameter tuning and workflow orchestration.
Stars: ✭ 428 (+409.52%)
Mutual labels:  tensorboard
Tensorflow cookbook
Code for Tensorflow Machine Learning Cookbook
Stars: ✭ 5,984 (+7023.81%)
Mutual labels:  tensorboard
Pytorch Auto Drive
Segmentation models (ERFNet, ENet, DeepLab, FCN...) and Lane detection models (SCNN, SAD, PRNet, RESA, LSTR...) based on PyTorch 1.6 with mixed precision training
Stars: ✭ 32 (-61.9%)
Mutual labels:  tensorboard
What If Tool
Source code/webpage/demos for the What-If Tool
Stars: ✭ 467 (+455.95%)
Mutual labels:  tensorboard
Cartoongan Tensorflow
Generate your own cartoon-style images with CartoonGAN (CVPR 2018), powered by TensorFlow 2.0 Alpha.
Stars: ✭ 587 (+598.81%)
Mutual labels:  tensorboard
Tf cnnvis
CNN visualization tool in TensorFlow
Stars: ✭ 769 (+815.48%)
Mutual labels:  tensorboard
Pytorch Unet
PyTorch implementation of the U-Net for image semantic segmentation with high quality images
Stars: ✭ 4,770 (+5578.57%)
Mutual labels:  tensorboard
Pytorch Book
PyTorch tutorials and fun projects including neural talk, neural style, poem writing, anime generation (《深度学习框架PyTorch:入门与实战》)
Stars: ✭ 9,546 (+11264.29%)
Mutual labels:  tensorboard
Pggan Pytorch
🔥🔥 PyTorch implementation of "Progressive growing of GANs (PGGAN)" 🔥🔥
Stars: ✭ 653 (+677.38%)
Mutual labels:  tensorboard
Tensorboardx
tensorboard for pytorch (and chainer, mxnet, numpy, ...)
Stars: ✭ 7,185 (+8453.57%)
Mutual labels:  tensorboard
Beholder
A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.
Stars: ✭ 472 (+461.9%)
Mutual labels:  tensorboard
Bmw Yolov4 Training Automation
This repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.
Stars: ✭ 533 (+534.52%)
Mutual labels:  tensorboard
Crayon
A language-agnostic interface to TensorBoard
Stars: ✭ 776 (+823.81%)
Mutual labels:  tensorboard
Jupyter tensorboard
Start Tensorboard in Jupyter Notebook
Stars: ✭ 446 (+430.95%)
Mutual labels:  tensorboard
Tfgraphviz
A visualization tool to show a TensorFlow's graph like TensorBoard
Stars: ✭ 40 (-52.38%)
Mutual labels:  tensorboard
Fast Srgan
A Fast Deep Learning Model to Upsample Low Resolution Videos to High Resolution at 30fps
Stars: ✭ 417 (+396.43%)
Mutual labels:  tensorboard
Bmw Tensorflow Training Gui
This repository allows you to get started with a gui based training a State-of-the-art Deep Learning model with little to no configuration needed! NoCode training with TensorFlow has never been so easy.
Stars: ✭ 736 (+776.19%)
Mutual labels:  tensorboard
Tensorboard Empty Scalar Hider
Chrome Extension of hiding empty scalar/panes in TensorBoard.
Stars: ✭ 81 (-3.57%)
Mutual labels:  tensorboard
Muzero General
MuZero
Stars: ✭ 1,187 (+1313.1%)
Mutual labels:  tensorboard
Hcn Prototypeloss Pytorch
Hierarchical Co-occurrence Network with Prototype Loss for Few-shot Learning (PyTorch)
Stars: ✭ 17 (-79.76%)
Mutual labels:  tensorboard

tensorboard-aggregator

This project contains an easy to use method to aggregate multiple tensorboard runs. The max, min, mean, median, standard deviation and variance of the scalars from multiple runs is saved either as new tensorboard summary or as .csv table.

Feature Overview

  • Aggregates scalars of multiple tensorboard files
  • Saves aggregates as new tensorboard summary or as .csv
  • Aggregate by any numpy function (default: max, min, mean, median, std, var)
  • Allows any number of subpath structures
  • Keeps step numbering
  • Saves wall time average per step

Setup and run configuration

  1. Download or clone repository files to your computer
  2. Go into repository folder
  3. Install requirements: pip3 install -r requirements.txt --upgrade
  4. You can now run the aggregation with: python aggregator.py

Parameters

Parameter Default Description
--path optional current working directory Path to folder containing runs
--subpaths optional ['test', 'train'] List of all subpaths
--output optional summary Possible values: summary, csv

Recommendation

  • Add the repository folder to the PATH (global environment variables).
  • Create an additional script file within the repository folder containing python static/path/to/aggregator.py
    • Script name: aggregate.sh / aggregate.bat / ... (depending on your OS)
    • Change default behavior via parameters
    • Do not change path parameter since this will by default be the path the script is run from
  • Workflow from here: Open folder with tensorboard files and call the script: aggregate files will be created for the current directory

Explanation

Example folder structure:

.
├── ...
├── test_param_xy      # Folder containing the runs for aggregation
│   ├── run_1          # Folder containing tensorboard files of one run
│   │   ├── test       # Subpath containing one tensorboard file
│   │   │   └── events.out.tfevents. ...
│   │   └── train   
│   │       └── events.out.tfevents. ...
│   ├── run_2
│   ├── ...
│   └── run_X
└── ...

The folder test_param_xy will be the base path (cd test_param_xy). The tensorboard summaries for the aggregation will be created by calling the aggregate script (containing: python static/path/to/aggregator.py --subpaths ['test', 'train'] --output summary)

The base folder contains multiple subfolders. Each subfolder contains the tensorboard files of different runs for the same model and configuration as all other subfolders.

The resulting folder structure for summary looks like this:

.
├── ...
├── test_param_xy
│   ├── ...
│   └── aggregate
│       ├── test
│       │   ├── max
│       │   │   └── test_param_xy 
│       │   │       └── events.out.tfevents. ...
│       │   ├── min
│       │   ├── mean
│       │   ├── median
│       │   └── std    
│       └── train
└── ...

Multiple aggregate summaries can be put together in one directory. Since the original base folder name is kept as subfolder to the aggregate function folder the summaries are distinguishable within tensorboard.

.
├── ...
├── max
│   ├── test_param_x
│   ├── test_param_y
│   ├── test_param_z
│   └── test_param_v 
├── min
├── mean
├── median
└── std   

The .csv table files for the aggregation will be created by calling the aggregate script (containing: python static/path/to/aggregator.py --subpaths ['test', 'train'] --output csv)

The resulting folder structure for summary looks like this:

.
├── ...
├── test_param_xy
│   ├── ...
│   └── aggregate
│       ├── test
│       │   ├── max_test_param_xy.csv
│       │   ├── min_test_param_xy.csv
│       │   ├── mean_test_param_xy.csv
│       │   ├── median_test_param_xy.csv
│       │   └── std_test_param_xy.csv
│       └── train
└── ...

The .csv files are primarily for latex plots.

Limitations

  • The aggregation only works for scalars and not for other types like histograms
  • All runs for one aggregation need the exact same tags. Basically the naming and number of scalar metrics needs to be equal for all runs.
  • All runs for one aggregation need the same steps. Basically the number of iterations, epochs and the saving frequency needs to be equal for all runs of one scalar.

Contributions

If there are potential problems (bugs, incompatibilities to newer library versions or to a OS) or feature requests, please create an GitHub issue here.

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].