verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
tham has joined #mlpack
nilay has joined #mlpack
nilay has quit [Client Quit]
govg has joined #mlpack
nilay has joined #mlpack
< nilay> hello tham.
< tham> hello
< nilay> you said opencv does not tell us how to train structured random forest
< tham> I mean, it do not implement that part
< tham> atleast I can not find it from the codes
< nilay> is there something there.. i could not find the main cpp file
< nilay> yes
< tham> Atleast it show you how to detect
< nilay> but how can we detect if we don't train random forest
< tham> opencv provide us a pretrain model
< tham> I think there are two way solve the problem
< tham> you can find a way to reuse to trained model(if zoq think this is ok)
< tham> or reimplement the training part
< tham> we need to study the codes and the paper if we want to know how to implement it
< nilay> i studied the paper. i have some problems in their approach
< tham> To tell you the truth, me too
< tham> So I dig into the codes to find out how to implement it
< tham> What is your problem?
< tham> You already decided you want to implement edgeBoxes?
< nilay> i don't know
< tham> Or selective search?
< nilay> it is not my decision only, you and zoq can also decide it.
< nilay> in section 3.2 of the paper how are they calculaqting w_b(s_i)
< tham> We could give you some suggestions, but you are the one who determine which mehtods you want to pick
< tham> this is your project, you should pick the one you like to implement :)
< tham> About section 3.2, please wait a moment
< nilay> i think, if edgeboxes can be done we can do edgeboxes. but i don't know if i can do it.
< nilay> for training the random forest their matlab code and paper are the only sources?
< tham> Maybe not, but this is the only source I know
< tham> open source
< tham> I think it is possible to transform matlab code to c++
< tham> There is c++ implementation of section 3.2 out there
< tham> I could send you the link
< nilay> ok
< tham> But there are different
< tham> atleast the k value they use is 1.0, not 1.5
< nilay> this is a python version, to train random forests. do you think i can use this a reference.. because i find python more readable, and i don't have matlab on my machine.
< tham> nice search
< tham> you can install octave if you do not have matlab
< nilay> and we can use the machine zoq provided, to test whether this indeed does give a competitive performance. he says 12gb ram is required.
< nilay> i have octave.. but he uses matlab image processing toolbox, so i guess i will get stuck at some point if i try to run that matlab code.
< nilay> and they also use a toolbox that they made themselves.
< tham> I think octave also has the toolbox
< tham> I think it is ok to use the python codes as reference if you think it is more readable
< nilay> ok
< tham> If you think edgeBoxes is overwhelmed, you can switch to another algorithm
< nilay> yes but i can only know that by trying it out first.
< tham> Like selective search(I think this one is easier to understand and implement)
< tham> Agree
< nilay> do you think if we can train random forest rest of the part we can follow from opencv implementation..
< nilay> then i start with random forest with the python code as reference, and also develop a rough interface that zoq talked about.
< tham> The codes of opencv, you can use it as reference, but better try to map the implementation with the description of the paper
< tham> since it is not accepted yet, the implementation details may have some flaws
< nilay> ok
< tham> I will take a look at the implementation of python later
< nilay> ok thanks. i will start with this, let's see how much i can do :P :)
< tham> Maybe you can reuse the Hoeffding tree of mlpack
< tham> random forest is build on top of dtree
< tham> if Hoeffding tree do not work, rcurtin can help us refactor it :)
< tham> Good luck :)
< nilay> wait no\
< nilay> yes this one only
< tham> ok, so we have decision tree already
< tham> Then we should be able to build random forest on top of it
< nilay> yes
nilay has quit [Ping timeout: 250 seconds]
Mathnerd314 has quit [Ping timeout: 260 seconds]
tham has quit [Ping timeout: 250 seconds]
tham has joined #mlpack
Nebula_ has joined #mlpack
govg has quit [Quit: leaving]
Nebula_ has quit [Client Quit]
Nebula_ has joined #mlpack
Nebula_ has left #mlpack []
nilay has joined #mlpack
< nilay> hello zoq
< nilay> root privileges are required to make install mlpack on remote machine.
< nilay> i get following error when loading data in arma matrix: /usr/bin/ld: /tmp/cczyATX3.o: undefined reference to symbol 'wrapper_dgemm_' //usr/lib/libarmadillo.so.4: error adding symbols: DSO missing from command line
< zoq> nilay: Hello, there is basically no need to run 'make install' you can just use e.g. 'bin/mlpack_pca'
< zoq> nilay: if you run an executable?
< nilay> yes it works
< nilay> this error i get in my home machine.. loading into arma mat
< zoq> nilay: you mean if you build mlpack?
< nilay> no after i try to run some program.
< nilay> finding covariance
< nilay> also in the remote machine, how can i run sample programs if i do not make install
< zoq> can you run 'export LD_LIBRARY_PATH=/usr/local/lib/' what command do you used to build the example?
< nilay> g++ 1.cpp -o foo -lmlpack -std=c++11
< nilay> i have already added 'export LD_LIBRARY_PATH=/usr/local/lib/' to .bashrc
< nilay> brb
< zoq> you can always specify the location like 'clang++ example.cpp -L/home/nilay/mlpack/build/libmlpack.so -I/home/nilay/mlpack/build -I/Users/marcus/src/mlpack/build/include/ -std=c++11'
< zoq> try building using: g++ 1.cpp -o foo -std=c++11 -larmadillo -lmlpack
< zoq> you probably also have to link against boost: g++ -std=c++11 -lmlpack -larmadillo -lboost_serialization -lboost_program_options 1.cpp -o foo
< nilay> g++ 1.cpp -o foo -std=c++11 -larmadillo -lmlpack works..
< nilay> do you think when compiling other programs i will also have to use: g++ -std=c++11 -lmlpack -larmadillo -lboost_serialization -lboost_program_options 1.cpp -o foo
< nilay> can i do something about this, so that i have to only link -lmlpack?
< nilay> and in the remote machine i cannot compile such programs until i do make install...
< nilay> i also pm you a list of python and python libraries to install
< zoq> nilay: if -lmlpack works for you that's all you need
< nilay> it doesn't work. i have to link -larmdillo
< zoq> nilay: yeah, I'm about to install everything
< nilay> ok thank you..
< nilay> and make install mlpack also?
< zoq> nilay: ah, if '-lmlpack and -larmadillo' works fo you you don't have to link against e.g. '-lboost_serialization' etc.
< zoq> nilay: you can also write a small Makefile, if you like, or I can write you a simple Makefile
< nilay> yes i will writ a makefile, thanks
< nilay> write*
< zoq> nilay: if libmlpack isn't in /usr/local like on the remote you can manually specify the location with like: 'g++ 1.cpp -o foo -std=c++11 -L/home/nilay/mlpack/build/ -larmadillo -lmlpack
< zoq> and also specify the include dir with -I/home/nilay/mlpack/build/include/
< nilay> i get a bunch of errors when i compile this way
< zoq> can you post the command?
< nilay> g++ 1.cpp -o foo -I/home/nilay/mlpack/build/include/ -lmlpack -std=c++11
< nilay> on the remote machine
< nilay> i tried adding -larmadillo also but doesn't work on remote machine.
< nilay> is mlpack already installed on remote, that is why you are asking me to include library this way?
< nilay> error comes related to arma_snprintf
< nilay> i can paste the error here if you like
< zoq> nilay: that would be great
< nilay> ok now when i type this command: g++ 1.cpp -o foo -I/home/nilay/mlpack/build/include/ -larmadillo -lmlpack -std=c++11, the error i get on remote is: In file included from /home/nilay/mlpack/build/include/mlpack/core.hpp:195:0, from 1.cpp:1: /home/nilay/mlpack/build/include/mlpack/prereqs.hpp:17:19: fatal error: cstdlib: No such file or directory
< zoq> nilay: clang++ 1.cpp -I/usr/local/include/ /home/nilay/mlpack/build/lib/libmlpack.so -I/home/nilay/mlpack/build/include -std=c++11 -L/usr/local/lib/ -larmadillo
< nilay> clang++ isn't installed
< zoq> on the remote?
< nilay> oh wait, sorry
< nilay> there are many warnings generated
< zoq> I guess, boost related?
< nilay> yes
< nilay> and when i run ./a.out i get: Shared object "libmlpack.so.2" not found, required by "a.out"
< zoq> export LD_LIBRARY_PATH=/home/nilay/mlpack/build/lib/:/usr/local/lib/
< nilay> the program runs but the warnings are still there.
< zoq> don't worry about the warnings, most of them are boost style warnings and unsued parameters
< nilay> ok
< zoq> nilay: it hasn't anything to do with mlpack, you could suppress the warnings using some compiler settings if you like
< zoq> nilay: Also, the python code looks promising. I'll have to take a closer thought.
< zoq> nilay: python, numpy, matplotlib, sklearn and ipython installed
< zoq> I think the implementation should be too much of a hassle since we already have a bunch of code we can use or reuse.
< tham> Looks like python codes are easier to read
< zoq> tham: I think, you can basically write ugly code in every language.
< tham> zoq : I agree with that
Mathnerd314 has joined #mlpack
nilay has quit [Ping timeout: 250 seconds]
tsathoggua has joined #mlpack
tsathoggua has quit [Client Quit]
tham has quit [Quit: Page closed]
Akh has joined #mlpack
Akh has quit [Quit: Page closed]
nilay has joined #mlpack
< nilay> ok zoq, i am taking a look at some related mlpack code right now and running it, then i will look at the python code, then i will start...
< zoq> nilay: Sounds good, if you need any help, we are here
< nilay> ok thanks :)
< nilay> zoq: is this the complete linking or do we need to give some more files to link? g++ -std=c++11 -lmlpack -larmadillo -lboost_serialization -lboost_program_options 1.cpp -o foo
< zoq> nilay: I think that's it
< nilay> zoq: i still get these... 1.cpp:(.text+0x421): undefined reference to `mlpack::Log::Info' 1.cpp:(.text+0x426): undefined reference to `mlpack::util::PrefixedOutStream::operator<<(char const*)' 1.cpp:(.text+0x438): undefined reference to `mlpack::util::PrefixedOutStream::operator<<(unsigned long)' 1.cpp:(.text+0x445): undefined reference to `mlpack::util::PrefixedOutStream::operator<<(char const*)' 1.cpp:(.text+0x450): undefined referenc
< nilay> and many more
< zoq> nilay: on your local system?
< nilay> yes
< zoq> using the same example as before?
< nilay> the next example... nearest neighbor
< nilay> every example gives some new errors :p
< zoq> nilay: try: g++ 1.cpp -o foo -std=c++11 -lmlpack -larmadillo -lboost_serialization -lboost_program_options
< zoq> nilay: g++ is picky about the 'right' order
< nilay> ohh
< zoq> nilay: does that work for you?
< nilay> yes
< zoq> nilay: great :)
< nilay> so, the link options(-lmlpack, -larmadillo) can be in any order?
< zoq> nilay: yes
< nilay> ok. . . if there was a tutorial somewhere about these things, i won't bother you this much
< zoq> nilay: yeah, I agree, we should write some kind of document for all this little flaws.
< zoq> nilay: Some of the problems are really system specific, like if you use clang instead of gcc the order doesn't make any difference.
< nilay> is this because clang is supposed to be improvement over gcc
< zoq> nilay: I wouldn't say that, both have their strengths and weaknesses.
< nilay> ok
nilay has quit [Quit: Page closed]
nilay has joined #mlpack
< nilay> where does the Log::Info output get printed?
< nilay> ok it gets printed.. no worries.
< nilay> sometimes Log::Info does not get printed even if we provide -v option
gtank has quit [Ping timeout: 260 seconds]
gtank has joined #mlpack
< zoq> nilay: oh, can you provide an example?
< zoq> nilay: if you use Log::Info inside a unittest you have to reset Log::Info but otherwise it should always work
nilay has quit [Ping timeout: 250 seconds]
mentekid has quit [Ping timeout: 244 seconds]
Rodya has quit [Ping timeout: 240 seconds]
Rodya has joined #mlpack