Code Monkey home page Code Monkey logo

bennch-plot's Introduction

beNNch-plot

This package provides standardized plotting routines. It is part of beNNch, however, it can also be used in a standalone fashion.

It is designed to work with performance benchmarking results stored in .csv files that adhere to a common naming convention.

Installation

pip

On the top level, run

pip install .

Alternatively, if you want to make changes on the fly (e.g. change plotting parameters), execute

pip install -e .

Both commands install beNNch-plot as package such that it can be used anywhere on your system via import bennchplot.

Using beNNch-plot

Conceptually, beNNch-plot adheres to a modular design philosophy. This means that arrangement of the created figure is not done internally but defineable on the surface level by the user. Concretely, this means that the user can provide their own axis objects, thereby retaining customization options such as setting titles and labels. For measures that are used by default in beNNch, default colors and labels are provided. This can be extended if desired.

Examples

Examples of how to use beNNch-plot are provided in ./examples. Here you can find examples for two models, the microcircuit and the multi-area-model. The necessary underlying performance results are given alongside.

microcircuit

The microcircuit serves as an example of a benchmark model that can be run across different numbers of virtual processes on a single node. After defining custom axes, microcircuit.py calls the two main plotting functions of beNNch-plot: plot_main for plotting simple line or error plots as plot_fractions to create a fill_between-style plot.

multi-area-model

In contrast to the microcircuit, the multi-area model showcases benchmarks across multiple number of nodes. While the basics are the same as for the microcircuit, an additional panel is created for showing the network construction time together with the state propagation time. Additionally, multi-area-model_ram.py gives a minimal example of how to plot other measurements than times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.