This is an automated email from the ASF dual-hosted git repository.
the pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/master by this push:
new 815f42d [MXNET-641] fix R windows install docs (#11805)
815f42d is described below
commit 815f42d0a425acd37b025aa6ee14cb31af052f9f
Author: Ankit Khedia <[email protected]>
AuthorDate: Mon Jul 30 16:16:14 2018 -0700
[MXNET-641] fix R windows install docs (#11805)
* fix R windows install docs
* addressed PR comments
* PR comments
* PR comments
* fixed line wrappings
* fixed line wrappings
---
docs/install/windows_setup.md | 176 ++++++++++++++++++++++++++++++++----------
1 file changed, 134 insertions(+), 42 deletions(-)
diff --git a/docs/install/windows_setup.md b/docs/install/windows_setup.md
index 8a2b1c1..9d03474 100755
--- a/docs/install/windows_setup.md
+++ b/docs/install/windows_setup.md
@@ -62,7 +62,7 @@ Next, we install ```graphviz``` library that we use for
visualizing network grap
We have installed MXNet core library. Next, we will install MXNet interface
package for programming language of your choice:
- [Python](#install-the-mxnet-package-for-python)
-- [R](#install-mxnet-for-r)
+- [R](#install-mxnet-package-for-r)
- [Julia](#install-the-mxnet-package-for-julia)
- **Scala** is not yet available for Windows
@@ -91,7 +91,7 @@ Done! We have installed MXNet with Python interface. Run
below commands to verif
```
We actually did a small tensor computation using MXNet! You are all set with
MXNet on your Windows machine.
-## Install MXNet for R
+## Install MXNet Package for R
MXNet for R is available for both CPUs and GPUs.
### Installing MXNet on a Computer with a CPU Processor
@@ -101,7 +101,7 @@ To install MXNet on a computer with a CPU processor, choose
from two options:
* Use the prebuilt binary package
* Build the library from source code
-#### Installing MXNet with the Prebuilt Binary Package
+#### Installing MXNet with the Prebuilt Binary Package(CPU)
For Windows users, MXNet provides prebuilt binary packages.
You can install the package directly in the R console.
@@ -114,81 +114,173 @@ For CPU-only package:
install.packages("mxnet")
```
-For GPU-enabled package:
+#### Building MXNet from Source Code(CPU)
+1. Clone the MXNet github repo.
-```r
- cran <- getOption("repos")
- cran["dmlc"] <-
"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU"
- options(repos = cran)
- install.packages("mxnet")
+```sh
+git clone --recursive https://github.com/apache/incubator-mxnet
```
-#### Building MXNet from Source Code
+The `--recursive` is to clone all the submodules used by MXNet. You will be
editing the ```"/mxnet/R-package"``` folder.
+
+2. Download prebuilt GPU-enabled MXNet libraries for Windows from [Windows
release](https://github.com/yajiedesign/mxnet/releases). You will need
`mxnet_x64_vc14_cpu.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands for
your CUDA toolkit version
-Run the following commands to install the MXNet dependencies and build the
MXNet R package.
+3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only
64-bit operating systems, so you need the x64 folder.
-```r
- Rscript -e "install.packages('devtools', repo =
'https://cloud.r-project.org/')"
+4. Copy the following shared libraries (.dll files) into the
```R-package/inst/libs/x64``` folder:
```
+libgcc_s_seh-1.dll
+libgfortran-3.dll
+libmxnet.dll
+libmxnet.lib
+libopenblas.dll
+libquadmath-0.dll
+mxnet.dll
+unzip.exe
+unzip32.dll
+vcomp140.dll
+wget.exe
+```
+These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`,
`mxnet_x64_vc14_cpu/build`, `mxnet_x64_vc14_cpu/lib`.
-```bash
- cd R-package
- Rscript -e "library(devtools); library(methods);
options(repos=c(CRAN='https://cloud.r-project.org/'));
install_deps(dependencies = TRUE)"
- cd ..
- make rpkg
+5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from
mxnet_x64_vc14_cpu/include and mxnet_x64_vc14_cpu/nvnm/include into
`./R-package/inst/include`. It should look like:
+
+```
+./R-package/inst
+└── include
+ ├── dmlc
+ ├── mxnet
+ ├── mshadow
+ └── nnvm
+
+```
+6. Make sure that R executable is added to your ```PATH``` in the environment
variables. Running the ```where R``` command at the command prompt should
return the location.
+7. Also make sure that Rtools is installed and the executable is added to your
```PATH``` in the environment variables.
+8. Temporary patch - im2rec currently results in crashes during the build.
Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned
repository and comment out the two im2rec lines in
[R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc)
as shown below.
+```bat
+#include "./kvstore.h"
+#include "./export.h"
+//#include "./im2rec.h"
+......
+......
+ DataIterCreateFunction::InitRcppModule();
+ KVStore::InitRcppModule();
+ Exporter::InitRcppModule();
+// IM2REC::InitRcppModule();
+}
+
+```
+
+9. Now open the Windows CMD with admin rights and change the directory to the
`mxnet` folder(cloned repository). Then use the following commands
+to build R package:
+
+```bat
+echo import(Rcpp) > R-package\NAMESPACE
+echo import(methods) >> R-package\NAMESPACE
+Rscript -e "install.packages('devtools', repos =
'https://cloud.r-project.org')"
+cd R-package
+Rscript -e "library(devtools); library(methods);
options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies
= TRUE)"
+cd ..
+
+R CMD INSTALL --no-multiarch R-package
+
+Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')"
+rm R-package/NAMESPACE
+Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1',
repos = 'https://cloud.r-project.org/', quiet = TRUE)"
+Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')"
+
+R CMD INSTALL --build --no-multiarch R-package
```
+
### Installing MXNet on a Computer with a GPU Processor
+To install MXNet on a computer with a GPU processor, choose from two options:
+
+* Use the prebuilt binary package
+* Build the library from source code
+
+However, a few dependencies remain for both options. You will need the
following:
+* Install
[Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) if not
installed. Latest driver based on your system configuration is recommended.
-To install MXNet R package on a computer with a GPU processor, you need the
following:
+* Install [Microsoft Visual
Studio](https://visualstudio.microsoft.com/downloads/) (VS2015 or VS2017 is
required by CUDA)
-* Microsoft Visual Studio 2013
+* Install [NVidia CUDA
Toolkit](https://developer.nvidia.com/cuda-toolkit)(cu92 is recommended though
we support cu80, cu90, cu91 and cu92)
-* The NVidia CUDA Toolkit
+* Download and install [CuDNN](https://developer.nvidia.com/cudnn) (to provide
a Deep Neural Network library). Latest version recommended.
-* The MXNet package
+Note: A pre-requisite to above softwares is
[Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) which we
assume is installed.
-* CuDNN (to provide a Deep Neural Network library)
+#### Installing MXNet with the Prebuilt Binary Package(GPU)
+For Windows users, MXNet provides prebuilt binary packages.
+You can install the package directly in the R console after you have the above
software installed.
-To install the required dependencies and install MXNet for R:
+For GPU package:
-1. Install the [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit). The
CUDA Toolkit depends on Visual Studio. To check whether your GPU is compatible
with the CUDA Toolkit and for information on installing it, see NVidia's [CUDA
Installation
Guide](http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/).
-3. Clone the MXNet github repo.
+```r
+ cran <- getOption("repos")
+ cran["dmlc"] <-
"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cuX"
+ options(repos = cran)
+ install.packages("mxnet")
+```
+Change X to 80,90,91 or 92 based on your CUDA toolkit version. Currently,
MXNet supports these versions of CUDA.
+#### Building MXNet from Source Code(GPU)
+After you have installed above software, continue with the following steps to
build MXNet-R:
+1. Clone the MXNet github repo.
```sh
-git clone --recursive https://github.com/dmlc/mxnet
+git clone --recursive https://github.com/apache/incubator-mxnet
```
The `--recursive` is to clone all the submodules used by MXNet. You will be
editing the ```"/mxnet/R-package"``` folder.
-4. Download prebuilt GPU-enabled MXNet libraries for Windows from
https://github.com/yajiedesign/mxnet/releases. You will need
`mxnet_x64_vc14_gpu.7z` and `prebuildbase_win10_x64_vc14.7z`.
-5. Download and install [CuDNN](https://developer.nvidia.com/cudnn).
-6. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only
64-bit operating systems, so you need the x64 folder.
-7. Copy the following shared libraries (.dll files) into the
```R-package/inst/libs/x64``` folder:
-```
-cublas64_80.dll
-cudart64_80.dll
-cudnn64_5.dll
-curand64_80.dll
+
+2. Download prebuilt GPU-enabled MXNet libraries for Windows from
https://github.com/yajiedesign/mxnet/releases. You will need
`mxnet_x64_vc14_gpu_cuX.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands
for your CUDA toolkit version
+
+3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only
64-bit operating systems, so you need the x64 folder.
+
+4. Copy the following shared libraries (.dll files) into the
```R-package/inst/libs/x64``` folder:
+```
libgcc_s_seh-1.dll
libgfortran-3.dll
libmxnet.dll
libmxnet.lib
libopenblas.dll
libquadmath-0.dll
-nvrtc64_80.dll
+mxnet.dll
+unzip.exe
+unzip32.dll
+vcomp140.dll
+wget.exe
```
-These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty/cudart`,
`prebuildbase_win10_x64_vc14/3rdparty/openblas/bin`,
`mxnet_x64_vc14_gpu/build`, `mxnet_x64_vc14_gpu/lib` and the `cuDNN` downloaded
from NVIDIA.
-8. Copy the header files from `dmlc`, `mxnet` and `nnvm` into
`./R-package/inst/include`. It should look like:
+These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`,
`mxnet_x64_vc14_gpu_cuX/build`, `mxnet_x64_vc14_gpu_cuX/lib`.
+
+5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from
mxnet_x64_vc14_gpuX/include and mxnet_x64_vc14_gpuX/nvnm/include into
`./R-package/inst/include`. It should look like:
```
./R-package/inst
└── include
├── dmlc
├── mxnet
- └── nnvm
+ ├── mshadow
+ └── nnvm
+
+```
+6. Make sure that R executable is added to your ```PATH``` in the environment
variables. Running the ```where R``` command at the command prompt should
return the location.
+7. Also make sure that Rtools is installed and the executable is added to your
```PATH``` in the environment variables.
+8. Temporary patch - im2rec currently results in crashes during the build.
Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned
repository and comment out the two im2rec lines in
[R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc)
as shown below.
+```bat
+#include "./kvstore.h"
+#include "./export.h"
+//#include "./im2rec.h"
+......
+......
+ DataIterCreateFunction::InitRcppModule();
+ KVStore::InitRcppModule();
+ Exporter::InitRcppModule();
+// IM2REC::InitRcppModule();
+}
+
```
-9. Make sure that R is added to your ```PATH``` in the environment variables.
Running the ```where R``` command at the command prompt should return the
location.
-10. Now open the Windows CMD and change the directory to the `mxnet` folder.
Then use the following commands
+9. Now open the Windows CMD with admin rights and change the directory to the
`mxnet` folder(cloned repository). Then use the following commands
to build R package:
```bat