Setup guide (for Mac / Linux)

For Windows users, jump to setup_windows

Downloading code

git clone

Installing WebGPU environment

WebDNN runs fastest on browsers which support WebGPU. Currently, only Safari Technology Preview on macOS supports it.

If you don’t have such environment, WebAssembly backend can be used. It is supported by most modern browsers. (Note: IE and Safari does not support WebAssembly, but asm.js code is automatically generated along with WebAssembly code, and gives similar performance.)

Installing python package

This framework requires python3.6+.

cd webdnn
python3 install

This will install webdnn.

If you want to convert models of Caffe or Chainer, install chainer package.

pip install chainer

(Currently, tested with chainer==2.0 and chainer==1.23)

Installing Emscripten and Eigen

If you want to enable WebAssembly backend, em++ command from Emscripten is required. You can skip this section if you try WebGPU backend only.

To setup Emscripten which supports WebAssembly,

git clone
cd emsdk
./emsdk install sdk-incoming-64bit binaryen-master-64bit
./emsdk activate sdk-incoming-64bit binaryen-master-64bit

(see also )

To enable em++ command, you need to type command on the shell.

source ./

Eigen is needed as the library.

tar jxf 3.3.3.tar.bz2

To enable Eigen to be included on compile, you need to type command on the shell.

export CPLUS_INCLUDE_PATH=$PWD/eigen-eigen-67e894c6cd8f

Notes on python environment

Emscripten requires python2 command, you need to setup python environment which python (or python3) is python 3.6+ and python2 is python 2.7. pyenv may help to setup such environment (see also).