yangjunpro / paleo

An analytical performance modeling tool for deep neural networks.

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Paleo

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

Dependencies

  • Python 2.7 and packages in requirements.txt
  • cuDNN 4
  • TensorFlow 0.91

Tested on Ubuntu 14.04 workstations.

Usage

Paleo provides the following commands.

  • summary prints static characteristics of the given model architecture.
  • simulate simulates the scalability of the given model architecture.
  • profile performs layer-wise profiling of the given model architecture.
  • fullpass runs full-pass profiler with TensorFlow.

To get help on arguments to each command:

./paleo.sh [command] --help

To reproduce experiments presented in our paper submission:

./scripts/<exp_script>.sh

Definitions

Model Architectures

Paleo uses a special json format to for model architecture specification. Predefined architectures can be found under nets/ directory.

Model Architecture Files
AlexNet v2 alex_v2.json
Inception v3 inception_v3.json
NiN nin.json
Overfeat overfeat.json
VGG-16 vgg16.json

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. Under review for ICLR 2017.

License

Apache 2.0

1 The current version depends on TensorFlow for gathering emperical ground truth. We will make this optional in later releases.

About

An analytical performance modeling tool for deep neural networks.

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

License:Apache License 2.0


Languages

Language:Python 95.4%Language:Shell 4.6%