ChanServ changed the topic of #mlpack to: "mlpack: a fast, flexible machine learning library :: We don't always respond instantly, but we will respond; please be patient :: Logs at http://www.mlpack.org/irc/
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Ping timeout: 245 seconds]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has quit [Read error: Connection reset by peer]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Ping timeout: 245 seconds]
xiaohong has joined #mlpack
ssk99 has joined #mlpack
xiaohong has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Remote host closed the connection]
ssk99 has quit [Remote host closed the connection]
ssk99 has joined #mlpack
< ssk99>
Guys, I'm unable to compile the code from source. CMAKE is throwing huge numbers of warnings and errors. First I assumed it was because of the changes in my working repo, but even the official 3.1.1 library isn't compiling.
< ssk99>
These are the warnings and errors I saw in the output while compiling:
< ssk99>
warning: unused but set parameterwarning: unused functionerror: ‘class ens::VanillaUpdate’ has no member named ‘Initialize’ updater.Initialize(learningNetwork.Parameters().n_rowserror: ‘class ens::VanillaUpdate’ has no member named ‘Update’ updater.Update warning: #warning "Using deprecated NumPy API, disable it with "
< ssk99>
"#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp](learningNetwork.Parameters().n_rowswarning: this statement may fall through [-Wimplicit-fallthrough=]warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
< ssk99>
Sorry about that they came in one line
< ssk99>
warning: unused but set parameter
< ssk99>
warning: unused function
< ssk99>
error: ‘class ens::VanillaUpdate’ has no member named ‘Initialize’ updater.Initialize(learningNetwork.Parameters().n_rows
< ssk99>
error: ‘class ens::VanillaUpdate’ has no member named ‘Update’ updater.Update
< ssk99>
warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp](learningNetwork.Parameters().n_rows
< ssk99>
warning: this statement may fall through [-Wimplicit-fallthrough=]
< ssk99>
warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
< rcurtin>
ssk99: right, so I believe I know what's happened here... there was an ensmallen version update that changed some lower-level APIs that parts of mlpack use
< rcurtin>
ensmallen is downloaded automatically during the build process into build/deps/
< rcurtin>
so, you can try removing build/deps/ and see if CMake automatically downloads the new version
< rcurtin>
or, you can just remove the build directory entirely and reconfigure/rebuild
< rcurtin>
(with the git master branch that is)
< ssk99>
rcurtin: is the new ensmallen version 2.10.2? Because cmake did download that library when i ran the cmake ../
< rcurtin>
ssk99: yes, but do that with the git master branch
< ssk99>
Alright, will do. Thanks :)
< rcurtin>
let me know if there is any issue---I think what I suggested should work :)
< rcurtin>
ssk99: I think you are right, because it downloads too new of a version of ensmallen
< rcurtin>
but, we'll do a new release shortly and I can fix that by hardcoding the version of ensmallen it downloads
< ssk99>
Ah I see, thanks for the clarification
< rcurtin>
but you're right, when we released mlpack-3.1.1 we didn't realize what breaking changes in ensmallen would do
< rcurtin>
and by we, well, I mean "I", because I wrote that code :)
< ssk99>
rcurtin: Reporting back, so now the library compiles. There are still warnings for deprecated numpy, unused but set parameters and implicit fallthrough but I'm sure you were aware of those already.
< ssk99>
Leaving that aside, when running make all, build_pyx_knn failed. But after completion running make build_pyx_knn was successful. What do you make of that?
< ssk99>
And also, HMMTest/DiscreteHMMGenerateTest and MatrixCompletionTest/UniformMatrixCompletionSDP fail
< rcurtin>
ssk99: we can't fix the deprecated numpy warnings, those are part of Cython
< rcurtin>
if there are any warnings you see that we can fix in our code, you're welcome to open a PR---sometimes different warnings happen with different compilers, so you may be seeing warnings that others aren't
< rcurtin>
I don't have enough details to understand the failure with build_pyx_knn (I'd need to see what the build failure actually was)
< rcurtin>
same with the tests
< ssk99>
rcurtin: should i open an issue for these failures? or is there a better way?
< rcurtin>
ssk99: you can do that, that would be just fine :)
< rcurtin>
we can try and debug it over IRC too---up to you
< ssk99>
IRC sounds good :)
< ssk99>
x86_64-linux-gnu-gcc: internal compiler error: Killed (program cc1plus)Please submit a full bug report,with preprocessed source if appropriate.See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.error: command 'x86_64-linux-gnu-gcc' failed with exit status 4src/mlpack/methods/neighbor_search/CMakeFiles/build_pyx_knn.dir/build.make:57:
< ssk99>
recipe for target 'src/mlpack/methods/neighbor_search/CMakeFiles/build_pyx_knn' failedmake[2]: *** [src/mlpack/methods/neighbor_search/CMakeFiles/build_pyx_knn] Error 1CMakeFiles/Makefile2:5631: recipe for target 'src/mlpack/methods/neighbor_search/CMakeFiles/build_pyx_knn.dir/all' failedmake[1]: ***
< rcurtin>
my guess is your system started swapping and got really, really slow too?
< rcurtin>
I'd suggest building with fewer cores
< ssk99>
How do I insert a newline in IRC '=D
< rcurtin>
hehe, I think a newline is a new message
< ssk99>
So there's no way to dump a multiline comment?
< rcurtin>
well, IRC has length limits on messages too, so it's no problem to send a bunch of messages
< ssk99>
It didn't get really really slow though
< rcurtin>
oh, ok, maybe there is no swap on your system or something :)
< rcurtin>
usually when that happens though, the system will become unusable for a little while as the kernel swaps things in and out of RAM to try and make enough memory
< ssk99>
But shouldn't the make command have failed if the system ran out of RAM?
< rcurtin>
it's ok either way; the fix is just to use fewer cores to compile
< rcurtin>
did you run with 'make -jX'?
< rcurtin>
for some X
< ssk99>
Yep -j12
< rcurtin>
do you have 12 cores on your system?
< ssk99>
Yeah. I ran $nproc and got 12
< rcurtin>
ah, ok
< ssk99>
I read that $nproc was the lower limit and you could go on increasing
< rcurtin>
I wouldn't usually recommend it, usually in my experience just using the number of cores is the right call
< rcurtin>
however, that means you are running 12 steps of the compilation in parallel at once
< rcurtin>
and this is why it runs out of memory :)
< rcurtin>
so I'd suggest trying with a smaller number of cores, and that should fix the memory problem
< rcurtin>
(it may also take slightly longer)
< ssk99>
In any case, why would only that one test fail?
< rcurtin>
"build_pyx_knn" isn't a test, that's a compilation step
< rcurtin>
basically imagine that 12 different processes are trying to compile different files at the same time
< rcurtin>
during this compilation process, they will request for memory to be allocated, and sooner or later there isn't enough memory left
< rcurtin>
so in this case build_pyx_knn is the unlucky one; it can't get any memory and it crashes. if you ran again, it might be a different one that fails
< ssk99>
Oh I stand corrected, another make target failed just now
< ssk99>
I ran with 6 cores this time and it worked out fine. :)
< rcurtin>
awesome, glad it worked :)
< ssk99>
bin/mlpack_test gives 2 failures however
< ssk99>
fatal error: in "HMMTest/DiscreteHMMGenerateTest": critical check arma::norm(hmm.Transition() - hmm2.Transition()) < 0.01 has failed [0.010771949796276921 >= 0.01]
< ssk99>
fatal error: in "MatrixCompletionTest/UniformMatrixCompletionSDP": memory access violation at address: 0x0000001c: no mapping at fault address
< rcurtin>
the HMM test failure is just unlucky; the matrix completion test is a bit more concerning though
< rcurtin>
I'll widen the tolerance for DiscreteHMMGenerateTest in a little bit
< rcurtin>
many of the mlpack tests are necessarily probabilistic---we want to test if the model works, so we choose a tolerance on some random data
< rcurtin>
but that means sometimes it can fail... so we have to work hard to keep the failure probability down
< ssk99>
These 2 failed the last few times too
< rcurtin>
once it's compiled, the random seed is set, so that HMM test will fail as many times as you run it
< rcurtin>
(that's for reproducibility)
< ssk99>
So it might not fail for other random seeds?
< rcurtin>
exactly
< rcurtin>
for the MatrixCompletionTest failure, you're welcome to open an issue for it or try and dig in with gdb and valgrind to figure out where the invalid memory access is if you want a challenge :)
< ssk99>
One PR at a time :D I'm working on getting the move and copy operators for the other trees working
< rcurtin>
:)
< rcurtin>
I'm about to open a PR to fix another test; I'll add the DiscreteHMM test tolerance fix into that also
< ssk99>
Sounds good
ImQ009 has joined #mlpack
ssk99 has quit [Remote host closed the connection]
xiaohong has joined #mlpack
xiaohong has quit [Ping timeout: 245 seconds]
KimSangYeon-DGU has joined #mlpack
KimSangYeon-DGU has quit [Ping timeout: 276 seconds]
abernauer has joined #mlpack
< abernauer>
rcurtin: The R consortium is accepting proposals for project grants through October 14th. I am going to write up a proposal.
< abernauer>
They typically accept proposals with broad appeal, but domain specific projects have been accepted in the past.
< rcurtin>
abernauer: sounds good, have you talked with Dirk or James about it?
< abernauer>
No I haven't. Though I will reach out with an email discussing it.
< rcurtin>
yeah, that would probably be helpful
< abernauer>
ok sounds good.
abernauer has quit [Remote host closed the connection]
ImQ009 has quit [Quit: Leaving]
KimSangYeon-DGU has joined #mlpack
< KimSangYeon-DGU>
Hmm, my local passed NBCTest, I'll test it with about 3,000 seeds randomly generated.
< KimSangYeon-DGU>
Oops, it's my fault. I'll fix it
< zoq>
KimSangYeon-DGU: That's fast.
< rcurtin>
KimSangYeon-DGU: make sure to do `sleep 1` between runs, otherwise if you use math::RandomSeed(std::time(NULL)), std::time(NULL) only changes once per second, so you might run with the same seed many times
KimSangYeon-DGU has quit [Ping timeout: 268 seconds]