[mlpack] issue with mlpack Python bindings on Mac OsX

Ryan Curtin ryan at ratml.org
Wed Dec 12 22:01:31 EST 2018


On Wed, Dec 12, 2018 at 10:31:34PM +0000, Frodo Jedi wrote:
> Dear list members,
> I am unable to properly install the python bindings, despite I correctly
> built mlpack from source without any error and warning. I am on a Mac OsX
> 10.12.6 and all the dependencies have been installed with the latest
> available version. I am also using the latest version of Cmake.

Hey there,

Thanks for getting in touch.  Let's see if we can work out the issues.
:)

> Looking at this thread, where the same issue was reported,
> https://github.com/mlpack/mlpack/issues/1416 , I get that mlpack should be
> installed in
> /usr/local/lib/pythonX.Y/site-packages/ However it is not present.

I wonder if this is a result of the Python bindings not being built.
There are a couple things to try which will tell us something.

 1. Try running 'make python' from the build directory.  If make
    complains that the target is unknown, then CMake did not properly
    find everything it needs to build the mlpack bindings.  Try running
    'cmake ..' in a new, clean build directory and it will give some
    more information (if you like, add the information to an email and
    it can help debug).

 2. If 'make python' does work, then it is not being installed for a
    strange reason.  Paste the output of 'make install', and deep inside
    that there will be a section where it installs the Python bindings,
    and there should be information there.

If neither of those work, we can try and come up with some more things
to try, but I strongly suspect either (or both) of those will give us
the information we need to figure out the Python bindings.

> Also, I signal that I get the following errors when running the test:

Thanks for running the tests.  It's always helpful to see what does and
doesn't work for people.  But one issue is that mlpack tests are
randomized, so it is possible to be unlucky.  We do our best to keep the
failure probabilities very low, but sometimes we fail at it.  Actually
as I write this, I am also working on a PR to reduce the failure
probabilities of some tests.

> /Users/frodo/Documents/Machine_learning/mlpack-3.0.4/src/mlpack/tests/logistic_regression_test.cpp:784:
> fatal error: in "LogisticRegressionTest/LogisticRegressionSparseLBFGSTest":
> difference{1.04095e-06} between lr.Parameters()[i]{0.057823485257429592}
> and lrSparse.Parameters()[i]{0.057823425065859017} exceeds 0.0001%

This is just unlucky, I'll increase the tolerance a bit.

> /Users/frodo/Documents/Machine_learning/mlpack-3.0.4/src/mlpack/tests/lrsdp_test.cpp:270:
> fatal error: in "LRSDPTest/GaussianMatrixSensingSDP":
> difference{0.00055936} between measurement{0.00023854628409627696} and
> b(i){0.00023841292538047745} exceeds 0.05%

Same here, 0.0559% difference does not indicate to me that something is
wrong.

> error: eig_sym(): decomposition failed
> unknown location:0: fatal error: in
> "SdpPrimalDualTest/SmallLovaszThetaSdp": std::runtime_error: eig_sym():
> decomposition failed
> /Users/frodo/Documents/Machine_learning/mlpack-3.0.4/src/mlpack/tests/sdp_primal_dual_test.cpp:278:
> last checkpoint: "SmallLovaszThetaSdp" test entry
> ** On entry to DLASCL, parameter number  4 had an illegal value
> ** On entry to DLASCL, parameter number  5 had an illegal value
> /Users/frodo/Documents/Machine_learning/mlpack-3.0.4/src/mlpack/tests/main_tests/preprocess_imputer_test.cpp:76:
> fatal error: in "PreprocessImputerMainTest/PreprocessImputerDimensionTest":
> critical check outputData.n_cols == inputSize has failed [0 != 67]
> /Users/frodo/Documents/Machine_learning/mlpack-3.0.4/src/mlpack/tests/main_tests/preprocess_imputer_test.cpp:143:
> fatal error: in
> "PreprocessImputerMainTest/PreprocessImputerListwiseDimensionTest":
> critical check outputData.n_cols + countNaN == inputSize has failed [26 !=
> 67]

But these three are very strange to me and I have not seen them before.
They do not look like random failures.  I saw some similar errors in
this issue:

https://github.com/mlpack/mlpack/issues/1560

However I do not have an OS X machine, so I am not able to reproduce any
of these issues.  Maybe if someone is able to solve #1560, it could also
solve your problem.  However, if you are not directly planning on using
the imputer for preprocessing or the SDP solver functionality, I think
there should be no problem on your system.

> Finally, I signl that pip install mlpack/mlpack3 does not work.

Right, this only works on 'manylinux' machines due to the challenges of
packaging Python software that depends on C++ libraries.  It could be
possible to make it work for OS X, but personally I do not have any OS X
system so I can't test it.

I hope this information helps!

Thanks,

Ryan

-- 
Ryan Curtin    | "He takes such wonderful pictures with
ryan at ratml.org | his paws."  - Radio man


More information about the mlpack mailing list