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/
Yashwants19 has joined #mlpack
Yashwants19 has quit [Ping timeout: 256 seconds]
vivekp has joined #mlpack
pd09041999 has joined #mlpack
< chandramouli_r>
zoq: I have implemented atari-games using DQN in python and I would like to add some more detail into it. I just ran a basic version of the game using a few libraries. I would now like to add more detail and optimise it using the papers in the ideas section.
< ShikharJ>
I like the LOTR and Jim Carrey analogy already.
pd09041999 has quit [Remote host closed the connection]
pd09041999 has joined #mlpack
pd09041999 has quit [Remote host closed the connection]
gmanlan has joined #mlpack
< gmanlan>
@rcurtin
< gmanlan>
you there?
< rcurtin>
well, I am for a second... but now my plane is landing :(
< rcurtin>
so I'm about to lose internet
< rcurtin>
once I'm on the train home from the airport I should be able to chat
< gmanlan>
ok great, wanted to pick your brain for a bit regarding #1887
< gmanlan>
I'm trying to find the bug (if any) on the forest randomness (which is not for some reason)
< rcurtin>
oh, were you able to replicate the issue?
< rcurtin>
I haven't had a chance to look into it yet
< gmanlan>
yes, I can replicate it
< rcurtin>
if I remember right each tree in the random forest should be selecting different random dimensions
< rcurtin>
(also I am surprised I haven't been kicked off inflight wifi yet)
< gmanlan>
yeah, I see that in the code, but for some reason there is no randomness at all
< gmanlan>
I assume that's provided by MultipleRandomDimensionSelect
< rcurtin>
oh... wait a second...
< rcurtin>
what happens if you run with OMP_NUM_THREADS=1?
< rcurtin>
or without OpenMP
< gmanlan>
let's see
< rcurtin>
the training is done in an OpenMP loop, so I fear that what's happening is that the random number generator is being copied to all threads, thus producing the same random numbers
< rcurtin>
parallelism bugs :(
< gmanlan>
I just disabled openmp in the sample app I'm using, but still the same...
< gmanlan>
to be sure, I do a diff of the saved models each time, and every time I train, the resulting models are 100% identical - metrics as well consequently
< rcurtin>
hmm, ok
< rcurtin>
ok, landing now
< rcurtin>
talk later
< gmanlan>
sure - ttyl
< rcurtin>
oh. I think I get what the issue is
< rcurtin>
MultipleRandomDimensionSelect selects dimensions at the time of construction
< rcurtin>
but when we do trees.resize(), it copies them all
< rcurtin>
thus they all have the same value
< gmanlan>
ahhh good catch
< gmanlan>
what class is handling resize()?
< gmanlan>
wrong question - it's a vector
< gmanlan>
actually resize is being call before the training
< rcurtin>
I think the solution will be to re-initialize the dimension selector in the decision tree when Train() is called
< rcurtin>
let me write that up and a test case too
< rcurtin>
I think I can do it on the train ride home
< rcurtin>
could be overoptimistic :)
< gmanlan>
ah ok, I was trying to replace the resize by an old-fashion initialization
< gmanlan>
but you know better the code
< rcurtin>
that could work too I guess. if you're already working on something I can stay outnof the way :)
< rcurtin>
out of*
< rcurtin>
I think either solution is fine
< gmanlan>
will update you in 7' if my approach works
< gmanlan>
otherwise will let you go with yours
< rcurtin>
sounds good
< rcurtin>
I will at least write up a test case :)
< gmanlan>
sounds good - and man, I'm so not used to Templates
< gmanlan>
it gives me headaches :)
< rcurtin>
eventually the headache becomes permanent and you stop noticing it
< rcurtin>
:)
< gmanlan>
hahaha
< gmanlan>
didn't work for me
< rcurtin>
ok, up to you, I can try making a patch or use the one you put together as a starting point if you can send a gist or patch or something
< gmanlan>
I will let you try, I think I'm slowing you down anyways
< gmanlan>
I have my environment ready to go if you get something, I can quickly verify it works under different scenarios
< rcurtin>
no worries, let me try a quick change
< rcurtin>
mg test case is successfully failing so let me see if I can make it succeed
< rcurtin>
my*
< rcurtin>
coding on a phone is a little hard though
< rcurtin>
:)
< gmanlan>
you are coding on a phone? that's a new XP level
< rcurtin>
hehe
< rcurtin>
I do everything through a GNU screen session
< rcurtin>
so I just connect my phone via ssh to that session
< rcurtin>
and if I get uo from my desk mid-sentence, I can just continue from there on my phone :)
< gmanlan>
that's awesome - painful maybe - but awesome
< gmanlan>
last time I did something like that was with a WinCE Pocket PC
< gmanlan>
(nightmare)
< rcurtin>
hehe, wince indeed
< rcurtin>
for me it's not great but it became necessary because airport travel has so much downtime
< gmanlan>
I agree
< rcurtin>
waiting in security lines... sitting on a bus to or from the airport... etc.
< gmanlan>
ok I have to drive now and I will not try to mimic you with your GNU session
< rcurtin>
ok, I have a fix, but then I noticed that the RF code isn't bootstrapping the data
< gmanlan>
will be back in 40'
< rcurtin>
which broke some other tests that were poorly written by me some years ago :)
< rcurtin>
yeah, coding and driving, probably a bad idea :)
< rcurtin>
talk to you later
< gmanlan>
ah- better sooner than later
< gmanlan>
ttyl
gmanlan has quit [Ping timeout: 256 seconds]
ani1238[m] has joined #mlpack
< rcurtin>
fix is ready, I'm just testing the robustness of the tests now
gmanlan has joined #mlpack
< gmanlan>
I'm back
< gmanlan>
rcurtin: do you need help testing the fix?
< rcurtin>
sure, need to push it
< rcurtin>
just finished dinner, once I get home I' push the code and open a PR for testing