From e83358015cd23e42ceeaeae3c65ba48b751f08fa Mon Sep 17 00:00:00 2001 From: Antonio Velazquez Date: Tue, 24 Mar 2020 11:05:30 -0700 Subject: [PATCH 1/8] Updated onnx estimator documentation --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 5f1669ba66..619e00e62a 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -702,17 +702,17 @@ public NamedOnnxValue GetNamedOnnxValue() /// | Does this estimator need to look at the data to train its parameters? | No | /// | Input column data type | Known-sized vector of or types | /// | Output column data type | As specified by the ONNX model | - /// | Required NuGet in addition to Microsoft.ML | Microsoft.ML.OnnxTransformer (always), Microsoft.ML.OnnxRuntime.Gpu (only if GPU processing is used) | + /// | Required NuGet in addition to Microsoft.ML | Microsoft.ML.OnnxTransformer (always), either Microsoft.ML.OnnxRuntime 1.2.0 (for CPU processing) or Microsoft.ML.OnnxRuntime.Gpu 1.2.0 (only if GPU processing is desired) | /// | Exportable to ONNX | No | /// - /// Supports inferencing of models in ONNX 1.2 and 1.3 format (opset 7, 8 and 9), using the - /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library. + /// Supports inferencing of models in ONNX 1.6 format (opset 11), using the + /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library (version 1.2.0). /// Models are scored on CPU by default. If GPU execution is needed (optional), use the - /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) - /// and download [CUDA 9.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN](https://developer.nvidia.com/cudnn). + /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) 1.2.0 instead + /// and download [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN](https://developer.nvidia.com/cudnn) (use the versions indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. /// The inputs and outputs of the ONNX models must be Tensor type. Sequence and Maps are not yet supported. - /// OnnxRuntime currently works on Windows and Ubuntu 16.04 Linux 64-bit platforms. Mac OS to be supported soon. + /// OnnxRuntime works on Windows, MacOS and Ubuntu 16.04 Linux 64-bit platforms. /// Visit [ONNX Models](https://github.com/onnx/models) to see a list of readily available models to get started with. /// Refer to [ONNX](http://onnx.ai) for more information. /// From 2f38c07f7592baae188c5bbb072424a08ca2943d Mon Sep 17 00:00:00 2001 From: Antonio Velazquez Date: Tue, 24 Mar 2020 11:19:03 -0700 Subject: [PATCH 2/8] Added CUDA and CuDNN versions --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 619e00e62a..c9aa94889f 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -709,7 +709,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library (version 1.2.0). /// Models are scored on CPU by default. If GPU execution is needed (optional), use the /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) 1.2.0 instead - /// and download [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN](https://developer.nvidia.com/cudnn) (use the versions indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). + /// and download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. /// The inputs and outputs of the ONNX models must be Tensor type. Sequence and Maps are not yet supported. /// OnnxRuntime works on Windows, MacOS and Ubuntu 16.04 Linux 64-bit platforms. From cca0d7b2629d3cd6b4593b937869264a3261c2eb Mon Sep 17 00:00:00 2001 From: Antonio Velazquez Date: Tue, 24 Mar 2020 11:36:33 -0700 Subject: [PATCH 3/8] Make it explicit that the GPU nuget should replace the CPU one if GPU support is required --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index c9aa94889f..c0607204b7 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -708,7 +708,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// Supports inferencing of models in ONNX 1.6 format (opset 11), using the /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library (version 1.2.0). /// Models are scored on CPU by default. If GPU execution is needed (optional), use the - /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) 1.2.0 instead + /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing) /// and download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. /// The inputs and outputs of the ONNX models must be Tensor type. Sequence and Maps are not yet supported. From 3e412d1afaf7c4b1b7ef52082de61122d380050e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Vel=C3=A1zquez?= <38739674+antoniovs1029@users.noreply.github.com> Date: Tue, 24 Mar 2020 14:34:43 -0700 Subject: [PATCH 4/8] Update with Luis suggestion Co-Authored-By: Luis Quintanilla <46974588+luisquintanilla@users.noreply.github.com> --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index c0607204b7..03e2496c5f 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -702,7 +702,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// | Does this estimator need to look at the data to train its parameters? | No | /// | Input column data type | Known-sized vector of or types | /// | Output column data type | As specified by the ONNX model | - /// | Required NuGet in addition to Microsoft.ML | Microsoft.ML.OnnxTransformer (always), either Microsoft.ML.OnnxRuntime 1.2.0 (for CPU processing) or Microsoft.ML.OnnxRuntime.Gpu 1.2.0 (only if GPU processing is desired) | + /// | Required NuGet in addition to Microsoft.ML | Microsoft.ML.OnnxTransformer (always), either Microsoft.ML.OnnxRuntime 1.2.0 (for CPU processing) or Microsoft.ML.OnnxRuntime.Gpu 1.2.0 (for GPU processing if GPU is available) | /// | Exportable to ONNX | No | /// /// Supports inferencing of models in ONNX 1.6 format (opset 11), using the From 3b5743f10ce4a0fbe1bfed2ef92ef4f4ff287cc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Vel=C3=A1zquez?= <38739674+antoniovs1029@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:55:17 -0700 Subject: [PATCH 5/8] Adding link to supported GPU list --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 03e2496c5f..1d57b7445c 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -707,11 +707,15 @@ public NamedOnnxValue GetNamedOnnxValue() /// /// Supports inferencing of models in ONNX 1.6 format (opset 11), using the /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library (version 1.2.0). - /// Models are scored on CPU by default. If GPU execution is needed (optional), use the - /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing) - /// and download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). + /// Models are scored on CPU by default. + /// + /// If GPU execution is needed (optional), use the + /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing). To use Microsoft.ML.OnnxRuntime.Gpu + /// you need to have a CUDA supported GPU (for reference see this list of [supported GPUs](https://developer.nvidia.com/cuda-gpus#compute)), then download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. + /// /// The inputs and outputs of the ONNX models must be Tensor type. Sequence and Maps are not yet supported. + /// /// OnnxRuntime works on Windows, MacOS and Ubuntu 16.04 Linux 64-bit platforms. /// Visit [ONNX Models](https://github.com/onnx/models) to see a list of readily available models to get started with. /// Refer to [ONNX](http://onnx.ai) for more information. From 57dbcdc2fb3cdec63c73c73da456f1b364a495cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Vel=C3=A1zquez?= <38739674+antoniovs1029@users.noreply.github.com> Date: Wed, 25 Mar 2020 14:02:23 -0700 Subject: [PATCH 6/8] Update src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs Co-Authored-By: Nat Kershaw (MSFT) --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 1d57b7445c..3cd177fba2 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -709,7 +709,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime/) library (version 1.2.0). /// Models are scored on CPU by default. /// - /// If GPU execution is needed (optional), use the + /// To run on a GPU, use the /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing). To use Microsoft.ML.OnnxRuntime.Gpu /// you need to have a CUDA supported GPU (for reference see this list of [supported GPUs](https://developer.nvidia.com/cuda-gpus#compute)), then download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. From 36e0c4943b99d5316afc94bb69747decea16e75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Vel=C3=A1zquez?= <38739674+antoniovs1029@users.noreply.github.com> Date: Wed, 25 Mar 2020 14:03:06 -0700 Subject: [PATCH 7/8] Update src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs Co-Authored-By: Nat Kershaw (MSFT) --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 3cd177fba2..907d301fec 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -710,7 +710,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// Models are scored on CPU by default. /// /// To run on a GPU, use the - /// NuGet package available at [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing). To use Microsoft.ML.OnnxRuntime.Gpu + /// NuGet package [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing). Microsoft.ML.OnnxRuntime.Gpu /// you need to have a CUDA supported GPU (for reference see this list of [supported GPUs](https://developer.nvidia.com/cuda-gpus#compute)), then download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. /// From 2b57310269d8c23611ce25b8631fcce92c8169d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Vel=C3=A1zquez?= <38739674+antoniovs1029@users.noreply.github.com> Date: Wed, 25 Mar 2020 14:03:28 -0700 Subject: [PATCH 8/8] Update src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs Co-Authored-By: Nat Kershaw (MSFT) --- src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs index 907d301fec..530e3193f3 100644 --- a/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs +++ b/src/Microsoft.ML.OnnxTransformer/OnnxTransform.cs @@ -711,7 +711,7 @@ public NamedOnnxValue GetNamedOnnxValue() /// /// To run on a GPU, use the /// NuGet package [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu/) (version 1.2.0) instead of the Microsoft.ML.OnnxRuntime nuget (which is for CPU processing). Microsoft.ML.OnnxRuntime.Gpu - /// you need to have a CUDA supported GPU (for reference see this list of [supported GPUs](https://developer.nvidia.com/cuda-gpus#compute)), then download [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads) and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). + /// requires a [CUDA supported GPU](https://developer.nvidia.com/cuda-gpus#compute), the [CUDA 10.1 Toolkit](https://developer.nvidia.com/cuda-downloads), and [cuDNN 7.6.5](https://developer.nvidia.com/cudnn) (as indicated on [Onnxruntime's documentation](https://github.com/Microsoft/onnxruntime#default-gpu-cuda)). /// Set parameter 'gpuDeviceId' to a valid non-negative integer. Typical device ID values are 0 or 1. /// /// The inputs and outputs of the ONNX models must be Tensor type. Sequence and Maps are not yet supported.