Memory Monitor and Net Visualizer for Deep Neural Network
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
exp
xinshuo_toolbox @ d26261c
.gitignore
.gitmodules
LICENSE
README.md
__init__paths__.py
cpm_example.py
dqn_example.py
face_cpm_example.py
memory_chart.png
model_graph.png
model_table.txt
network_info.png
test_example.py

README.md

Ramwatcher

A very lightweight deep learning tool for monitoring data flow, parameter size and their corresponding memory usage throughout deep neural network. This tool doesn't need any powerful computational resource (eg. GPU). And it's very easy to use since it follows many similar rules in popular deep learning frameworks (Caffe, Tensorflow, Torch)

Usage:

1. clone the github repository recursively including xinshuo_toolbox.

git clone --recursive https://github.com/xinshuoweng/ramwatcher

2. install dependency for the toolbox.

cd ramwatcher/xinshuo_toolbox
pip install -r requirements.txt

3. define the network and print the memory info (one might want to look at example.py first for a quick and simple instruction).

cd ..
python example.py

Example Result:

Network Info Table:

Network Info Table

Memory Usage Pie Chart:

Memory Usage Pie Chart

Model Graph:

Model Graph

Limitation:

1. Only basic layers (Convolution, Pooling, Activation, Dense, Concat) are supported right now. More layers will be added in the future.
2. Add prototxt parse function in the future.