digital_champions_deeplearning_r_mxnet
digital_champions_deeplearning_r_mxnet copied to clipboard
Installation does not work
I've tried following both these and the mxnet official installation guide for Bitfusion's Scientific Compute AMI on a AWS g2large instance.
Frankly, your instructions are not correct and compile fails.
on 'make j4': /home/ubuntu/mxnet/mshadow/mshadow/././././cuda/tensor_gpu-inl.cuh(75): error: expression preceding parentheses of apparent call must have (pointer-to-) function type
/home/ubuntu/mxnet/mshadow/mshadow/././././cuda/tensor_gpu-inl.cuh(75): error: expression preceding parentheses of apparent call must have (pointer-to-) function type
2 errors detected in the compilation of "/tmp/tmpxft_00003ade_00000000-18_activation.compute_30.cpp2.i". make: *** [build/src/operator/activation_gpu.o] Error 2
This leads to the error: install.packages('mxnet') Installing package into ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.3’ (as ‘lib’ is unspecified) Warning in install.packages : package ‘mxnet’ is not available (for R version 3.3.1)
Bitfusion support is non-responsive.
Hi Garglesoap, the tutorial was written one year ago and in deep learning it is like a century. Probably you have came across some mismatching between dependencies/library versions. Please also note that we are not the authors of MxNet so if your compile fails you should probably check on MxNet website. What I could recommend first is to try AWS Deep Learning AMI instead of Bitfusions AMI: https://aws.amazon.com/amazon-ai/amis/ If you find it working with subsequent steps - let us know we will update the tutorial. Kind regards, Przemyslaw
Your suggestion was a helpful one and I have been able to make the mxnet tarball on the AWS Deep Learning AMI. However, the make rpkg command is still failing to find libmxnet.so:
Error : .onLoad failed in loadNamespace() for 'mxnet', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/usr/lib64/R/library/mxnet/libs/libmxnet.so': libmklml_intel.so: cannot open shared object file: No such file or directory
I have tried setting the environment variable two ways, don't know if correct, but file does live at this location:
export MXNET_HOME=/usr/lib64/R/library/mxnet/libs/
export LD_LIBRARY_PATH=/usr/lib64/R/library/mxnet/libs/
Previously, the make rpgk file was also not able to find libcudart.so.8.0, however I fixed it with:
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/libcudart.so.8.0
so I think the libmxnet.so issue is definitely an environment variable problem.
There were a number of other issues getting to this point, including about a dozen R packages that had to be installed in a sudo version of R in order for the tarball compile to succeed (igraph must be from git NOT CRAN, diagrammeR, XML, roxygen2, influenceR, rgexf, Cairo might need to get additional files other than R package)
as well as some other linux programs: libxml2-devel or potentially any of the following: automake, autoconf, autoheader, aclocal, libtoolize, pkg-config [at least version 0.16], gtk-doc (recommended)