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/
travis-ci has joined #mlpack
< travis-ci>
mlpack/examples#791 (master - a465236 : kartikdutt18): The build has errored.
< Aakash-kaushikAa>
Hey @zoq, @kartikdutt18 would you guys be free today at 9 PM IST, I have some doubts on getting started with my project, So i was thinking if we could meet on gmeet or just use the zoom room.
< kartikdutt18kart>
Hey @Aakash-kaushik, I'm free. We can meet whenever Marcus is free.
< Aakash-kaushikAa>
Yup, it's 5 am there so let's wait for him to wakeup.
UmarJ has quit [Quit: UmarJ]
< jonpsy[m]>
> There are really few compositors having the same musical style as Tiersen in France. However, there are much more in Germany.
< jonpsy[m]>
If you have any recommends on similar music, please oh please tell me. Btw Yanni's another great composer.
< zoq>
Aakash-kaushikAa: kartikdutt18kart: works for me
< Aakash-kaushikAa>
Great i will send a invite for gmeet on the same emails as before. See you guys then.
< rcurtin[m]>
heisenbuug (Gopi M Tatiraju): actually that is a little bit of a trick for compilation times. `load_csv.cpp` is the only file in the whole library that includes boost::spirit. we use an explicit template declaration in the header file, and then the boost::spirit code will be compiled into libmlpack.so via `load_csv.cpp`
< rcurtin[m]>
basically, all of this is a way to make it so that when a user does `#include <mlpack/core.hpp>`, boost::spirit is not *also* included
< rcurtin[m]>
but, your project should result in all that code going away, and boost::spirit not existing at all, so that will be significantly simplified :)
< rcurtin[m]>
I hope that helps clarify---let me know if I can explain anything further
< heisenbuugGopiMT>
Oh okay, got it...
UmarJ has joined #mlpack
< rcurtin[m]>
heisenbuug (Gopi M Tatiraju) I think I misremembered a little bit but the general idea above is right... let me try again...
< rcurtin[m]>
the whole idea was that we want to reduce the work that the compiler has to do when a user types `#include <mlpack/core.hpp>` or calls `data::Load()`. compiler slowdowns often come from two places; (1) included files are very large, and (2) it can be time-consuming to instantiate template expressions and types
< rcurtin[m]>
boost::spirit headers are very large, so like I wrote before we definitely want to try to ensure that boost::spirit doesn't get included when the user includes the rest of the library
< RishabhGarg108Ri>
Completely agree with @jonpsy Chopin's pieces are really great 😍. Also, "River flows in you" by Yiruma is a mind-blowing one. I will definitely recommend listening to it if you haven't yet.
< rcurtin[m]>
in order to avoid including boost::spirit, we must use it only inside a file that gets compiled into libmlpack.so, and not something that would be included by the user. to do this, the files `load_csv.hpp` and `load_csv.cpp` are *only* included by `load_impl.hpp`... but `load_impl.hpp` is *not* included by `load.hpp`...
< rcurtin[m]>
instead, `load.hpp` has all these `extern template` definitions... these basically tell the compiler "please trust that this particular specialization is available somewhere, but you don't need the exact definition"
< rcurtin[m]>
then, CMake is configured such that `load.cpp` gets compiled into `libmlpack.so`---and that `load.cpp` file actually has the commands that force the compiler to instantiate those `extern template` overloads from `load.hpp`
< rcurtin[m]>
thus, a user who includes `#include <mlpack/core.hpp>` ends up including `load.hpp` but *not* `load_impl.hpp` or `load_csv.hpp`, and thus boost::spirit is not included, saving compiler time
< rcurtin[m]>
in addition, because only `load.cpp` actually compiles the `data::Load()` versions that use boost::spirit, then a user's compiler does not need to do that, and can rely on the precompiled versions in `libmlpack.so`
< rcurtin[m]>
anyway... all this complexity can go away when boost::spirit is gone! shrit you might find the discussion above interesting too if you weren't familiar with the reasons why it is the way it is
< RishabhGarg108Ri>
Hi @ryan:ratml.org, I tried to debug by creating custom datasets and printing information about the tree. But the results are a bit weird. Can you also take a look at them?
< RishabhGarg108Ri>
Specifically, I wrote three datasets and the only differences in them were the total number of points in the dataset and the scale of labels. But still the tree formed from then looks very different from each other.
< rcurtin[m]>
RishabhGarg108 (RishabhGarg108): just saw your email; let me handle a couple other things and then I'll take a look 👍️
< RishabhGarg108Ri>
Great :+1:
< heisenbuugGopiMT>
1) included files are very large, and (2) it can be time-consuming to instantiate template expressions and types
< heisenbuugGopiMT>
@ryan:ratml.org thank you for the detailed explaination...
< rcurtin[m]>
sure, happy to discuss it more if something didn't make sense :)
ImQ009 has quit [Quit: Leaving]
< shrit[m]>
Did anyone have any success in putting matrix in weechat + doing the verification?
< shrit[m]>
I used to use it, then it stopped automatically, now it needs verfications
< shrit[m]>
* I used to use it, then it stopped automatically, now it needs verifications
< shrit[m]>
Doing my best to reconfigure weechat
< shrit[m]>
testing from weechat
< shrit[m]>
Well the mlpack channel is not encyrpted
< shrit[m]>
so it still possible to send messages to it
< shrit[m]>
Also I had to verify sessions from matrix settings, I am not sure if this works well
< shrit[m]>
The messages from gitter bridges are show with a long user name with a hash with it
< shrit[m]>
Also I had to hide the nicklist bar, and the buflist bar to make it possible to read messages
< shrit[m]>
I am not sure, maybe it is related to bridge, but only gitter users name are very different.
< shrit[m]>
you have to turn off weechat and re-open it to see the username of new slack user
< shrit[m]>
for instance, after closing and re-openning weechat I can see Gman as your user name.