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/
< kartikdutt18[m]>
Downloading is not really an issue, We already have added a downloader using boost in C++ in the models repo. I think the context is to allow download during runtime. This would be especially useful when a user tries to download weights and datasets, the repo would automatically download only the required weights and datasets.
< kartikdutt18[m]>
We can download using CMake or python script or both for pre-runtime downloads. Run time downloads would make even more sense if we use mlpack-models in notebooks. Also, I think most libraries like PyTorch and Tensorflow support runtime downloads. Kindly let me know what you think. Thanks.
< kartikdutt18[m]>
The problem lies with unzipping files, we can either have seperate files for testing and training on the server or we can add a dependancy to models repo and resolve it locally.
< rcurtin>
ohhh, I see what you mean. probably way better to add the dependency to the models repo then, because compression is really important for keeping bandwidth usage down
< rcurtin>
sorry that I misunderstood the usage :)
< kartikdutt18[m]>
No worries, makes sense. Will open a PR for it. Thanks a lot.
learnerml has joined #mlpack
< learnerml>
Hi ... Is mlpack allowed to use for commercial purpose ?
< learnerml>
Like for integrating in some business analytics product ?
< birm[m]>
my messages and the links contained are not legal advice.
< birm[m]>
learnerml: hopefully that is useful info for your purposes
learnerml has quit [Ping timeout: 245 seconds]
< jeffin143[m]>
Windows got , winget -package manager
< jeffin143[m]>
May be we can simply do winget install mlpack
< jeffin143[m]>
And puff there is mlpack
< KimSangYeon-DGU[>
Can I re-run only AppVeyor build?
< KimSangYeon-DGU[>
And it seems pvs-studio-analyzer and plog-converter aren't able to be found in Static Code Analysis check
< nishantkr18[m]>
Hey everyone. I'm having some confusion in FFN::Backward() function.. I dont get why we provide input as a parameter to it?
< nishantkr18[m]>
I suppose we store the activations we get with the Forward() function, in the network object internally.. In that case, we should just require to pass the target and lvalue of gradient to Backward()
< nishantkr18[m]>
right?
< zoq>
nishantkr18[m]: There is no requirement to store the output activation in the layer itself, so it's safer to use the input.
< zoq>
KimSangYeon-DGU[: We have to install pvs studio on another host, since masterblaster is down.
< zoq>
KimSangYeon-DGU[: Also what build do you like to restart, maybe there is some setting that's not right.
< shrit[m]>
rcurtin I am sorry but I had to miss video chat today
< shrit[m]>
I have some question about lapack
< shrit[m]>
it seems to me that OpenBlas implements basic algebra operation, which is very optimized. While LAPACK on the other hand, implements more complicated algebra operation, LAPACK requires OpenBlas as a dependecy. So LAPACK needs to link against OpenBlas or any blas library.
< shrit[m]>
Armadillo is a wrapper for LAPACK, so Armadillo requires LAPACK and OpenBLAS
< eddelbuettel[m]>
Not quite. OpenBLAS is one of many BLAS libraries. Atlas or MKL are others. Armadillo works with any one of them.
< eddelbuettel[m]>
And doesn't care which as all implement the BLAS /LAPACK api.
< shrit[m]>
Exactly, but Armadillo requires both of them
< shrit[m]>
BLAS and LAPACK,
< rcurtin>
shrit[m]: right, sorry for the slow response (no worries about missing the video meeting)
< rcurtin>
now I had thought---but I could be incorrect---that OpenBLAS also had a LAPACK implementation
< rcurtin>
what I know is that when I use Armadillo without the wrapper, it's generally sufficient to just link with -lopenblas (i.e. -llapack -lopenblas isn't needed)
< rcurtin>
however, I'm not sure of the exact underlying details of why
< rcurtin>
so, perhaps I could be wrong
< shrit[m]>
I am sure of what you said shoud be true
< rcurtin>
I'm not :-D
< shrit[m]>
Because that what OpenBlas website is claiming
< shrit[m]>
I as digging inside the archive of libopenBlas.a (I compiled it with LAPACK support) but still there are some symbols are missing
< shrit[m]>
For example: dgeqrf_, dorgqr_, dsyevd_, dgesdd_ are required by mlpack_knn but still not found in openblas
< rcurtin>
so I went and grabbed the OpenBLAS distributed with Julia:
< shrit[m]>
My own .so on my /usr/lib also does not have them
< rcurtin>
hmm, no idea what build magic they are doing to do that though
< rcurtin>
I linked to the build script earlier in your PR, maybe that link is helpful?
< rcurtin>
in any case, I'm sure there are many ways to solve the problem, and maybe it always boils down to compiling LAPACK
< shrit[m]>
I am sure of that, it is simple, I will have to read the MakeFiles of OpenBlas in details to see what is happening. I understand now that by using (a good compiled) openblas it will be sufficent for Armadillo.
< rcurtin>
yeah, I guess for me the only question is whether or not getting LAPACK to embed inside of OpenBLAS is equivalent to just compiling LAPACK and OpenBLAS separately... but I am not sure
< rcurtin>
I suspect you are about to be the expert on such matters :)
< shrit[m]>
Finally, Mlpack have 3 dependecies, boost_po, boost_sera, and OpenBlas
< shrit[m]>
After a set of testing today, if I need to add LAPACK, I will have to add CBLAS and F2C
< shrit[m]>
When knn example worked, I had CLAPACK BLAS, and F2C (fortrant to C library). This is the reason I started asking my self what is the reason of OpenBlas if there is another BLAS
< rcurtin>
yeah, I guess, if CLAPACK BLAS is easier to set up (and smaller), maybe it works better for the purposes of this project
< rcurtin>
personally I have generally seen that OpenBLAS is more performant though
< rcurtin>
(no idea what the size implication is---but I figured, if OpenBLAS is native C++, it doesn't need libgfortran, which should reduce a dependency)
< shrit[m]>
I know, I use OpenBlas it is much more performant.
< shrit[m]>
True F2C is a dependecy to make CLAPCK working