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/
< rcurtin> shrit[m]1: I found the error, but I don't understand it
< rcurtin> you have written in parse_command_line.hpp `for (auto it : parameters) { ... }`
< rcurtin> I found, by adding a destructor to ParamData and printing the memory address being destructed, that the `util::ParamData& d = it.second` being created in the loop was being *destructed* at the end of each loop iteration
< rcurtin> therefore, the CLI::App object still has a lambda that uses this now-invalid reference, hence the segfault
< rcurtin> now what I don't understand is *why* `auto` is inferring the wrong type here (and I have no idea what type it *is* inferring)
< rcurtin> however, this is why I like to avoid `auto` wherever I can, because of strange and unexpected behavior like this :)
< rcurtin> (auto is especially bad with armadillo, because armadillo uses the type system pretty rigorously and auto often infers the wrong types)
< kartikdutt18[m]> Hi, Run ./bin/mlpack_test -t TestName
< jonpsy[m]> Thanks!
HeikoS has joined #mlpack
ImQ009 has joined #mlpack
< shrit[m]1> rcurtin Thanks, I never thought that auto might point to a wrong type. I will bring the old type defined here
< rcurtin> no worries, hope that that helps :)
< jeffin143[m]> How do we link a program against armadillo ?
< zoq> jeffin143[m]: clang++ test.cpp -std=c++11 -larmadillo
< jeffin143[m]> Thanks that works
< shrit[m]1> rcurtin: it is working when using the normal iterator
< rcurtin> awesome!
< shrit[m]1> Just to keep in mind I had already cahnged some iterator to use auto in the PrintHelp function I think, but it is working
< shrit[m]1> *changed
< shrit[m]1> I hope this will not rise an issue
< rcurtin> it might be good to change it to the "long form" instead of auto just in case some other compiler has a problem with it, but if it's working for your experiments, maybe not something to spend too much time on now
< rcurtin> (we could come back to it later)
< shrit[m]1> Ok, the only loop to get inside is the check for duplication, I do not know if CLI11 handle duplicates, But I will adapte this loop for CLI11
< shrit[m]1> rcurtin considering the duplicate in command line, why it is written, boost did not handle the duplicates at the time of writing?
< rcurtin> I think so, yeah---if it isn't needed for CLI11, feel free to nuke it :)
< shrit[m]1> I have tested the old boost program option, and it seems to detect the duplicated when commenting this part
< rcurtin> that code was originally written in 2010, so maybe many things have changed :)
< rcurtin> when the automatic binding system was built, I mostly just adapted what the boost::po code already did instead of investigating it or changing it
< shrit[m]1> Ok, I will show you the output of CLI11, I am afraid of special cases, but we can added later
< shrit[m]1> So it detects that -c added two times, and should only be added once
< rcurtin> yeah, that seems fine to me
< shrit[m]1> Perfect, I will move by effort on raw pointer on CEREAL
< rcurtin> sounds good---I suspect that the right way there is going to be managing to avoid serializing pointers where possible
< rcurtin> luckily most of our pointer-based structures are trees (which are acyclic), so the answer to "has this child been serialized yet" is easy to answer :)
< rcurtin> maybe we can make a shim that takes a raw pointer, wraps it in a weak_ptr<> or some C++ smart pointer (I'm not very familiar with those), and then serializes that
HeikoS has quit [Ping timeout: 240 seconds]
< KhizirSiddiquiGi> Hey @saksham189 . I was trying to complete the PR #1983 . In comments, you said the gradient part and numerical tests are left. I had few doubts about the gradient part already there. I was reading the paper Miyato et al, 2016, I couldn't understand the part you are using the `error` argument in `Gradient()`. How were you approaching the gradients? I would like to complete it that way preferably.
< KhizirSiddiquiGi> Thanks for helppp!! :)
dendre has joined #mlpack
ImQ009 has quit [Quit: Leaving]
< jeffin143[m]> @walragatver:matrix.org :
< jeffin143[m]> You still up ?
< KhizirSiddiquiGi> @saksham189 I will be a little more precise, the lines where you assign gradient as : ` gradient.submat(weight.n_elem, 0, gradient.n_elem - 1, 0) =
< KhizirSiddiquiGi> arma::sum(error, 1);`
< KhizirSiddiquiGi> Sorry for texting multiple times. :nervous:
< HimanshuPathakGi> @khizirsiddiqui in #1983 you need to implement a GradientfunctionTest like here https://github.com/mlpack/mlpack/blob/22e7c8e7d24c38c6837a0486fd0a45b5e2d7900c/src/mlpack/tests/ann_layer_test.cpp#L699 to complete that :)
< HimanshuPathakGi> I think also not sure about the gradient function is working fine or not you can pull that code and check whether it is working fine or not.
< KhizirSiddiquiGi> Yeah, I have pulled the code. Makes sense, I should just implement the numerical gradient test and see if it works.
< KhizirSiddiquiGi> But if it works I will still be left with gradient code part xD I didn't understand it properly. xD
< KhizirSiddiquiGi> Thanks for quick help!!
< HimanshuPathakGi> We can also give a review on that :
< HimanshuPathakGi> :)
< KhizirSiddiquiGi> Sure, I will put up a PR soon. :thumbsup:
< HimanshuPathakGi> :thumbsup:
< KhizirSiddiquiGi> btw, the `ann_layer_test.cpp` is around 3800 lines. won't it be nicer to create another folder and put individual layer tests there?
< KhizirSiddiquiGi> just a thought, my VS Code with intellisense crashed yesterday xD I have switched to vim now.
< HimanshuPathakGi> > btw, the `ann_layer_test.cpp` is around 3800 lines. won't it be nicer to create another folder and put individual layer tests there?
< HimanshuPathakGi> Ahh, can't say because adding another folder will be too overwhelming because right we already have many layers and maintaining that many files will be more troublesome this is my point of view but you should discuss it with others also.