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/
< R-Aravind[m]>
I couldn't understand `InputType::elem_type` this part
< zoq>
R-Aravind[m]: Let's say InputType is arma::mat which is an alias for arma::Mat<double>, the function should return the element type of InputType. armadillo allows us to get the element type via elem_type.
< zoq>
R-Aravind[m]: which is double in case of arma::Mat<double>
< zoq>
if InputType is arma::Mat<size_t> --- typename InputType::elem_type would be size_t
< zoq>
if InputType is arma::fmat --- typename InputType::elem_type would be float
< zoq>
since fmat is an alias for arma::Mat<float>
< rcurtin>
ak: interesting, can you provide your code that's failing or some kind of reproducible example?
< rcurtin>
very cool blog post nishantkr18[m]!
< nishantkr18[m]>
<rcurtin "very cool blog post nishantkr18["> Thanks rcurtin :)
ak has joined #mlpack
< ak>
Sure, I am going to try to recompile mlpack with debug on, and see what that gets me. All I am doing is calling lr.Train(arma::mat input, arma::Row<size_t> labels);, I am fairly confident the fault is not on my side as it worked well before the code change
< ak>
Also if this conversation is better in the actual pr comments let me know
< rcurtin>
up to you, it works either way for me
< zoq>
rcurtin: I guess the bot needs to merge the release PR?
< rcurtin>
ah, sorry, I was planning to do the merge so I could watch the logs and see what happened :)
< rcurtin>
let's take a look...
< zoq>
rcurtin: ohh, my bad
< rcurtin>
no worries! it was going to be the same result regardless of who clicked the button :)
< rcurtin>
oh, hm, but the 2.14.0 tag has not been created
< rcurtin>
that's basically my whole experience with writing js :)
< ak>
sorry, maybe I have the inputs all wrong-- should the predictors variable contain the variables and the label, and the response a garbage row that will be written over with the result?
< ak>
so, say you are only giving one point of information, where there are n features, the predictor variable should be a column of size n + 1?
< rcurtin>
ak: ah, yeah, the predictor variable should only be the columns to predict with, and the response should be a row vector with the label
< rcurtin>
ah sorry change "only be the columns" to "only be the dimensions"
< rcurtin>
I have to be careful with the notation, since mlpack/Armadillo are column-major, so each *point* is a *column* not a row like in numpy
< ak>
I see, thank you. I made a small test program with the patch and I don't see any problems / can't reproduce the memory error, sorry for the time waste it must be in my program
< rcurtin>
ok, awesome that you got it to work! :)
< ak>
does the dimension variable for logReg include the label? I am getting an error when i set the dimension to 5, and input a feature column of size 5
< rcurtin>
how are you setting the dimension?
< ak>
mlpack::regression::LogisticRegression<> model(5, 0.5);, with 5 being the dimension and 0.5 the lambda
< rcurtin>
hmm, can you tell me what the error is that you are getting? just looking at the code it appears there should be no issue
< ak>
so I think I found something, when I set the dimesion of the model to 5, the saved model's parameter is size 6
< ak>
error: arma::memory::acquire(): out of memoryterminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
< rcurtin>
yes, that extra element is for the bias
< rcurtin>
so the number of parameters should be the number of dimensions plus one
< rcurtin>
can you show me the full code that you're using? (or a simple way to reproduce the issue?) I can't reason why you would be getting a bad_alloc
< rcurtin>
(that usually means that Armadillo is trying to allocate a matrix that is way too large)
< ak>
I am working on finding a way to reproduce it outside of my env, but if its any help it seems to work when I change the dimension to either 4 or 6 inside the environment. I'm not sure where I would be making a large matrix either
< rcurtin>
okay---I'm finishing some things up for my work now, but I'll see if I can manage to reproduce it this evening
< rcurtin>
I'm not sure what exactly your setup is, so maybe I did not replicate it right, but if you ensure that the data input has n_rows equal to the dimensionality and n_cols equal to the number of points,
< rcurtin>
and that responses is a Row<size_t> with number of elements equal to the number of points, I think that it should work fine
< rcurtin>
zoq: say4n: ha, I figured out why my javascript fails for mlpack-bot...
< rcurtin>
here's the regex:
< rcurtin>
var descrRegex = /### Changelog\n/m
< rcurtin>
but the script was run from OS X (I think?), so the relevant part of the PR body is actually "### Changelog\r\n" :)
< zoq>
such a classic :)
< ak>
rcurtin: Yep, that looks like the same result I had when I did a standalone program. I think I found the problem, but I am sure it is on my side. Here is the xml after what I thought was initializing the model with 2 dimensions :') https://pastebin.com/jpf0N2Fx .
< ak>
Thank you all for the help!
< rcurtin>
of course, happy to help out :)
< rcurtin>
okay... finished the ensmallen 2.14.0 release manually. maybe next time we can get it more automatic :)