Skip to content

Commit 9235d18

Browse files
committed
Documentation updates.
Added installation instructions for most prerequisites. Added a 'models' section to the docs (placeholders).
1 parent 027e3bd commit 9235d18

File tree

6 files changed

+99
-4
lines changed

6 files changed

+99
-4
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![Fathom: Reference Workloads for Modern Deep Learning](/fathom.png?raw=true)
1+
![Fathom: Reference Workloads for Modern Deep Learning](https://raw.githubusercontent.com/rdadolf/fathom/master/fathom.png)
22

33
[![build status](https://travis-ci.org/rdadolf/fathom.svg?branch=master)](https://travis-ci.org/rdadolf/fathom)
44
[![docs status](https://readthedocs.org/projects/fathom/badge/?version=latest)](http://fathom.readthedocs.io/en/latest/)

docs/assets/fathom.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,20 @@ body, h1, h2, h3, h4, h5, h6, legend {
44
font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica';
55
font-weight: 300;
66
}
7+
code {
8+
font-size: 95%;
9+
padding-top: 4px;
10+
}
711
/* Style all links in Fathom blue. */
812
a, a:visited {
913
color: #007da5;
1014
}
15+
/* Make the large headers more visible */
16+
h1 {
17+
padding-bottom: 5px;
18+
/*border-left: solid #007da5 1px;*/
19+
border-bottom: solid #007da5 1px;
20+
}
1121

1222
/***** Navigation Header *****/
1323
/* Remove the house icon near the title. */
@@ -41,3 +51,6 @@ a.icon-home { /* Desktop */
4151
.wy-menu-vertical a {
4252
color: #b3b3b3; /* Back to the default */
4353
}
54+
.wy-menu-vertical li.toctree-l3 a {
55+
color: #404040; /* Highlight the difference between h1's and h*'s */
56+
}

docs/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Functions are missing from `cv2`
22

3-
Unfortunately, the `cv2` package in PyPI is not OpenCV. It's a name-squatter who has managed to upload a useless, empty package. There are a couple of ways to install OpenCV:
3+
You've probably installed the wrong python library. Unfortunately, the `cv2` package in PyPI is not related to OpenCV at all. It's a name-squatter who has managed to upload a useless, empty package. There are a couple of ways to install OpenCV:
44

55
1. Install from source by following the directions on the [OpenCV website](http://docs.opencv.org/2.4.13/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation).
66
2. Install via apt: `sudo apt-get install python-opencv`.

docs/models.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Seq2Seq
2+
*Direct language-to-language sentence translation. State-of-the-art accuracy with a simple, language-agnostic architecture.*
3+
4+
# MemNet
5+
*Facebook's memory-oriented neural system. One of two novel architectures which explore a topology beyond feed-forward lattices of neurons.*
6+
7+
# Speech
8+
*Baidu's speech recognition engine. Proved purely deep-learned networks can beat hand-tuned systems.*
9+
10+
# Autoenc
11+
*Variational autoencoder. An efficient, generative model for feature learning.*
12+
13+
# Residual
14+
*Image classifier from Microsoft Research Asia. Dramatically increased the practical depth of convolutional networks. ILSVRC 2015 winner.*
15+
16+
# VGG
17+
*Image classifier demonstrating the power of small convolutional filters. ILSVRC 2014 winner.*
18+
19+
# AlexNet
20+
*Image classifier. Watershed for deep learning by beating hand-tuned image systems at ILSVRC 2012.*
21+
22+
# DeepQ
23+
*Atari-playing neural network from DeepMind. Achieves superhuman performance on majority of Atari2600 games, without any preconceptions.*

docs/quickstart.md

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,65 @@
1-
# Getting Fathom
1+
# Installing Prerequisites
22

3-
# Installing the Prerequisites
3+
Fathom requires a couple of core packages:
4+
5+
- Python 2.6+
6+
7+
## TensorFlow
8+
9+
- [TensorFlow 0.8.0rc0](https://github.com/tensorflow/tensorflow/releases/tag/v0.8.0rc0)
10+
11+
For TensorFlow, you can either download a pre-built binary or build from source. The latter is more involved, but can allow more flexibility in configuration (i.e.- you can pass specific options to the underlying math libraries which can affect performance). To build from source, you'll also need Bazel, Google's build system. Instructions can be found in the TensorFlow documentation (archived here):
12+
13+
- [TensorFlow installation using Pip](https://github.com/tensorflow/tensorflow/blob/v0.8.0rc0/tensorflow/g3doc/get_started/os_setup.md#pip-installation)
14+
- [TensorFlow installation from source](https://github.com/tensorflow/tensorflow/blob/v0.8.0rc0/tensorflow/g3doc/get_started/os_setup.md#installing-from-sources)
15+
16+
Due to API flux on Google's side, Fathom will not quite work with TensorFlow 0.9 or later. This is somewhat annoying, but if your application requires it, the changes required to make Fathom compatible are not extensive.
17+
18+
## Supporting libraries
19+
20+
Fathom needs several other python as well, mostly for pre-processing inputs. For all of these, you have your choice of methods for installing them:
21+
22+
- `apt-get`: (or your favorite Linux distribution's package manager) This is a quick route, but be careful of versioning. Sometimes distributions lag a fair ways behind in version numbers.
23+
- `pip`:
24+
- `conda`: If you're using an Anaconda distribution of python, this is probably your best bet for numpy, scipy, and scikit-learn. You'll need to use `pip` for librosa and tqdm, though (as Continuum doesn't support these packages).
25+
26+
You'll want to install the following list of packages. (You may have several of them installed already, and you shouldn't need to re-install—Fathom doesn't use any fancy features).
27+
28+
- numpy (most)
29+
- scipy (for scikit-learn)
30+
- scikit-learn ([MemNet](/models/#memnet), [Speech](/models/#speech), [Autoenc](/models/#autoenc))
31+
- six ([Seq2Seq](/models/#seq2seq))
32+
- librosa ([Speech](/models/#speech))
33+
- tqdm ([Speech](/models/#speech))
34+
- h5py* ([Speech](/models/#speech))
35+
36+
*For h5py, you'll also need libhdf5, which is the C++ backend for interfacing with HDF5-formatted files. This is usually available as a Linux package, but [building from source](https://support.hdfgroup.org/downloads/index.html) is also fine. Any recent version should work. In Ubuntu, the package you're looking for is `libhdf5-dev`.
37+
38+
## Atari emulation
39+
40+
[DeepQ](/models/#deepq) requires a bit more support than the other models. This is largely because it is interacting directly with a running Atari emulator. Consequently, you'll need both the emulator itself and OpenCV to run it.
41+
42+
The [Arcade Learning Environment (ALE)](http://www.arcadelearningenvironment.org/) is a clean, two-way interface between machine learning models and an Atari 2600 emulator. Installation instructions can be found in the [ALE Manual](https://github.com/mgbellemare/Arcade-Learning-Environment/raw/master/doc/manual/manual.pdf), but boil down to two steps: building the ALE C++ backend, and installing the python wrapper.
43+
44+
45+
[OpenCV](http://opencv.org/) is a collection of image processing and computational geometry functions designed to support computer vision. You'll need both a 2.x version of the backend library and also the python interface wrapper. Many Linux distributions have a package for both (Ubuntu's are `libopencv-dev` and `python-opencv`), but you can also [build from source ](http://docs.opencv.org/2.4.13/doc/tutorials/introduction/linux_install/linux_install.html) and then use `pip` to install the `opencv-python` wrapper.
446

547
# Downloading Data
648

49+
*In progress*
50+
751
# Running the Workloads
52+
53+
*In progress*
54+
55+
# Alternative: Quickstart via Docker
56+
57+
If you don't need accurate performance numbers right away, we also provide a pre-built Docker image to make it easy to get familiar with the Fathom workloads.
58+
59+
If you're not familiar with Docker, you can think of it as a lightweight virtualization layer, similar to a VM but at a higher level of abstraction. Installation instructions can be found on the [docker website](https://www.docker.com/). To run the Fathom image interactively, use this:
60+
61+
```sh
62+
docker run -it rdadolf/fathom
63+
```
64+
65+
The image will automatically be downloaded from the [docker hub](https://hub.docker.com/r/rdadolf/fathom/), launched, and you'll be given a shell prompt with the environment all set up.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ extra_css: [assets/fathom.css]
1010
pages:
1111
- 'Overview': index.md
1212
- 'Getting Started': quickstart.md
13+
- 'Models': models.md
1314
- 'Frequently Asked Questions': faq.md

0 commit comments

Comments
 (0)