Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tjadamlee authored Apr 16, 2020
1 parent 6d85def commit 6a35c67
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Our vision is to empower both industrial application and academic research on en

All of our models are implemented in Tensorflow>=2.0.0.

## Table of Contents
## 1) Table of Contents

- [Athena](#athena)
- [Table of Contents](#table-of-contents)
Expand All @@ -27,15 +27,15 @@ All of our models are implemented in Tensorflow>=2.0.0.
- [Results](#results)
- [Directory Structure](#directory-structure)

## Key Features
## 2) Key Features

- Hybrid CTC/Transformer based end-to-end ASR
- Speech-Transformer
- Unsupervised pretraining

## Installation
## 3) Installation

### 1) Creating a virtual environment [Optional]
### 3.1) Creating a virtual environment [Optional]

This project has only been tested on Python 3. We highly recommend creating a virtual environment and installing the python requirements there.

Expand All @@ -45,7 +45,7 @@ python -m venv venv_athena
source venv_athena/bin/activate
```

### 2) Install *tensorflow* backend
### 3.2) Install *tensorflow* backend

For more information, you can checkout the [tensorflow website](https://github.com/tensorflow/tensorflow)

Expand All @@ -55,12 +55,12 @@ pip install --upgrade pip
pip install tensorflow==2.0.0
```

### 3) Install *horovod* for multiple-device training [Optional]
### 3.3) Install *horovod* for multiple-device training [Optional]

For multiple GPU/CPU training
You have to install the *horovod*, you can find out more information from the [horovod website](https://github.com/horovod/horovod#install)

### 4) Install *athena* package
### 3.4) Install *athena* package

```bash
git clone https://github.com/athena-team/athena.git
Expand All @@ -73,7 +73,7 @@ python -m pip install --ignore-installed dist/athena-0.1.0*.whl
- Once athena is successfully installed , you should do `source tools/env.sh` firstly before doing other things.
- For installing some other supporting tools, you can check the `tools/install*.sh` to install kenlm, sph2pipe, spm and ... [Optional]

### 5) Test your installation
### 3.5) Test your installation

- On a single cpu/gpu

Expand All @@ -96,9 +96,9 @@ horovodrun -np 4 -H localhost:4 athena/horovod_main.py examples/translate/spa-en
- If you see errors such as `ERROR: Cannot uninstall 'wrapt'` while installing TensorFlow, try updating it using command `conda update wrapt`. Same for similar dependencies such as `entrypoints`, `llvmlite` and so on.
- You may want to make sure you have `g++` version 7 or above to make sure you can successfully install TensorFlow.

## Data Preparation
## 4) Data Preparation

### Create Manifest
### 4.1) Create Manifest

Athena accepts a textual manifest file as data set interface, which describes speech data set in csv format. In such file, each line contains necessary meta data (e.g. key, audio path, transcription) of a speech audio. For custom data, such manifest file needs to be prepared first. An example is shown as follows:

Expand All @@ -110,9 +110,9 @@ wav_filename wav_length_ms transcript
/dataset/train-clean-100-wav/374-180298-0003.wav 356044 assumed all at once an appearance of noise and disorder never believe however disinterested the love of a kept woman may be that it will cost one nothing
```

## Training
## 5) Training

### Setting the Configuration File
### 5.1) Setting the Configuration File

All of our training/ inference configurations are written in config.json. Below is an example configuration file with comments to help you understand.

Expand Down Expand Up @@ -178,7 +178,7 @@ All of our training/ inference configurations are written in config.json. Below
}
```

### Train a Model
### 5.2) Train a Model

With all the above preparation done, training becomes straight-forward. `athena/main.py` is the entry point of the training module. Just run `python athena/main.py <your_config_in_json_file>`

Expand All @@ -190,15 +190,15 @@ To run on a machine with 4 GPUs with Athena:
To run on 4 machines with 4 GPUs each with Athena:
`$ horovodrun -np 16 -H server1:4,server2:4,server3:4,server4:4 python athena/horovod_main.py <your_config_in_json_file>`

## Results
## 6) Results

Language | Model Name | Training Data | Hours of Speech | Error Rate
:-----------: | :------------: | :----------: | -------: | -------:
English | Transformer | [LibriSpeech Dataset](http://www.openslr.org/12/) | 960 h |
Mandarin | Transformer | HKUST Dataset | 151 h | 22.75% (CER)
Mandarin | Transformer | [AISHELL Dataset](http://www.openslr.org/33/) | 178 h | 5.77% (CER)

## Directory Structure
## 7) Directory Structure

Below is the basic directory structure for Athena

Expand Down

0 comments on commit 6a35c67

Please sign in to comment.