Coder Social home page Coder Social logo

sweetwenwen / paleo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from talwalkarlab/paleo

0.0 0.0 0.0 418 KB

An analytical performance modeling tool for deep neural networks.

Home Page: https://talwalkarlab.github.io/paleo/

License: Apache License 2.0

Shell 3.56% Python 96.37% Makefile 0.08%

paleo's Introduction

Paleo

Build Status License

Paleo is an analytical model to estimate the scalability and performance of deep learning systems. It can be used to

  • efficiently explore the space of scalable deep learning systems,
  • quickly diagnose their effectiveness for a given problem instance.

Live demo

Getting Started

Installation

Paleo uses the following dependencies:

  • numpy
  • click
  • six
  • cuDNN (Optional. Use --use_only_gemm to disable cuDNN heuristics)

Use pip to install the depenencies with the pinned versions:

pip install -r requirements.txt

Tested with Python 2.7, cuDNN v4 on Ubuntu 14.04.

To install Paleo, run the following command in the cloned directory:

python setup.py install

Usage

Paleo provides programmatic APIs to retrieve runtime estimations.

The following is an example of estimating SGD executions under strong scaling.

from paleo.profilers import BaseProfiler

class SGDProfiler(BaseProfiler):
    def __init__(self, filename):
        super(SGDProfiler, self).__init__(filename)

    def simulate(self, workers, batch_size=128):
        fwd_time, params_in_bytes = self.estimate_forward(batch_size //
                                                          workers)
        bwd_time = self.estimate_backward(batch_size // workers)
        update_time = self.estimate_update(params_in_bytes)

        t_comp = fwd_time + bwd_time + update_time
        t_comm = self.estimate_comm(workers, params_in_bytes)
        return t_comp + t_comm

Definitions

Model Architectures

Paleo uses a special json format to for model architecture specification. Predefined architectures can be found under the nets/ directory. Paleo also provides a convertor for Caffe prototxt format (see nets/caffe/ for details).

  • AlexNet v2
  • Inception v3
  • NiN
  • Overfeat
  • VGG-16
  • ResNet-50 (from Caffe spec)
  • DenseNet (from Caffe spec)

Hardware

Predefined hardware specificiations are in paleo/device.py.

Reference Paper

Hang Qi, Evan R. Sparks, and Ameet Talwalkar. Paleo: A Performance Model for Deep Neural Networks. International Conference on Learning Representations (ICLR), 2017.

@inproceedings{qi17paleo,
  author={Hang Qi and Evan R. Sparks and Ameet Talwalkar},
  booktitle={Proceedings of the International Conference on Learning Representations},
  title={Paleo: A Performance Model for Deep Neural Networks},
  year={2017}
}

License

Apache 2.0

paleo's People

Contributors

gaul avatar hang-qi avatar

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.