mlpack IRC logs, 2017-12-13

Logs for the day 2017-12-13 (starts at 0:00 UTC) are shown below.

December 2017
--- Log opened Wed Dec 13 00:00:29 2017
02:14 -!- vivekp [~vivek@unaffiliated/vivekp] has joined #mlpack
05:16 -!- sourabhvarshney1 [8ba704ed@gateway/web/freenode/ip.] has joined #mlpack
05:23 -!- vivekp [~vivek@unaffiliated/vivekp] has quit [Ping timeout: 240 seconds]
05:27 -!- vivekp [~vivek@unaffiliated/vivekp] has joined #mlpack
05:39 -!- arunikayadav42 [0e8bc218@gateway/web/freenode/ip.] has joined #mlpack
06:17 -!- sourabhvarshney1 [8ba704ed@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
06:54 -!- sourabhvarshney1 [8ba7068f@gateway/web/freenode/ip.] has joined #mlpack
07:02 -!- vivekp [~vivek@unaffiliated/vivekp] has quit [Ping timeout: 264 seconds]
07:02 -!- vivekp [~vivek@unaffiliated/vivekp] has joined #mlpack
07:06 -!- arunikayadav42 [0e8bc218@gateway/web/freenode/ip.] has quit [Quit: Page closed]
07:15 -!- alsc [~alsc@] has joined #mlpack
07:32 -!- alsc [~alsc@] has quit [Quit: alsc]
08:11 -!- sourabhvarshney1 [8ba7068f@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
09:29 -!- Quasar [~QuasarSup@] has joined #mlpack
10:30 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has joined #mlpack
11:07 -!- manish7294 [~manish@2405:205:1183:4862:352d:8f18:3e87:49b7] has joined #mlpack
11:17 < manish7294> Hello, I am new here and I would like to work on Generative adversarial network. Could you please suggest me any algo implementation on which I can work on.
11:18 -!- QuasarSuperstar [~QuasarSup@] has joined #mlpack
11:22 -!- Quasar [~QuasarSup@] has quit [Ping timeout: 256 seconds]
11:33 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
11:44 < QuasarSuperstar> so I tried to get mlpack to also work on windows 10's linux bash console
11:45 < QuasarSuperstar> mlpack_knn -h
11:45 < QuasarSuperstar> Segmentation fault (core dumped)
11:45 < QuasarSuperstar> lol
11:52 -!- vivekp [~vivek@unaffiliated/vivekp] has quit [Ping timeout: 264 seconds]
11:54 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has joined #mlpack
11:55 -!- vivekp [~vivek@unaffiliated/vivekp] has joined #mlpack
12:02 < QuasarSuperstar> sorted
12:02 < QuasarSuperstar> just needed to build armadillo properly
12:02 < QuasarSuperstar> :)
12:49 -!- govg [~govg@unaffiliated/govg] has joined #mlpack
12:53 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
13:10 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has joined #mlpack
13:14 -!- arshdeep [9d279bf9@gateway/web/freenode/ip.] has joined #mlpack
13:14 < arshdeep> HI
13:15 < arshdeep> anybody?
13:15 -!- arshdeep [9d279bf9@gateway/web/freenode/ip.] has quit [Client Quit]
13:15 < zoq> arshdeep: Hello, there!
13:19 -!- sourabhvarshney1 [8ba707b3@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
13:23 -!- manish7294 [~manish@2405:205:1183:4862:352d:8f18:3e87:49b7] has quit [Ping timeout: 240 seconds]
13:48 -!- manish7294 [~manish@] has joined #mlpack
14:23 -!- sourabhvarshney1 [8ba70440@gateway/web/freenode/ip.] has joined #mlpack
14:26 -!- sourabhvarshney1 [8ba70440@gateway/web/freenode/ip.] has quit [Client Quit]
15:03 -!- alsc [] has joined #mlpack
15:14 -!- govg [~govg@unaffiliated/govg] has quit [Ping timeout: 260 seconds]
15:17 < zoq> rcurtin: Looks like sometimes we still run into some apt-get problems (#1166), not sure but as a last resort we could just remove the lock and move on?
15:20 < alsc> hey guys, can anybody explain me why in the ANN tests, the sigmoid layer is always used right after the input layer and not as I would expect after the hidden layer?
15:20 < alsc>
15:21 < zoq> It's used right after the first hidden layer model (input) -> hidden (linear) -> activation (sigmoid)
15:22 < alsc> ah so the first “Add” doesn’t define the input layer?
15:22 < alsc> that’s kind of built-in
15:23 < zoq> yeah, right, the input layer is just the input data.
15:23 < alsc> ok I see now, thanks!
15:23 < alsc> also, is normal (non leaky) relu implemented? can’t find it
15:26 < zoq> yes, it's called: ReLULayer and it#s defined in and used by the BaseLayer
15:26 < alsc> really nice
15:28 < alsc> do you have any idea about what should indicate me to try and add a Dropout layer?
15:29 < alsc> I wish there was a nice guide with stuff like: first do a vanilla feedforward network. if results arent good enough, then test this. it it takes forever to train, test that… and so on
15:31 < rcurtin> alsc: kind of like the flowchart Andreas Mueller made some years ago:
15:32 < alsc> woah, that’s neat
15:32 < rcurtin> zoq: kind of insane that we are having these issues... I guess removing the lock forcefully is something we could try, but if another apt process is running it could make things weird
15:32 < rcurtin> but let's give it a shot...
15:33 < zoq> alsc: might be helpful too
15:34 < alsc> thanks, I’ll give it a look
15:35 < alsc> looks cool! I am working on way less sophisticated/shallow networks, with 1D feature vectors… in my mind I kind of wanna push this to the maximum before starting using many layers
15:37 < alsc> also because it should work on embedded devices so I can’t afford too many coefficients… I wanna squeeze the last bit of performance through data preprocessing and classic ANN settings
15:42 < zoq> I guess, for finetuning you could use the hyperparameter optimization method?
15:43 < rcurtin> -- Kirill wrote that last summer, I think it's really nice code
15:43 < rcurtin> I'm not sure I've heard any reports of anyone using it yet, so if you wanted to give it a try I'd be happy to help out and adapt any feedback into the tutorial and code
15:45 < alsc> I will definitely go through it, thanks. my optimization method is super brute force at…
15:45 < alsc>
15:45 < alsc> I am creating all the permutations of all the parameters in a yaml input file and test the validation accuracy of each configuration step
15:47 < alsc> so I am definitely up to test something more refined also because what I do can take ages and test lots of configurations that I know dont make too much sense
15:48 < alsc> ah ok that’s more or less what this code does up to when it speaks about gradients… “In some cases we may wish to optimize a hyperparameter over the space of all possible real values, instead of providing a grid in which to search.”
15:54 -!- alsc [] has quit [Ping timeout: 240 seconds]
16:00 -!- manish7294 [~manish@] has quit [Ping timeout: 264 seconds]
16:01 -!- manish7294 [~manish@2405:205:1301:7d02:352d:8f18:3e87:49b7] has joined #mlpack
16:01 -!- alsc [] has joined #mlpack
16:05 -!- Quasar [~QuasarSup@] has joined #mlpack
16:08 -!- QuasarSuperstar [~QuasarSup@] has quit [Ping timeout: 264 seconds]
16:09 < rcurtin> alright, the sticker onslaught begins... I emailed all old mlpack contributors and offered to mail them stickers
16:09 < rcurtin> so I think I'll spend a lot of time at the post office in the next while
16:11 -!- alsc [] has left #mlpack []
16:11 -!- alsc [] has joined #mlpack
16:15 -!- brni [cb6ef20a@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
16:20 < zoq> rcurtin: Let me know, if I should mail some too, it might be faster and cheaper from europe.
16:21 < rcurtin> sure, I'll coordinate and let you know where stickers need to go
16:21 < zoq> good
16:22 < zoq> sudo rm -f /var/lib/dpkg/lock && add-apt-repository -y ppa:ubuntu-toolchain-r/test ->
16:22 < zoq> Error: must run as root
16:22 < rcurtin> ah oops, typing faster than I was thinking
16:23 < rcurtin> I hadn't gotten back around to checking on that one yet, thanks for pointing it out
16:38 < manish7294> Hi, there is only mean square error implementation in ann. So, I want to ask whether I can implement mean absolute error or any other loss function.
16:50 < zoq> There is also cross entropy and negative log likelihood, but if you like to see another one e.g. mean absolute error as you said please feel free.
16:54 < manish7294> thanks
17:00 -!- manish7294 [~manish@2405:205:1301:7d02:352d:8f18:3e87:49b7] has quit [Quit: Leaving]
17:23 -!- deepanshu_ [uid212608@gateway/web/] has joined #mlpack
17:45 < miqlas> hi
17:46 < miqlas> rcurtin: problems :)
17:46 < miqlas> rcurtin:
17:47 < rcurtin> hmmm, how does pkgconfig work on haiku?
17:47 < rcurtin> I'm guessing it is trying to put that .pc file in the wrong place
17:48 -!- Quasar [~QuasarSup@] has quit [Quit: wroom]
17:49 < miqlas> yep, one cannot change the system from chroot
17:49 < miqlas> so it fails
17:50 < miqlas> the error not really descriptive, but it is a wrong path for sure
17:50 < miqlas> i'm currently searching for any way to explicit tell cmake where that file should go
17:51 < miqlas> this is the current recipe:
17:53 < miqlas> but interestingly this recipe worked for me locally. Still investigating.
17:53 < rcurtin> miqlas: I guess I am not sure enough about haiku to know exactly the way things need to be
17:54 < rcurtin> mlpack.pc won't be generated if pkg-config isn't found, by the way
17:54 < rcurtin> so maybe simply that would be a solution (but that's not very good for anyone who might want to use pkg-config and mlpack on haiku... but I bet that set of people is very small anyway...)
17:54 < miqlas> it built with pkgconfig locally
17:54 < miqlas> and the .pc file got installed too
17:55 < miqlas> rebuilding right now locally, as i cannot post-mortem investigate the build-bot build folder as it gets purged.
17:55 < miqlas> so it will be a fun night with plenty fan-noise
17:55 < rcurtin> heh
17:56 < rcurtin> you might have to do what we did with travis... add lots of "echo" and "ls" to try and figure out the state of the system on the buildbot...
17:56 < miqlas> hmm... no, that won't help
17:57 < miqlas> i need to find where the pkgconfig file gets installed. And where does it gets the path.
17:57 < miqlas> because only the path is wrong.
17:57 < miqlas> at the end of the main cmakefile i see this:
17:57 < miqlas> install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/mlpack.pc DESTINATION lib/pkgconfig/)
17:58 < miqlas> but where does the DESTINATION comes from?
17:59 < rcurtin> I think I hardcoded that DESTINATION because every system I found with pkgconfig put it there
17:59 < rcurtin> if that needs to change maybe we can make it more flexible, but like I said I dunno where it is supposed to go on haiku :)
18:00 -!- s1998 [2f1d3b09@gateway/web/freenode/ip.] has joined #mlpack
18:02 -!- s1998 [2f1d3b09@gateway/web/freenode/ip.] has left #mlpack []
18:02 -!- s1998 [2f1d3b09@gateway/web/freenode/ip.] has joined #mlpack
18:03 < miqlas> rcurtin: it should go into $libdir/pkgconfig
18:03 < miqlas> nothing fancy
18:04 < miqlas> just let us pass an absolute path to cmake, like -DPKGCONFIG_INSTALL_PATH or something
18:04 < miqlas> rcurtin: does the binaries mandatory for the lib?
18:04 < miqlas> i think no.
18:05 < miqlas> It seems one can compile mlpack without them. (BUILD_CLI_EXECUTABLES)
18:08 -!- alsc [] has quit [Quit: alsc]
18:09 < rcurtin> miqlas: sure, do you want to put together a patch again for something like PKGCONFIG_INSTALL_PATH?
18:10 < rcurtin> and yeah, the binaries are not mandatory but I think they are the most useful part of the library for an end user
18:10 < rcurtin> some distributions package these separately from the library; debian has libmlpack, mlpack-bin, and mlpack-dev if I remember right
18:11 -!- alsc [] has joined #mlpack
18:13 < miqlas> rcurtin: i don't want to remove the cli stuff, but outsource them from the main package. The point is: i can imagine that user application would be depend on mlpack, so one needs to install the main package. But if one have no interest in developing new things then the cli stuff is useless.
18:13 < miqlas> so i defined an extra package for the cli stuff, what depend on the main package.
18:13 < rcurtin> yep, that sounds similar to what the other packagings do
18:14 < miqlas> so the main package will contain only the lib. the cli package will contain all the cli apps, and the devel package all the headers and pc file
18:14 < rcurtin> yeah, exactly, I think that is the best way to do it
18:16 < miqlas> rcurtin: sorry, i'm not very good with cmake, and no idea how to patch the pkgconfig install section what doesn't break the hell on other platforms.
18:16 < miqlas> I suppose i just comment the .pc install part now and manually copy it to the right place.
18:16 < miqlas> or something.
18:18 < rcurtin> hm, you can do that if you like; let me get the code that would be needed, hang on
18:18 < rcurtin> up at the top, under all of the option()s, you could do
18:19 < rcurtin> set(PKGCONFIG_INSTALL_PATH "lib/pkgconfig" CACHE PATH)
18:19 < rcurtin> then in the line for install() just change to 'DESTINATION ${PKGCONFIG_INSTALL_PATH}/'
18:20 -!- alsc [] has quit [Quit: alsc]
18:21 < miqlas> great, i test it
18:21 < miqlas> but i can give you any results in 2-3 hours :S
18:21 < rcurtin> sure, no hurry
18:24 < miqlas> don't we need a closing ) after DESTINATION ${PKGCONFIG_INSTALL_PATH}/ ?
18:26 < rcurtin> yeah, sorry about that
18:28 < miqlas> :D
18:29 < miqlas> Maybe you guys develop a way to control the headers intall path too. I currently moving them to the right location with mv in the recipe.
18:29 < miqlas> *could*
18:29 < rcurtin> I think that can be done through usual CMake, hang on
18:30 < rcurtin> so you can set ${CMAKE_INSTALL_PREFIX} and they will install to ${CMAKE_INSTALL_PREFIX}/include, is that acceptable?
18:30 < rcurtin> the same is actually true for pkgconfig, it will install to ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/
18:30 < miqlas> we got no include dir
18:31 < rcurtin> I'm a bit confused then, how does this work on haiku?
18:31 < rcurtin> if I compile a program like 'g++ -o test test.cpp', what include directories are used?
18:31 < rcurtin> or do I have to specify one for each installed library manually?
18:31 < miqlas> include dir called "headers"
18:32 < miqlas> see here:
18:33 < miqlas> this is the include folder, so it got all the header files.
18:33 < rcurtin> right, I see, if you want to patch that also you can do it in the same way as PKGCONFIG_INSTALL_PATH
18:34 < miqlas> yep, it is a PITA to adjust all the ports but it was so on BeOS so we cannot change it.
18:34 < rcurtin> I could also see someone on Windows also wanting to adjust that in some situations so allowing the install include path to be set could be useful
18:34 < miqlas> rcurtin: but if i understood you right i don't have to patch the pkgconfig stuff if i define the CMAKE_INSTALL_PREFIX right?
18:34 < rcurtin> *could be useful for more than just Haiku
18:35 < rcurtin> miqlas: yes, that is true, if you can use CMAKE_INSTALL_PREFIX to get what you need there is no need to update
18:35 -!- alsc [] has joined #mlpack
18:35 < miqlas> Haiku is love, Haiku is life.
18:35 < rcurtin> er, 'no need to patch'
18:35 < miqlas> rcurtin, currently my recipe doesn't defines CMAKE_INSTALL_PREFIX, so i try first to define it instead patching the cmake files
18:36 < rcurtin> miqlas: sure, sounds good, it will be the easier way to go
18:36 < rcurtin> to be honest copying all the files for the include directory might be the easiest thing to do also
18:37 < miqlas> the include dir location already handled by my recipe
18:38 < miqlas> lets the party begin!
18:38 < miqlas> # hp mlpack
18:38 < miqlas> (hp = haikuporter executable)
18:39 < miqlas> Umm...
18:39 < miqlas> So then why on earth did i specified them ? :D
18:40 < miqlas> yeah, they are ignored as no handling implemented in the cmake files.
18:40 < rcurtin> yeah, you can only specify CMAKE_INSTALL_PREFIX and things will be installed to ${CMAKE_INSTALL_PREFIX}/include or bin or whatever else
18:41 < miqlas> ok, i see.
18:42 < miqlas> removed the unneeded stuff. cleaned things a bit up , now it can run
18:42 < miqlas> -- Found PkgConfig: /boot/system/bin/pkg-config (found version "0.29.2")
18:42 < miqlas> looks good
18:43 < miqlas> you know, in haiku everything packaged, and if somebody installs a package, like mlpack, the package gets downloaded and moved in a special location. It hovewer doesn't gets extracted. Never.
18:44 < miqlas> The package-daemon recognizes the package and virtually populates the file-system. On the fly.
18:44 < miqlas> So if you remove the package, in the same time all the virtually extracted file goes dissapear
18:44 < miqlas> thats why all the system folder read-only
18:45 < miqlas> actually almost 95% of the system disk is read only, as they just virtually extracted files
18:46 < miqlas> strange concept, but it lets us to easily create an temporary chroot environment, attach the required packages (declared in the recipe), and build the softwares in this closed environment
18:47 < miqlas> absolute control over the dependencies
18:47 < rcurtin> right, it is nice to be able to do that to make sure that the package isn't writing where it shouldn't
18:48 < miqlas> yep. But one still can compile stuff in the home folder with the traditional way as in linux, as the home folder is not read-only.
18:49 < miqlas> actually it isn't true, as partially it is also read only, but you got the point
18:50 < miqlas> nah, i go watching movies
18:50 < miqlas> bye and thanks for your help
18:50 < rcurtin> sure, enjoy your movies :)
18:52 < miqlas> Just checked the build folder, and i see this:
18:52 < miqlas> file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES "/sources/mlpack-mlpack-2.2.5/build/lib/pkgconfig/mlpack.pc")
18:52 < miqlas> that path looks ok
18:53 < miqlas> so bye
18:53 < miqlas> rcurtin: Absolutely important question: how about backwards compatibility?
18:54 < miqlas> Currently i have this in my recipe:
18:54 < miqlas> lib:libmlpack$secondaryArchSuffix = $portVersion compat >= 2.2
18:54 < miqlas> it means the package provides lib:libmlpack 2.2.5 compat >=2.2
18:55 < miqlas> does it compatible all way back to 0 or 1, or just to 2?
18:55 < rcurtin> yes, that should be fine, see
18:55 < rcurtin> it won't be compatible with mlpack 1.x
18:56 < miqlas> then i could say it is compat >=2 right?
19:00 < rcurtin> yeah
19:01 < miqlas> great, adjusted
19:18 -!- alsc [] has quit [Quit: alsc]
19:31 -!- alsc [] has joined #mlpack
19:32 -!- alsc_ [~alex@] has joined #mlpack
19:33 -!- deepanshu_ [uid212608@gateway/web/] has quit [Quit: Connection closed for inactivity]
19:39 -!- alsc_ [~alex@] has quit [Quit: alsc_]
19:55 < s1998> How to check error in static code analysis ? I can see my PR is failing it but unable to see the reason
19:56 < s1998> And I am unable to find on the error on webpage :
20:13 < alsc> I would reeeeeally like to speed up the compilation time on mac, can you give some advice?
20:14 < alsc> I am using just ANN related stuff… can I instantiate some templates in a translation unit other than where main() is? I have never done this
20:16 < rcurtin> alsc: you can use 'extern templates' to do that, we do it in src/mlpack/core/data/load.cpp for instance
20:16 < rcurtin> you could also try using ccache, I've never tried it but it could really help (or so I hear)
20:17 < alsc> ah yes, I had looked at the file before.. so for example what could I instantiate?
20:18 < alsc> I actually have all the mlpack related things wrapped/hidden by other files that I am not touching, still it takes a lot to compile
20:19 < alsc> does that matter at all? shall I still do the extern template thing I guess
20:20 < rcurtin> hmm, it depends on what is actually slow in the compilation
20:21 < rcurtin> reducing the amount of stuff you include is helpful where possible
20:21 < rcurtin> s1998: it fails because the code is failing to build; look at the 'console output'
20:22 < alsc> I am using just FFN<NegativeLogLikelihood<>>, the templated Add for layers and RMSProp, in a translation unit that should have already been compiled. still whenever i touch a line in a user code, it takes really long
20:28 < alsc> ok I think I nailed it :)
20:28 < s1998> oh, okay
20:29 < rcurtin> alsc: good to hear you got it worked out; if you see any ways to help accelerate compilation that could be changed in the core library we can definitely incorporate those changes
21:27 < miqlas> ready:
21:29 < miqlas> i abuse this lil' build server a lot.
21:30 < miqlas> but it should the lest build-run
21:30 < miqlas> let's back to porting tensorflow
21:32 < zoq> miqlas: nice
21:37 < miqlas> :)
21:40 < zoq> looks like we are almost in the same timezone it's now 22:40
21:40 -!- alsc [] has quit [Quit: alsc]
21:44 < miqlas> zoq, almost?
21:45 < miqlas> there is no sub-30min timezone afaik.
21:46 < zoq> right, in this case maybe your clock is off or mine is :9
22:10 -!- miqlas-X [] has joined #mlpack
22:10 < miqlas-X> YAY, happenning!
22:16 -!- AndChat|105216 [] has joined #mlpack
22:19 -!- miqlas-X [] has quit [Ping timeout: 264 seconds]
23:06 -!- AndChat|105216 [] has quit [Ping timeout: 255 seconds]
23:06 -!- miqlas-X [] has joined #mlpack
23:41 -!- alsc [] has joined #mlpack
--- Log closed Thu Dec 14 00:00:30 2017