Installation

tf_crnn uses tensorflow-gpu package, which needs CUDA and CuDNN libraries for GPU support. Tensorflow GPU support page lists the requirements.

Using Anaconda

When using Anaconda (or Miniconda), conda will install automatically the compatible versions of CUDA and CuDNN

conda env create -f environment.yml

You can find more information about the installation procedures of CUDA and CuDNN with Anaconda here.

Using pip

Before using tf_crnn we recommend creating a virtual environment (python 3.5). Then, install the dependencies using Github repository’s setup.py file.

pip install git+https://github.com/solivr/tf-crnn

You will then need to install CUDA and CuDNN libraries manually.

Using Docker

(thanks to PonteIneptique)

The Dockerfile in the root directory allows you to run the whole program as a Docker Nvidia Tensorflow GPU container. This is potentially helpful to deal with external dependencies like CUDA and the likes.

You can follow installations processes here :

Once this is installed, we will need to build the image of the container by doing :

nvidia-docker build . --tag tf-crnn

Our container model is now named tf-crnn. We will be able to run it from nvidia-docker run -it tf-crnn:latest bash which will open a bash directory exactly where you are. Although, we recommend using

nvidia-docker run -it -p 8888:8888 -p 6006:6006 -v /absolute/path/to/here/config:./config -v $INPUT_DATA:/sources  tf-crnn:latest bash

where $INPUT_DATA should be replaced by the directory where you have your training and testing data. This will get mounted on the sources folder. We propose to mount by default ./config to the current ./config directory. Path need to be absolute path. We also recommend to change

//...
"output_model_dir" : "/.output/"

to

//...
"output_model_dir" : "/config/output"

Do not forget to rename your training and testing file path, as well as renaming the path to their image by /sources/.../file.{png,jpg}

Note

if you are uncomfortable with bash, you can always replace bash by ipython3 notebook --allow-root and go to your browser on http://localhost:8888/ . A token will be shown in the terminal