From 572467cef9f45be8cdb0e0a986444daab87aae91 Mon Sep 17 00:00:00 2001 From: Beth Dean Date: Fri, 10 Apr 2020 11:02:29 -0700 Subject: [PATCH] Update DLRS tutorial with instructions for using Transformers (#1111) * Update DLRS tutorial with instructions for using Transformers * Update source/guides/stacks/dlrs.rst Co-Authored-By: michael vincerra <37549381+mvincerx@users.noreply.github.com> * Add browser instructions for Notebook Co-authored-by: michael vincerra <37549381+mvincerx@users.noreply.github.com> --- .../_figures/stacks/dlrs-transformers-1.png | Bin 0 -> 44677 bytes source/guides/stacks/dlrs.rst | 61 ++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 source/_figures/stacks/dlrs-transformers-1.png diff --git a/source/_figures/stacks/dlrs-transformers-1.png b/source/_figures/stacks/dlrs-transformers-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f08dda3792069ad62ad818503a45d948a9129e7 GIT binary patch literal 44677 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 literal 0 HcmV?d00001 diff --git a/source/guides/stacks/dlrs.rst b/source/guides/stacks/dlrs.rst index 91cade9a..7c15bc1b 100644 --- a/source/guides/stacks/dlrs.rst +++ b/source/guides/stacks/dlrs.rst @@ -517,6 +517,61 @@ To use the new image we will follow the `Kubeflow OpenMPI instructions`_. You wi # Deploy to your cluster. ks apply default +Using Transformers* for Natural Language Processing +*************************************************** + +The DLRS v5.0 release includes `Transformers`_, a state-of-the-art Natural Language Processing (NLP) library for TensorFlow 2.0 and PyTorch. The library is configured to work within the container environment. + +In this section we use a Jupyter Notebook from inside the container to walk through one of the notebooks shown in the `Transformers`_ repository. + +To run the notebook, you will need to run the Deep Learning Reference Stack, mount it to disk and connect a Jupyter Notebook port. + + +#. Run the DLRS image with Docker: + + .. code-block:: bash + + docker run -it -v ${PWD}:/workspace -p 8888:8888 clearlinux/stacks-dlrs-oss + + +#. From within the container, navigate to the workspace, and clone the + transformers repository in the container: + + .. code-block:: bash + + cd workspace + git clone https://github.com/huggingface/transformers.git + + + +#. Navigate to the Transformers notebook directory, and start a Jupyter Notebook that is linked to the exterior port. Be sure to copy the token from the output of starting Jupyter Notebook. + + .. code-block:: bash + + cd transformers/notebooks + jupyter notebook --ip 0.0.0.0 --no-browser --allow-root + + +#. To access the Jupyter Notebook, open a browser. + +#. Return to the Terminal where you launched Jupyter Notebook. Copy one of the URLs that appears after "Or copy and paste on of these URLs." + +#. Paste the URL (with embedded token) into the browser window. + + +The notebook will also be available at the URL of the system serving the notebook. For example if you are running on 192.168.1.10, you will be able to access the notebook from other systems on that subnet by navigating to http://192.168.1.10:8888 + +From the browser, you will see the following notebooks. + +.. figure:: ../../_figures/stacks/dlrs-transformers-1.png + :scale: 80% + :alt: Transformers Jupyter Notebooks + + Figure 1: Transformers Jupyter Notebooks + +The first notebook, `01-training-tokenizers.ipynb` uses a relatively small dataset that makes for a quick download, and can be run with any of the DLRS v5.0 containers. + +This example along with the other notebooks show how to get up and running with Transformers. More detail on using Transformers* is available through the `Transformers`_ github repository. Using the IntelĀ® OpenVINO Model Optimizer @@ -598,6 +653,8 @@ In this example, you will: You should now see three files in your working directory, :file:`frozen_inference_graph.bin`, :file:`frozen_inference_graph.mapping`, and :file:`frozen_inference_graph.xml`. These are your new models in the Intermediate Representation (IR) format and they are ready for use in the OpenVINO Inference Engine. + + Using the OpenVino Inference Engine *********************************** @@ -1103,3 +1160,7 @@ Related topics .. _Kubeflow OpenMPI instructions: https://github.com/kubeflow/mpi-operator/blob/master/README.md .. _Intel stacks GitHub repository: https://github.com/intel/stacks.git + +.. _Transformers: https://github.com/huggingface/transformers + +.. _Jupyter Notebook Transformers: