mirror of
https://github.com/mozilla/DeepSpeech.git
synced 2025-10-26 11:19:39 +00:00
* enable hot-word boosting * more consistent ordering of CLI arguments * progress on review * use map instead of set for hot-words, move string logic to client.cc * typo bug * pointer things? * use map for hotwords, better string splitting * add the boost, not multiply * cleaning up * cleaning whitespace * remove <set> inclusion * change typo set-->map * rename boost_coefficient to boost X-DeepSpeech: NOBUILD * add hot_words to python bindings * missing hot_words * include map in swigwrapper.i * add Map template to swigwrapper.i * emacs intermediate file * map things * map-->unordered_map * typu * typu * use dict() not None * error out if hot_words without scorer * two new functions: remove hot-word and clear all hot-words * starting to work on better error messages X-DeepSpeech: NOBUILD * better error handling + .Net ERR codes * allow for negative boosts:) * adding TC test for hot-words * add hot-words to python client, make TC test hot-words everywhere * only run TC tests for C++ and Python * fully expose API in python bindings * expose API in Java (thanks spectie!) * expose API in dotnet (thanks spectie!) * expose API in javascript (thanks spectie!) * java lol * typo in javascript * commenting * java error codes from swig * java docs from SWIG * java and dotnet issues * add hotword test to android tests * dotnet fixes from carlos * add DS_BINARY_PREFIX to tc-asserts.sh for hotwords command * make sure lm is on android for hotword test * path to android model + nit * path * path |
||
|---|---|---|
| .. | ||
| DeepSpeechClient | ||
| DeepSpeechConsole | ||
| DeepSpeechWPF | ||
| nupkg | ||
| .gitignore | ||
| DeepSpeech.sln | ||
| README.rst | ||
Building DeepSpeech native client for Windows ============================================= Now we can build the native client of DeepSpeech and run inference on Windows using the C# client, to do that we need to compile the ``native_client``. **Table of Contents** * `Prerequisites <#prerequisites>`_ * `Getting the code <#getting-the-code>`_ * `Configuring the paths <#configuring-the-paths>`_ * `Adding environment variables <#adding-environment-variables>`_ * `MSYS2 paths <#msys2-paths>`_ * `BAZEL path <#bazel-path>`_ * `Python path <#python-path>`_ * `CUDA paths <#cuda-paths>`_ * `Building the native_client <#building-the-native_client>`_ * `Build for CPU <#cpu>`_ * `Build with CUDA support <#gpu-with-cuda>`_ * `Using the generated library <#using-the-generated-library>`_ Prerequisites ------------- * Windows 10 * `Windows 10 SDK <https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk>`_ * `Visual Studio 2019 Community <https://visualstudio.microsoft.com/vs/community/>`_ * `TensorFlow Windows pre-requisites <https://www.tensorflow.org/install/source_windows>`_ Inside the Visual Studio Installer enable ``MS Build Tools`` and ``VC++ 2019 v16.00 (v160) toolset for desktop``. If you want to enable CUDA support you need to follow the steps in `the TensorFlow docs for building on Windows with CUDA <https://www.tensorflow.org/install/gpu#windows_setup>`_. We highly recommend sticking to the recommended versions of CUDA/cuDNN in order to avoid compilation errors caused by incompatible versions. We only test with the versions recommended by TensorFlow. Getting the code ---------------- We need to clone ``mozilla/DeepSpeech``. .. code-block:: bash git clone https://github.com/mozilla/DeepSpeech git submodule sync tensorflow/ git submodule update --init tensorflow/ Configuring the paths --------------------- There should already be a symbolic link, for this example let's suppose that we cloned into ``D:\cloned`` and now the structure looks like: .. code-block:: . ├── D:\ │ ├── cloned # Contains DeepSpeech and tensorflow side by side │ │ └── DeepSpeech # Root of the cloned DeepSpeech │ │ ├── tensorflow # Root of the cloned Mozilla's tensorflow └── ... Change your path accordingly to your path structure, for the structure above we are going to use the following command if the symbolic link does not exists: .. code-block:: bash mklink /d "D:\cloned\DeepSpeech\tensorflow\native_client" "D:\cloned\DeepSpeech\native_client" Adding environment variables ---------------------------- After you have installed the requirements there are few environment variables that we need to add to our ``PATH`` variable of the system variables. MSYS2 paths ~~~~~~~~~~~ For MSYS2 we need to add ``bin`` directory, if you installed in the default route the path that we need to add should looks like ``C:\msys64\usr\bin``. Now we can run ``pacman``: .. code-block:: bash pacman -Syu pacman -Su pacman -S patch unzip BAZEL path ~~~~~~~~~~ For BAZEL we need to add the path to the executable, make sure you rename the executable to ``bazel``. To check the version installed you can run: .. code-block:: bash bazel version PYTHON path ~~~~~~~~~~~ Add your ``python.exe`` path to the ``PATH`` variable. CUDA paths ~~~~~~~~~~ If you run CUDA enabled ``native_client`` we need to add the following to the ``PATH`` variable. .. code-block:: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin Building the native_client ^^^^^^^^^^^^^^^^^^^^^^^^^^ There's one last command to run before building, you need to run the `configure.py <https://github.com/mozilla/tensorflow/blob/master/configure.py>`_ inside ``tensorflow`` cloned directory. At this point we are ready to start building the ``native_client``, go to ``tensorflow`` sub-directory, following our examples should be ``D:\cloned\DeepSpeech\tensorflow``. CPU ~~~ We will add AVX/AVX2 support in the command, please make sure that your CPU supports these instructions before adding the flags, if not you can remove them. .. code-block:: bash bazel build --workspace_status_command="bash native_client/bazel_workspace_status_cmd.sh" -c opt --copt=/arch:AVX --copt=/arch:AVX2 //native_client:libdeepspeech.so GPU with CUDA ~~~~~~~~~~~~~ If you enabled CUDA in `configure.py <https://github.com/mozilla/tensorflow/blob/master/configure.py>`_ configuration command now you can add ``--config=cuda`` to compile with CUDA support. .. code-block:: bash bazel build --workspace_status_command="bash native_client/bazel_workspace_status_cmd.sh" -c opt --config=cuda --copt=/arch:AVX --copt=/arch:AVX2 //native_client:libdeepspeech.so Be patient, if you enabled AVX/AVX2 and CUDA it will take a long time. Finally you should see it stops and shows the path to the generated ``libdeepspeech.so``. Using the generated library --------------------------- As for now we can only use the generated ``libdeepspeech.so`` with the C# clients, go to `native_client/dotnet/ <https://github.com/mozilla/DeepSpeech/tree/master/native_client/dotnet>`_ in your DeepSpeech directory and open the Visual Studio solution, then we need to build in debug or release mode, finally we just need to copy ``libdeepspeech.so`` to the generated ``x64/Debug`` or ``x64/Release`` directory.