IRC logs of #shogun for Monday, 2017-03-20

--- Log opened Mon Mar 20 00:00:12 2017
@sukeyPull Request #3729 "Feature/minkowski example"  opened by elenanst - https://github.com/shogun-toolbox/shogun/pull/372900:03
-!- atefhares [~atefhares@156.204.216.226] has joined #shogun00:38
atefharesHi00:39
-!- atefhares [~atefhares@156.204.216.226] has quit [Quit: Leaving]01:15
@sukeyPull Request #3730 "Register parameters for CMKL and override clone()"  opened by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/373001:42
-!- neha_catwoman [ca8e6ccb@gateway/web/freenode/ip.202.142.108.203] has joined #shogun02:56
-!- mikeling [uid89706@gateway/web/irccloud.com/x-xtgsqfwmagkbneaa] has joined #shogun02:56
-!- nagdev [dce39546@gateway/web/freenode/ip.220.227.149.70] has joined #shogun03:33
-!- neha_catwoman [ca8e6ccb@gateway/web/freenode/ip.202.142.108.203] has quit [Ping timeout: 260 seconds]04:19
mikelingwiking: ping07:57
@wikingpong07:57
mikelingwiking: hey, for https://github.com/shogun-toolbox/shogun/issues/3718, is that mean we just need to make shogun support spdlog(like just use https://github.com/gabime/spdlog/wiki/1.-QuickStart#debugtrace-macros) or07:59
mikelingwarp spdlog into the SG_DEBUG and SG_INFO?08:00
@wikingyeah that's the idea08:03
@wikingi'm just checking spdlog08:03
@wikingi wonder if they support any sorts of config08:03
@wikinglike in case of log4j08:04
@wikingor slf4j08:04
@wikingbut it seems not :(08:04
@wikingwould be cool to look around08:04
@wikingwhat are the options08:04
mikelingwiking: I will look more into it if you agree, maybe we could add this feature in this summer for Detox II :)08:10
@wikingmmm this is a pretty simple08:10
@wikingtask08:10
mikelingok08:10
@sukeyPull Request #3723 "Fix issue #3686"  synchronized by iRmantou - https://github.com/shogun-toolbox/shogun/pull/372309:37
mikelingwiking: how about the gist in https://github.com/shogun-toolbox/shogun/pull/3711#issuecomment-287543923 btw, is that what we need for gtest?09:44
@wiking#include "../../utils/MockDataForSVM.h"09:44
@wikingdont use relative patsh09:44
@wiking#include "utils/MockDataForSVM.h"09:44
@wikingisn't working?09:44
@wikingor moreover09:44
@wikingsorry that shouldn't work09:44
@wikingbut09:44
@wiking#include <utils/MockDataForSVM.h>09:45
@wikingshould09:45
@wikingi dont get09:45
@wikingwhy do you wanna have SVMLightFixture a?09:46
@wikingand why does it have to be a mock?09:46
@wikingi mean first of all09:46
@wikingyou want a utils/DataGenerator.h09:46
-!- lambday|work [c40f1706@gateway/web/freenode/ip.196.15.23.6] has joined #shogun09:46
-!- mode/#shogun [+o lambday|work] by ChanServ09:46
@wikingor something like that09:46
@wikingthat has several options09:46
@wikingto be used to have various data for unit tests09:46
@wikingand the idea there is09:47
@wikingwhether it is possible09:47
@wikingto have there a fixture09:47
@wikingthat is available in all tests09:47
@wikingso you dont have to call explicitly09:47
@wikingthe function DataGenerator.simple_binary_classification_data()09:47
mikelingmmm.....09:48
@wikingthe mocking is always09:55
@wikingstanding for a functionality that you dont wanna or cannot do09:55
@wikingduring the test09:55
@wikinglambday|work, y009:56
@wikingmikeling, https://github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md#global-set-up-and-tear-down09:58
* mikeling is looking09:59
@wikingcoz i believe the fixtures are usually10:00
@wikingonly available in one context/file10:00
@wikingso u wanna have these methods/fixtures available throughout the whole test10:00
mikelingwiking: yeah,  I use SVMLightFixture is because, for SVMLight module, we can use SVMLightfixture in every unit test, even we just have 'train' for now10:04
mikelingso once set up, and we can use that fixture for every unit test for that module10:05
mikelingright?10:05
mikelingwe could just rename the CMockDataForSVM to DataGenerator to avoid the confusion10:07
mikelingI mean, you are right, we don't actually need mock10:07
@wikingk10:08
@wikingyea10:08
@wikingbut we need it10:08
@wikingglobal10:08
mikelingwiking: you mean the we need a global fixture for every SVM module?10:11
@wikingno10:11
@wikingi mean that we need a global fixture10:11
@wikingfor those data generators10:11
@wikingi bet a 100 usd10:11
@wikingthat there are like 10 different implementation10:12
@wikingof data generators10:12
@wikingatm in the unit tests10:12
@lambday|workwiking: hey there10:16
@lambday|workwiking: here's a crazy idea.. how about we move the subset code from CFeatures and make it an operator instead... will clean the $#!t that is presently CFeatures10:17
@lambday|workit IS an operator.. a linear one.. isn't it10:17
@wikinglambday|work, yeah10:18
@lambday|workSubset_{indices}(A+B) = Subset_{indices}(A) + Subset_{indices}(B)10:18
@wikingwe need something like that10:18
@lambday|worksame goes with dimension subset10:18
@wikingbecause currently10:18
@wikingit's a fucking mess10:18
@wikingbut i would say10:18
@lambday|workit is10:18
@wikingwhat about10:18
@wikingCFeatures.being()10:18
@wikinghaving iterators?10:18
@wikingso that the features are actually iterable10:19
@lambday|workwiking: totally.. me and Heiko discussed it long back10:19
@wikingi'm currently rewriting file10:19
@wikingthrowing out StreamingFile10:19
mikelingwiking: so, we need to unify all those data generators and use a global fixture to instead of them?10:19
@wikingmikeling, yes10:19
@lambday|workalso, how about we design the concepts a bit more mathematically.. abstract concepts... will appeal to researchers who use this thing..10:19
@wikinglambday|work, we'll just have CSVRecordReader10:19
@wikingand that'll have an interator access10:19
mikelingwiking: alright, I finally got the point. :)10:20
@wikingand that way we dont care10:20
@wikingif it's streaming10:20
@wikingor none streaming10:20
@wikingit's all the same10:20
@wikinglambday|work, ^10:20
@lambday|workwiking: yeah.. that's what the DataManager thing does ATM.. with the feature of getting things block-wise...10:20
@lambday|workwould be cool10:20
@wikingyep10:21
@wikingbut we need the whole input storry10:21
@wikingto be like that10:21
@lambday|workwiking: yeah but let's think a bit more about the proper use-cases... and about the abstract ideas..10:22
@wiking?10:22
@wikingwhich one?10:22
@wikingi mean i'm currently writing10:22
@wikingthe input format10:22
@wikingso i dont care about that10:22
@wikingthe current one we have is a fucking mess10:22
@wikingand it doesn't work10:22
@wiking:)10:22
@wikingso anything is better10:22
@wikingobviously i'm gonna put it in a feature branch when it's reviewable10:23
@wikingand people can input10:23
@lambday|workwiking: absolutely..10:26
@lambday|workI'll see something about subsets in cfeatures10:26
@wikingk10:27
@lambday|workone more thing... I don't like the fact that we keep on modifying the state of the objects so much... why should be "push" the subset changes inside the instance? we want subsetted feature, we'd get a new instance (even though shares the same underlying matrix)..10:27
@lambday|workway cleaner this way I believe10:28
@wikingwell10:28
@wikingthis is the story10:29
@lambday|workmakes it easier to use const..10:29
@wikingof immutables10:29
@wikingright? :)10:29
@lambday|workwiking: that's the point10:29
@wikingi mean we are mutating all our objects all the time10:29
@lambday|workwhy shouldn't we use it10:29
@wikingwhich is bad in many ways10:29
@wikingquestion is10:29
@wikingwhat is the advantage? :)10:29
@lambday|workwiking: less error prone?10:29
@wikingnono10:29
@wikingi know about immutable pros10:29
@wiking:)10:29
@wikingwhat i'm asking10:30
@wikingdo you have any pros for mutable objects?10:30
@wikinglets say in case of feaures?10:30
@wiking*features10:30
@lambday|workwiking: I can't think of anything10:30
@wikinglisitsyn, ^10:30
@lambday|workwhy should features be modified?10:30
@wikinglambday|work, preproc10:30
@wikingcurrently they do modify it internally10:31
@wikingif i remember correctly10:31
@wikingno?10:31
lisitsynmutable = bad10:31
@lambday|workwiking: when you preprocess, mathematically you map it to a different feature space..10:31
lisitsynI have no idea what you talk about10:31
lisitsynbut it is10:31
lisitsyn:D10:31
@lambday|workwhy not use a new instance for that10:31
@wikinglisitsyn, why is it good that we have mutable CFeatures10:31
@wikinginstead of making it immutable10:31
lisitsynes no bien10:31
@wikingdo you have a advantage there for keeping it mutable?10:31
lisitsynmutable = less memory10:32
@lambday|worklisitsyn: yeah tell us.. cause I've got nuthin'10:32
@wikinglambday|work, nono you do not need to convince me :)10:32
lisitsynmutable is just to use less memory here10:32
@wikingi'm just trying to be objective in this story10:32
lisitsynthat's it10:32
@wikingmmm yeah true10:32
lisitsynobjective wiking10:32
lisitsynhmm10:32
lisitsyn:D10:32
@wikingalthough currenlty we cannot read more10:32
@wikingthan 10 megs of files10:32
@wiking:D10:32
@lambday|worklisitsyn: we won't make deep copy of the underlying data... rather just a couple of ptrs10:32
lisitsynyes10:32
lisitsynimmutable is still good with proper flyweight10:33
lisitsynmemory-wise10:33
@wikingthere's that story of10:33
lisitsynbut w/o any tricks mutable uses less memory10:33
@wikingapache arrow10:33
lisitsynI think that's it10:33
@wikingand that's actually having the presumption10:33
@wikingthat everything is immutable10:33
@wikinggood stuff because actually youcould pass mem regions10:33
@wikingbetween processes w/o serialization10:34
lisitsynthe prophet wiking tells the truth10:34
@wikinglisitsyn, any problems? :)10:34
@wikingi mean sorry but am i so wrong here?10:34
@wikingi mean in this case we should just fucking start killing all those mutable shit going on tehre10:35
@lambday|workwe don't have to be a Haskell... but at least features should be immutable IMO...10:35
@wikingthink about the kernel normalizers :DDDDDDDD10:35
@wikingkernel normalizers usually caused like10:36
@wiking10 bugs a month10:36
@wikingwhen threading got fixed :)10:36
@lambday|workwe get too bogged down with SE issues that we hardly can do any ML with shogun anymore10:36
@wikingyes10:36
@wikingalthough that was almost always the case10:36
@wikingbut people just ignored10:36
@wiking:)10:37
@lambday|workwiking: let's make it better.. once and for all10:37
@wikinghahah impossible mission10:37
@wiking(once and for all)10:37
@wikingjust lets keep trying :D10:37
@lambday|workwiking: teeny tiny better :D10:37
@wikingis there something like Iterators of guava10:37
@wikingfor c++10:37
@wiking?10:37
@wikingwher eyou can apply predicates on the iterators?10:37
@wikingthat is done on the fly10:38
@wikingthat shit is great in guava10:38
@lambday|workwiking: we're gonna write our custom iterators, right? then why not10:38
@lambday|workwon't expose to swig --> good to go10:38
@wikingyea i mean10:39
@wikingcustomer iterator10:39
@wiking*custom10:39
@wikingit's still gonna be std::iterator :)10:39
@wikingbut no what i mean is10:39
@wikingthat actually before we super reinvent the will10:39
@wiking*wheel10:39
@wikingbecause the java.util.stream is super nice10:39
@wikingnow that c++11 has lambdas10:40
@wikingis there something similar10:40
@wikingi know it's very functional10:40
@wikingit's super easy to use10:40
@wikinghttp://jscheiny.github.io/Streams/10:40
@wiking:D10:40
@lambday|workwiking: that's now one will implement it, right? filters10:41
@lambday|workcppstd doesn't have anything it seems10:41
@wikingwell you know if you take the approach10:41
@wikinglambday|work, there's something about this in c++20 :d10:41
@wikingafaik10:41
@wikinghttp://www.modernescpp.com/index.php/functional-in-c-17-and-c-2010:42
@wikingthere10:42
@wiking:)10:42
@lambday|workwiking: well, I don't see our planet surviving that long10:43
@wiking:)10:43
@wikinganyhow10:43
@wikingyeah changing the features to be immutable10:43
@wikingseems to be a common OK10:43
@sukeyPull Request #3722 "Lock free InputParser and ParseBuffer"  synchronized by tdjogi010 - https://github.com/shogun-toolbox/shogun/pull/372210:43
@lambday|workconcepts would have been great in c++17... but bjarne said he's disappointed that there aren't gonna10:44
@lambday|workwiking: I vote yes10:44
@lambday|workwiking: actually, let's collect such things first10:44
@lambday|worksubset/dimension_subset ===> CLinearOperator....10:44
@lambday|worklisitsyn: what do you say?10:45
@lambday|worklisitsyn: should clean the mess a bit?10:45
lisitsynI fell out the discussion sorry10:45
@wikinglisitsyn, nw10:45
@lambday|workwe define a method in the base and give a SG_NOTIMPLEMENTED.. and then implement it in one subclass10:45
@wikinglambday|work, you mean a linearOperator in sense of linalg?10:45
@lambday|worklisitsyn: features should be immutable10:46
lisitsynwhat's the solution10:46
lisitsynah10:46
lisitsynrighto10:46
@wikinglisitsyn, fuck everybody :)10:46
lisitsynI agree10:46
@wikingand we do immutable features :>10:46
lisitsynfuck the police!10:46
lisitsynyolo10:46
@wikingyeah i mean10:46
@wikingi thnk mutable features are more YOLO10:46
@wikingin this case10:46
@wiking:D10:46
@lambday|workwiking: linear operators/linear maps whatever you call it.. carries the same idea, right? maps a space onto another and carries linearity.. our \mathbb{R}^n linalg is just one case10:49
@wikingno i get what you mean10:50
@wikingi just needed the context10:50
@wikingif you mean the same10:50
@wikingyeah i think it's ok10:50
@wikingbut i wouldnt call it linear operator10:50
@lambday|workwiking: exactly..10:50
@wikingbecause nobody10:50
@wikingis gonna use it10:50
@wikingor understand it10:50
@wikingwhat it stands for10:50
@wikingsince there's no human living on the planet10:50
@wikingwho would call such a mapping in a code10:51
@wikinglinearoperator10:51
@wiking:)10:51
@lambday|workCSubset::apply(...) wouldn't be so bad?10:51
@lambday|workCSubset extends CLinearOperator10:51
@lambday|workwiking: ^10:51
@wikingmmm even subset10:51
@wikingis like10:52
@wikingoookay is10:52
@wiking*ish10:52
@wikingi would call it view or slice or whatever the fuck10:52
@wikingmuch more down the earth10:52
@lambday|workwiking: that's what it is called right now :D.. but if you have better names10:52
@wikingi know10:52
@wikingbut since we are refactoring10:52
@lambday|workview is to database-y10:52
@lambday|workwiking: ummm... subset is not that bad.. people know what it means10:54
@wikingyou'd think10:54
@wiking:)10:54
@lambday|workvery elementary idea10:54
@lambday|workhaha10:54
@lambday|worknot even people doing ML?10:54
@lambday|workwiking: but point is - in principle, we agree about the general idea, right? name cab be decided later10:55
@lambday|workbeen thinking about this for 2-3 days..10:55
@wikingyeah10:55
@lambday|work(a) immutable features (b) subset as external operators10:56
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun10:57
-!- mode/#shogun [+o HeikoS] by ChanServ10:57
@lambday|work3rd problem that I gotta think is about how we're gonna specify properties without MI...10:57
@lambday|workHeikoS: yo10:57
@sukeyPull Request #3728 "Feature/mds example"  synchronized by elenanst - https://github.com/shogun-toolbox/shogun/pull/372811:02
@HeikoSlambday|work: jojo11:04
@HeikoSwhats up?11:04
@lambday|workHeikoS: have a meeting now.. will be back shortly.. had a few ideas and discussed with wiking .. would love to hear your thoughts on this11:30
@HeikoScool yeah shot11:30
@HeikoSshoot11:30
@HeikoSwhen your done11:30
-!- stefanJ_ [~1gn1t0r@196.252.189.152] has quit [Quit: Leaving]11:51
mikelinglambday|work: ping11:58
mikelingDoes this pr https://github.com/shogun-toolbox/shogun/pull/3724 looks good to you?11:59
-!- nagdev [dce39546@gateway/web/freenode/ip.220.227.149.70] has quit [Quit: Page closed]12:07
-!- pranav_ [6719e766@gateway/web/freenode/ip.103.25.231.102] has joined #shogun12:07
pranav_Hello I am interested to apply for GSoS'17 at Shogun and so have for the first step have tried installing it on my Ubuntu OS. However all the steps provided in the installation manual has not worked for me. Can I please receive some help for the same?12:10
@HeikoSpranav_: hi there12:27
@HeikoSof course we can12:27
@HeikoSCaBa: hi12:32
CaBaHeikoS: hey12:34
@HeikoSjust checking your fix12:34
@HeikoSCaBa: so I wonder12:34
CaBawhich one?12:34
@HeikoSdoa12:35
@HeikoSarray12:35
@HeikoSso the pros and cons are12:35
@HeikoSyour fix:12:35
@HeikoSon serialization, only the filled content is serialized, i.e. smaller file12:35
@HeikoSbut on the other hand it is a bit ugly to overload the clone method12:35
@HeikoSthe other way to fix it:12:35
@HeikoSstore the real array length, initialise with NULL, then no need to overload clone12:36
@HeikoSbut that leads to a bigger file12:36
CaBaHeikoS: using the reserved size in add() has additional issues that are hard to handle12:37
@HeikoSlike?12:37
@HeikoSwiking: around?12:38
CaBaHeikoS: two arrays with the same content but different reserved size no longer equal() because the reserved size becomes part of the array ptype12:38
@HeikoSCaBa: when we go tags, this thing will be a pain again12:38
@HeikoSah yeah I see12:38
@HeikoSCaBa: ok it seems like we should think about re-implementing that class12:38
@HeikoSusing STL :)12:38
@HeikoSbut then I think the patch is OK12:39
CaBayep, lets go with the clone() override one. Actually we'll need solutions in more places, the massive clone()ing happening since parallel xval revealed more clone() / Parameter releated issues to me12:40
@HeikoSthats good to know12:41
CaBaHeikoS: see the issues i added. in fact, many CMachine derived classes have not a single parameter registered... they clone into uninitialized evilness...12:42
CaBaHeikoS: i submitted a patch for CMKL and am preparing some cleanup fix for the LibSVM related classes, PR in ~10 mins12:43
@HeikoSthat is great news!12:43
CaBaHeikoS: well for me it wasn't :P i did MKL classifications for a week on a cluster using the parallel xval code. Results are garbage :P12:45
@HeikoSthe parallel xval should have been investigated a bit more carefully12:45
@HeikoSsorry to hear12:46
@HeikoSlets fix it so others dont suffer the same12:46
@HeikoSI keep an eye on your patches and try to give feedback earlier then12:46
@wikingHeikoS, what?12:53
@HeikoSwiking: just asking how thign are12:53
@wikinguff too much stuff12:54
@wikingnot enough time12:54
@HeikoSwiking: how was the conf?12:55
CaBasg is c++11 now, right?12:56
@HeikoSCaBa: develop is yes12:57
CaBaok, so no need for patches to be c++03 compliant, right?12:57
@HeikoSCaBa: what do you  want to use?12:58
@HeikoSno c++11 is name of game now12:58
CaBanothing big, just realized i was using nullptr in some files now and was wondering if i needed to change that13:00
@HeikoSyeah thats fine13:00
@HeikoSCaBa: I am looking at 372013:00
@HeikoSCaBa: I am confused now13:04
@HeikoSboth patches address the same thing13:04
@HeikoSAh you suggest to discard the init one13:05
@HeikoSI am ok with that, can you close yourself?13:05
@sukeyIssue #3726 "Thread safety of 3rd party libraries is not checked" karlnapf added label: "BUG" - https://github.com/shogun-toolbox/shogun/issues/372613:06
@sukeyIssue #3726 "Thread safety of 3rd party libraries is not checked" karlnapf added label: "development tasks" - https://github.com/shogun-toolbox/shogun/issues/372613:06
@sukeyIssue #3726 "Thread safety of 3rd party libraries is not checked" karlnapf added label: "entrance" - https://github.com/shogun-toolbox/shogun/issues/372613:06
@sukeyPull Request #3723 "Fix issue #3686"  synchronized by iRmantou - https://github.com/shogun-toolbox/shogun/pull/372313:06
@sukeyIssue #3727 "Parallel cross validation is unsafe to use" karlnapf added label: "BUG" - https://github.com/shogun-toolbox/shogun/issues/372713:07
@sukeyIssue #3727 "Parallel cross validation is unsafe to use" karlnapf added label: "entrance" - https://github.com/shogun-toolbox/shogun/issues/372713:07
@sukeyIssue #3727 "Parallel cross validation is unsafe to use" karlnapf added label: "Cleanups" - https://github.com/shogun-toolbox/shogun/issues/372713:07
CaBaHeikoS: sure13:08
@sukeyPull Request #3720 "Fix CDynamicObjectArray / DynArray parameter handling + Test"  closed by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/372013:11
CaBaHeikoS: about the test filename13:11
@HeikoSywp13:11
@HeikoSyep13:11
CaBaHeikoS: i think there is a DynamicObjectArray.cc that is autogenerated. i'm not familiar with whatever framework that is behind that. can you check?13:11
@HeikoSyeah it is13:12
@HeikoSdone with cmake13:12
CaBaHeikoS: tests might as well go into the SGObject test if that's okay with you13:12
@HeikoSand a python script that uses juinja213:12
@HeikoSI see13:12
@HeikoSthat should be named differently13:12
@HeikoSand then your test should get that name13:12
@HeikoSit is all auto detected so I think it suffices to change the filename of the templates13:12
CaBahow do you want that to be called?13:13
@HeikoSDynamicObjectArray_generated.cc13:13
@HeikoS?13:13
CaBak13:14
CaBafrom which file can i copy the BSD header?13:15
@HeikoSgrep13:15
CaBarandom clicking in github just gave me GPL ones so far :P13:15
CaBaHeikoS: well i took that BSD text that i used from another shogun file. i didn't make that up. so apparently there are good and bad BSD header files13:16
@HeikoS/home/heiko/git/shogun/shogun_develop/shogun/tests/unit/statistical_testing13:16
@HeikoSah really13:16
@HeikoSnice13:16
@HeikoScheck these ones above ...13:17
CaBaok, 2-clause then13:17
CaBathanks13:17
@sukeyPull Request #3731 "LibSVM parameters"  opened by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/373113:28
-!- Chris___ [5c4aa849@gateway/web/freenode/ip.92.74.168.73] has joined #shogun13:29
Chris___Hi, anyone can help me solving a problem with MKL, SVRlight? (SystemError: [ERROR] In file Applications/shogun/src/shogun/classifier/mkl/MKL.cpp line 848: Assertion R >= 0 failed!)13:35
CaBaChris___: are you using cross validation?13:41
@HeikoSha!13:41
@HeikoSCaBa: want to send that revert revert revert patch?13:42
CaBaHeikoS: for parallel xval you mean?13:42
@HeikoSyep13:43
Chris___CaBa: yes, I am13:44
CaBaHeikoS: i'm not sure how bad it's gonna be still after the cloning is fixed. i realized MKL doesnt actually need CPLEX or GLPK. i had neither installed. and with the in-house solvers there are no concurrency issues i think.13:44
@HeikoSok13:44
@HeikoSlets see then13:44
CaBaChris___: can you set the number of threads to 1 and see if the prob persists?13:44
CaBaChris___: there is a problem with MKL and multithreaded cross validation. actually working on that right now.13:47
Chris___actually I'm not using the shogun functionality for cross-validation...13:50
CaBahm. ok.13:50
@wikingman13:52
Chris___MKL-direct: p = 1.000 MKL-direct: nofKernelsGood = 1 MKL-direct: Z = inf MKL-direct: eps = 1.000000e-02 MKL-direct: t[  0] = nan  ( diff = nan = 1.356635e-02 - nan ) MKL-direct: t[  1] = nan  ( diff = nan = 1.356635e-02 - nan ) MKL-direct: t[  2] = nan  ( diff = nan = 9.728673e-01 - nan ) MKL-direct: preR = nan MKL-direct: preR/p = nan MKL-direct: sqrt(preR/p) = nan MKL-direct: R = nan13:52
@wikingi'm like giving up on some open source projects :D13:52
CaBaChris___: that MKL code is also quite ancient and with no real support right now unfortunately. I also ran into exactly that error, but in my case it was (mostly) do to that bug. still happens after fixing, but rarely. i haven't figured out the conditions under which it happens so far...13:53
Chris___hm ok, that doesn't sound too good13:55
Chris___I'm doing grid search and within this process it happens. If I just do cross validation on the same dataset it runs through.13:59
CaBaChris___: you don't call clone() on the MKL machine by any chance?14:00
Chris___No I don't14:01
CaBaread/write them from file?14:01
Chris___the MKL machine?14:04
CaBaye14:04
CaBayep14:04
Chris___no14:05
Chris___I have a set of combined kernels, I'm iterating through those and set it as kebel of the SVRlight object which is then used for initialization of the MKLClassification object14:06
Chris___for each combined kernel I set different C and epsilon values14:07
Chris___in the second iteration, i.e. the second combination of C and epsilon values, this error occurs14:07
CaBaChris___: how about you use that combination first?14:09
CaBaChris___: i.e. on the "unused" objects? does it still happen?14:09
@sukeyNew Commit "add Visual Studio 15 2017 to appveyor" to shogun-toolbox/shogun by vigsterkr: https://github.com/shogun-toolbox/shogun/commit/eac86c9dd93ceb50d83867ae2cb21af8126942b014:13
CaBaHeikoS: that clone fix in array... we need that in load_serializable() too, right?14:14
Chris___CaBa: it always happens in the second iteration even if I skip the first combined kernel and even if I use different combinations of C and epsilon14:21
CaBaChris___: cool, can you provide an mwe that triggers that?14:21
Chris___I can try to come up with one14:26
CaBathat would be great!14:27
CaBaHeikoS: uhm, the dimension params in DynamicObjectArray are... not registered?14:31
@sukeyIssue #3732 "Systematically test xvalidation of machines " opened by karlnapf - https://github.com/shogun-toolbox/shogun/issues/373214:31
@sukeyIssue #3732 "Systematically test xvalidation of machines " karlnapf added label: "entrance" - https://github.com/shogun-toolbox/shogun/issues/373214:31
@sukeyIssue #3732 "Systematically test xvalidation of machines " karlnapf added label: "Cleanups" - https://github.com/shogun-toolbox/shogun/issues/373214:31
@sukeyIssue #3732 "Systematically test xvalidation of machines " karlnapf added label: "testing" - https://github.com/shogun-toolbox/shogun/issues/373214:31
@HeikoSCaBa: might be ....14:31
@HeikoSCaBa: clone was added way after serialization so this might have slipped14:31
CaBaHeikoS: well the dimensions should be serialized, indep of clone?!14:32
-!- lambday|work [c40f1706@gateway/web/freenode/ip.196.15.23.6] has quit [Quit: Page closed]14:33
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 260 seconds]14:36
-!- travis-ci [~travis-ci@ec2-54-242-143-14.compute-1.amazonaws.com] has joined #shogun15:38
travis-ciit's Viktor Gal's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/21297722015:38
-!- travis-ci [~travis-ci@ec2-54-242-143-14.compute-1.amazonaws.com] has left #shogun []15:38
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has joined #shogun15:44
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has joined #shogun15:44
-!- mode/#shogun [+o HeikoS] by ChanServ15:44
@HeikoSCaBa: yes of course they should be15:50
@HeikoSbut as there was no equals/clone before, no way to test15:51
@HeikoSyou just dump the vector to a file, load it, and then you want the content to be the same as in numbers, you dont care about its internals15:51
CaBaHeikoS: yeah. also, why on earth do those arrays have names?! ...15:52
@HeikoSCaBa: all this is really old stuff15:52
@HeikoSCaBa: BTW15:52
CaBaHeikoS: registering that, too... i changed it into SGVector<char> unless you have a better idea15:53
@HeikoSwhen you compare vectors with equal15:53
@HeikoSit should be true even if the allocated sizes are different15:53
@HeikoSso registering all objects in there doesnt make sense15:53
@HeikoSjust a few15:53
@HeikoSso that the actual content is restored15:53
@HeikoSbut the size of the allocated array should not matter with that15:53
CaBasure, we talked about that earlier ;)15:54
@HeikoSthat can be achieved with overloading the clone/equals methods15:54
CaBa12:36:10 < CaBa> HeikoS: two arrays with the same content but different reserved size no longer equal() because the reserved size becomes part of the array ptype15:54
@HeikoSand then not registering the "internal" components15:54
@HeikoSyeah yeah15:54
@HeikoSI just thought about it again15:54
@HeikoSso I think it is best to not register things that should not be serialized15:54
CaBaserialization has that pre/postprocessing infrastructure for that. clone actually would need that, too.15:54
@HeikoSthat is an interesting issue as it also will have consequences for tags15:55
@HeikoSCaBa: yep totally15:55
@HeikoSlisitsyn: ^15:55
lisitsynsooo15:55
@HeikoSlisitsyn: here is a case15:56
@HeikoSwhere a variable should not be registered15:56
lisitsynwhy?15:56
@HeikoSso we have this dynamic array structure15:56
@HeikoSwhen serializing it, we only want to serialize the "used" parts of the array15:56
@HeikoS(and not anything unused)15:56
@HeikoSso when loading, the size it allocated might be different15:56
lisitsynok java has a word for it15:57
lisitsynwe should use something like that then15:57
@HeikoSgive it to me15:57
lisitsyntransient15:57
@HeikoSCaBa: I mean with the pre/post stuff that would also work15:57
@HeikoSCaBa: just reigster the "smaller" vector15:57
@HeikoSand the variable of allocation15:57
CaBaHeikoS: well now we have that. just in the clone override15:57
@HeikoSand then that guy is treated in post serializeation with re-alloc as you did15:58
@HeikoSlisitsyn: so how would that work in tags?15:58
lisitsynHeikoS: well we just register it in a way it is transient15:58
@HeikoSlisitsyn: otherwise I agree, that is the thing we would need15:58
CaBaHeikoS: actually, in serialization this is already handled differently. the array is shrunk to it's actual size before serialization15:58
@HeikoSCaBa: that is a stupid way to fix it :D15:59
@HeikoSit should do this transparently15:59
@HeikoSthat is: just save the parts that are filled15:59
@HeikoSmake the length of allocation transient15:59
@HeikoSthen when deserializing, allocate right amount of memory15:59
@HeikoSlisitsyn: ideas for syntax etc?16:00
CaBayes. actually we can remove the pre-hook and use the same post-hook as in clone().16:00
@HeikoSCaBa: yep16:00
lisitsynHeikoS: use(Tag<float>("regular_parameter"));16:00
@HeikoSlisitsyn: what do you think about re-implementing array structures based on STL?16:01
lisitsynuse_transient(Tag<float>("transient_parameter"))16:01
@HeikoSlisitsyn: seems ok16:01
@HeikoSok next talk16:01
lisitsynsth like that16:01
@HeikoSbut still listening16:01
lisitsynHeikoS: we shouldn't really use our strange data structures16:02
lisitsynI think swig + stl is ok already16:02
lisitsynIIRC it was the only reason no?16:02
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has quit [Quit: Leaving.]16:05
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has joined #shogun16:05
-!- mode/#shogun [+o HeikoS] by ChanServ16:05
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has quit [Client Quit]16:05
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has joined #shogun16:06
-!- mode/#shogun [+o HeikoS] by ChanServ16:06
@HeikoSre16:06
@sukeyIssue #3733 "add `transient` variables to tags" opened by karlnapf - https://github.com/shogun-toolbox/shogun/issues/373316:08
@sukeyIssue #3733 "add `transient` variables to tags" karlnapf added label: "entrance" - https://github.com/shogun-toolbox/shogun/issues/373316:08
@sukeyIssue #3733 "add `transient` variables to tags" karlnapf added label: "development tasks" - https://github.com/shogun-toolbox/shogun/issues/373316:08
@HeikoSlisitsyn: ^16:09
lisitsynoh16:09
lisitsynyou don't like students don't you?16:09
lisitsynHeikoS: we're wrapping our head around this for a while :D16:10
lisitsynyet don't understand what's going on hah16:10
@sukeyPull Request #3721 "Alternative fix for Dynamic(Object)Array::clone()"  synchronized by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/372116:14
CaBaHeikoS: plx check16:14
CaBaHeikoS: i changed the array name to SGVector<char>. open for better suggestions :P16:15
@HeikoSlisitsyn: well marking things as transient is easy16:16
@HeikoSand we should definitely be able to, no?16:16
@HeikoSmaybe we postpne this16:16
@sukeyIssue #3733 "add `transient` variables to tags" closed by karlnapf - https://github.com/shogun-toolbox/shogun/issues/373316:16
lisitsynHeikoS: yeah but all the thing is terribly fragile16:16
lisitsynHeikoS: I just mean it requires deeper understanding than we have16:17
lisitsyn:D16:17
@HeikoSCaBa: so16:20
@HeikoSwhy not remove the name?16:21
@HeikoSand, I dont like this re-alloc thing16:21
@HeikoSlisitsyn: yeah ok16:21
@HeikoSCaBa: I think we can just not register the allocated size variable16:22
@HeikoSand then set it after cloning/loading16:22
CaBaHeikoS: https://github.com/shogun-toolbox/shogun/search?q=set_array_name16:22
@HeikoSCaBa I think this should be killed, or?16:22
CaBaHeikoS: that dynprog is the only thing that uses it. no getter call ever.16:23
@HeikoSyeah because it is pointless16:23
@HeikoSshould be done from registrated name16:23
@HeikoSoverloading member variables is such bad style ;)16:23
CaBahm?16:24
@HeikoSnevermind16:24
@HeikoSI think just remove those methods and calls16:24
@HeikoSnothing will fail I think16:24
CaBaHeikoS: ok. now whats the problem with the realloc? we talked about that.16:25
@HeikoSI know, sorry for moaning now16:26
@HeikoSproblem:16:26
@HeikoSI clone a vector16:26
CaBaarray16:26
@HeikoSallocates space for its content16:26
@HeikoSand then I reallocate to make it larger16:26
@HeikoSbut the memory segment doesnt fit at current place16:26
@HeikoSso I need to move it16:26
@HeikoS= double work for OS16:27
@HeikoSwhereas if you just after cloning/loading set the allocated size to the vector size, it only does that if I add new stuff16:27
@HeikoSso it is cleaner16:27
@HeikoSCaBa: agree?16:27
CaBayeah sure. depends what you prefer. if you re-alloc, after the clone() you have two arrays that also "perform" the same way when you alter them, they are actually identical. your way the clone is lazy, but cloning is more efficient.16:29
@HeikoSI think cloning should just make the functional API structure persist and be as efficient as possible otherwise16:30
CaBak, then lets just change the tracked size16:32
@HeikoS(and not serialize it right?)16:33
mikelingHeikoS: hi, did you receive the proposal I show on the google doc? :)16:33
@HeikoSCaBa: ah it is all sh**16:33
CaBasure, serialization stays the same16:34
@HeikoSCaBa: but I think that is the best compromise now16:34
@HeikoSmikeling: I dont know16:34
CaBaserialization already happens based on the real size16:34
@HeikoSCaBa: cool!16:34
@HeikoSmikeling: many emails16:34
@HeikoSdetox2?16:34
mikelingyep16:34
@HeikoSmikeling: will check and provide some feedback later16:36
mikelingHeikoS: great! Thank u :)16:37
@HeikoSmikeling: if you want that project: you need to send us some prototype of the big issues we want to resolve in this project: e.g. a smart pointer patch, a serialization improvement, an automated test for xvalidation, a clean up of an existing class, a cleaner implementation of the array classes we have (see discussion in irc today)16:39
@HeikoSthen in your proposal, you need to develop a detailed plan how to apply those ideas shogun wide. just svm is not enough, and a few unit tests are not enough either, you need a very clear vision of what you want to improve16:39
@HeikoSbut I will comment more later16:39
@HeikoS(and update the wiki)16:39
-!- HeikoS [~heiko@eduroam-int-pat-8-251.ucl.ac.uk] has quit [Quit: Leaving.]16:40
-!- stargazer180 [~Gautam@116.74.220.156] has joined #shogun16:47
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun17:05
-!- mode/#shogun [+o HeikoS] by ChanServ17:05
-!- OXPHOS [92bd305b@gateway/web/freenode/ip.146.189.48.91] has joined #shogun17:05
stargazer180Hey HeikoS !17:13
stargazer180What platform are you using Shogun on?17:13
@HeikoSstargazer180: hi17:14
@HeikoSI am on ubuntu17:14
stargazer180great17:14
stargazer180because i've run into some trouble17:15
stargazer180i can't install Shogun using the ppa method given on github17:15
stargazer180any idea why it isn't happening?17:15
stargazer180I saw on my terminal17:15
stargazer180that while running sudo apt-get update, amd-x64 binaries weren't found or something17:16
stargazer180why is that?17:16
@HeikoSstargazer180: or something?17:16
@HeikoShow am I supposed to help with that? :D17:16
stargazer180i'll check it in a sec17:16
stargazer180turning on my machine17:16
@HeikoSstargazer180: before you continue17:16
@HeikoSpls google the error message17:16
stargazer180i'm pretty sure, it is regarding Shogun. I'll double check though17:17
OXPHOSHeikoS: ping17:24
@HeikoSOXPHOS: hey there!17:24
@HeikoSgood to hear from you!17:25
@HeikoSOXPHOS: nice work on commenting PRs of others! :)17:25
@HeikoSOXPHOS: that is so much appreciated!17:25
OXPHOSHeikoS: thanks! :D17:25
OXPHOShope i am really "helping"17:26
@HeikoSyou are!17:26
@HeikoSbut careful, we will want more of that :D17:26
OXPHOS:D17:26
@HeikoSshogun takes the arm when offered a hand17:26
OXPHOShaha17:26
OXPHOSSo what's your opinion on the long comment here? https://github.com/shogun-toolbox/shogun/pull/371917:27
OXPHOSabout sgmatrix-eigenmatrix-sgmatrix-eigen backend17:27
@HeikoSchecking17:27
@HeikoSOXPHOS: I am trying to understand the question17:28
@HeikoSah I get it17:28
@HeikoSwould need to extract the matrices from eigen to SG17:29
@HeikoSin the refactoring17:29
stargazer180HeikoS check this: http://prntscr.com/emb0c517:29
OXPHOScool I get it17:29
@HeikoSOXPHOS: nono wait17:29
@HeikoSthat is the question right?17:29
@HeikoSbecause there currently is no variable that is owned by SG17:30
OXPHOSHeikoS: I just feel like it doesn't make much sense to replace current qr_solver with linalg::qr_solver17:30
OXPHOSthough they should be17:31
OXPHOSbecause as you said currently everything is already Eigen17:31
@HeikoSmmh17:31
OXPHOSto pass them to linalg::qr_solver they need to be convert to sgmatrix17:31
@HeikoSI get it17:32
@HeikoSI wonder17:32
@HeikoS(generally)17:32
@HeikoScan we have a cast operator?17:32
@HeikoSfor such situations17:32
@HeikoSOXPHOS: or let me start again17:32
@HeikoSOXPHOS: the optimal case: no eigen3 is used in algorithms,17:32
@HeikoSright?17:32
OXPHOSyes!17:32
@HeikoSso in that case, linalg does not need interfaces with eigen317:32
@HeikoSbut the situation we have is different17:32
@HeikoSso could offer something for making refactoring easier17:33
@HeikoSnot sure17:33
@HeikoScasting is free essentially right?17:33
OXPHOSHeikoS: there's cast operator in sgmatrix17:33
OXPHOSi think it won't be too much trouble..just looks stupid17:34
@HeikoSOXPHOS:  I mean if I look at for example the FisherLDA17:34
OXPHOSalso ideally qr_solver takes up parameters: matrix and vector17:34
@HeikoSall of this can be done using linalg17:34
OXPHOSnow it's 2 eigen matrices17:34
@HeikoSCan we make that implicit somehow?17:35
@HeikoSI am not sure17:35
@HeikoSlets ask around17:35
@HeikoSlisitsyn: you there?17:35
lisitsyny17:35
@HeikoSlisitsyn: need your opinion17:35
lisitsynsure17:35
OXPHOSHeikoS: yep we can change all stuff to linalg. just may take some time17:35
@HeikoSlisitsyn: so there is the new linalg now17:35
@HeikoSand there is algorithms implemented in eigen3 purely17:36
@HeikoSthat means, some of the matrices are not in SG format, but always eigen317:36
@HeikoSnow if I want to replace a solver call with linalg17:36
@HeikoSI need to cast17:36
@HeikoSlisitsyn: thats kinda ugly17:36
lisitsynHeikoS: what do you mean by sg format?17:37
lisitsynsgmatrix?17:37
@HeikoSyes17:37
@HeikoShttps://github.com/shogun-toolbox/shogun/pull/3719/files#diff-6d30cfa6fcd3bc2bb83e391039094f99R25417:37
@HeikoSlisitsyn: you you get this17:37
lisitsynHeikoS: what exactly don't you like?17:39
@HeikoSthe explicit cast17:40
@HeikoSto SGMatrix17:40
@HeikoSlong17:40
@HeikoSOXPHOS: maybe we could argue that eventually these will go away, when everything is ported to linalg17:40
-!- geektoni [c1cdd252@gateway/web/freenode/ip.193.205.210.82] has joined #shogun17:40
@sukeyPull Request #3730 "Register parameters for CMKL and override clone()"  synchronized by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/373017:41
lisitsynHeikoS: is SGMatrix ctor explicit?17:41
@HeikoSdont know, can we make it implicit?17:41
@HeikoSthat would solve it then17:41
OXPHOSHeikoS: we can start from fisherLDA..implement whatever is missing in linalg to linalg17:41
lisitsynHeikoS: I'd prefer explicit actually17:42
@HeikoSlisitsyn: for reasability?17:42
@HeikoSlisitsyn: mmh ok17:42
lisitsynHeikoS: just to be clear when the copy happens17:42
lisitsynif it happens17:42
@HeikoSyear17:42
@HeikoSlisitsyn: but no copy right?17:42
@HeikoSjust pointer translation17:42
lisitsynyeah but you have to know17:42
@HeikoSactually17:42
@HeikoStrue17:42
@HeikoS :D17:42
@HeikoSlisitsyn: downside:17:42
OXPHOSnow it's like (EigenMatrix)result = linalg::solver(SGMatrix(A), SGVector(b))17:42
@HeikoShave to change the line again when the rest is ported17:43
lisitsynhttps://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/lib/SGMatrix.h#L12017:43
lisitsynit is not explicit17:43
lisitsynso you can actually write linalg::solver(A,b)17:43
lisitsyndon't it work?17:43
lisitsynah I know17:43
lisitsynit can't infer the type17:43
@HeikoSstargazer180: can you report the setup and the error as a github issue?17:43
@HeikoSstargazer180: also, dont paste screenshots as error messages, hard to handle17:44
@HeikoSstargazer180: and then finally, did oyu google the message?17:44
@HeikoSlisitsyn: can we make it infer the type?17:44
lisitsynHeikoS: no but17:44
lisitsynlinalg::qr_solver(SGMatrix<float64_t>(Sw), SGMatrix<float64_t>(Sb));17:44
lisitsynshould work with17:44
lisitsynlinalg::qr_solver<float64_t>(Sw, Sb);17:45
lisitsynI'd be surprised if it doesn't work17:45
-!- geektoni [c1cdd252@gateway/web/freenode/ip.193.205.210.82] has quit [Ping timeout: 260 seconds]17:45
@HeikoSso it is then (EigenMatrix)result = linalg::solver(A, b)17:45
@HeikoSOXPHOS: I think that might be best17:45
OXPHOSHeikoS: okay thanks lisitsyn17:46
lisitsynyw17:46
OXPHOSThe floating eigen bothers me now. But it's gonna get away soon..17:47
-!- geektoni [c1cdd221@gateway/web/freenode/ip.193.205.210.33] has joined #shogun17:48
@HeikoSOXPHOS: yeah I know17:48
@HeikoSbut this is easy to spot and remove later17:48
@HeikoSbit by bit17:48
OXPHOSHeikoS: yep. thanks for the discussion!17:49
-!- geektoni_ [c1cdd252@gateway/web/freenode/ip.193.205.210.82] has joined #shogun17:51
CaBaHeikoS: what's the prob with initializing members in constructor and adding them as parameters later?17:51
@HeikoSCaBa: default initialization17:51
@HeikoSused to be a source of problems that things are not initialized17:51
@HeikoSif we do that in the same method as registration, this doesnt happen17:52
-!- geektoni [c1cdd221@gateway/web/freenode/ip.193.205.210.33] has quit [Ping timeout: 260 seconds]17:52
CaBaHeikoS: you just mean it's safer to init once in reg_params than three times in three different constructors?17:53
@HeikoSyep17:54
@HeikoSconsistency etc17:54
@HeikoSbut since that is a method call, cannot use the initialising syntax17:54
@HeikoShave to overwrite the default init with an explicit assignment17:54
@HeikoSbut I think thats more readable anyways17:54
CaBawell... i wasn't into redesigning all these classes. i kept their original structure, they way they initialized their members, c-style vectors etc17:55
@HeikoSCaBa: true point17:55
@HeikoSyou can leave it then17:55
CaBai can't overhaul everything i tough :P17:55
CaBatouch17:55
@HeikoSI know17:55
-!- geektoni_ [c1cdd252@gateway/web/freenode/ip.193.205.210.82] has quit [Client Quit]17:56
@HeikoSit is a usual problem with shogun and open source17:56
@HeikoSyou touch something17:56
@HeikoSand 100 things pop up17:56
@HeikoSthe way we improve the framework is via applying these things constantly17:56
CaBaeven the "superflous comments" were just moved there from somewhere else ;)17:56
@HeikoSbut I know it is annoying17:56
@HeikoSCaBa: that is acutaly different17:56
@HeikoSsince they were doxygen before17:56
CaBaahhh17:56
CaBaright17:56
-!- geektoni [~Mutter@62.18.4.109] has joined #shogun17:56
CaBayou're right...17:56
@HeikoSCaBa: I mean feel free to ignore some of the things here if you touch this old code17:57
@HeikoSjust saying how it should be :)17:57
@HeikoSbut the patches are useful without it as well17:57
geektoniPing HeikoS17:57
@HeikoSgeektoni: hey there!17:58
@HeikoSfinally catching you here :)17:58
geektoniHehe, find a decent wifi here is a nightmare17:59
@HeikoSwhere are you?17:59
stargazer180HeikoS: yeah i did. nothing helpful turned up :/17:59
geektoniI'm at my university right now and my laptop doesn't like the APs we have18:01
@HeikoSgeektoni: I see !18:01
@HeikoSso welcome anyways18:01
geektoniThanks :) hello everyone!18:02
stargazer180hello geektoni !18:04
@HeikoSgeektoni: so you were asking about dependencies?18:04
-!- lambday [31cf37a2@gateway/web/freenode/ip.49.207.55.162] has joined #shogun18:04
-!- mode/#shogun [+o lambday] by ChanServ18:04
@HeikoSlambday: helloooo18:04
@lambdaymikeling: there18:04
@lambday>18:04
@lambdayHeikoS: yessire18:04
@lambdayHeikoS: did you check our chat log?18:05
@HeikoSlambday: not yet18:05
@HeikoSgotta work :D18:05
@lambdayHeikoS: BTW, chat log doesn't ork18:05
@lambdayI get 404 all the time18:05
@HeikoSreally?18:05
CaBabtw18:05
@HeikoSoh no18:05
geektoniHeikoS: yeah, I did ask about them18:05
CaBawhats with all the sign compare warnings in linalg recently? ;)18:05
@HeikoSCaBa: something big got merged18:06
@lambdayHeikoS: I have some ideas that I wanna coin before you decide to shoot myself..18:06
@HeikoShaha18:06
@lambdayHeikoS: (a) immutable features (b) subsets as an operator rather than member methods18:06
@HeikoSgeektoni: so the short answer is: the more dependencies Shogun has, the harder it is to install18:06
@HeikoSand as that is a nightmare already18:06
@lambdayHeikoS: discussed in details during (my) afternoon with wiking and lisitsyn...18:06
@HeikoSwe aim to keep things optional18:06
@HeikoSgeektoni: so that SHogun runs on as many computers as possible18:07
@HeikoSthink about COLPACK for example18:07
@lambdayI think I have a PR to review :/18:07
@lambdayor else mikeling (was it you?) is gonna kill me18:07
@HeikoSgeektoni: that is a tiny lib to do some graph computations. It is used in only one algotizhm in Shogun18:07
@HeikoSgeektoni: now imagine you want to use Shogun, but you are not interested in that algorithm, would you like it to install colpack?18:08
@HeikoSgeektoni: and then think that we have hundreds of algorithms18:08
@HeikoSI gotta leave now guys, gotta do some work. See you tomorrow!18:08
@HeikoSlambday: maybe send an email with tldr?18:09
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Remote host closed the connection]18:09
@lambdayoh my.. so many PRs18:09
lisitsynuh have you seen distill?18:17
lisitsynlooks like it's the thing18:17
-!- geektoni [~Mutter@62.18.4.109] has quit [Quit: Mutter: www.mutterirc.com]18:17
@sukeyPull Request #3724 "Refactoring for shogun::memcpy"  merged by lambday - https://github.com/shogun-toolbox/shogun/pull/372418:18
@sukeyNew Commit "Merge pull request #3724 from MikeLing/issuefix-370018:18
@sukeyRefactoring for shogun::memcpy" to shogun-toolbox/shogun by lambday: https://github.com/shogun-toolbox/shogun/commit/c7640fa97b44936770a2b10762ee2431ab505e9418:18
@sukeyIssue #3700 "Refactoring for `shogun::memcpy`" closed by lambday - https://github.com/shogun-toolbox/shogun/issues/370018:18
-!- geektoni [~Mutter@62.18.4.109] has joined #shogun18:19
-!- geektoni [~Mutter@62.18.4.109] has quit [Client Quit]18:19
@lambdaylisitsyn: 10583820118:20
@lambdayoops18:20
@lambdaylisitsyn: Как дела?18:20
lisitsynlambday: хорошо а у тебя?18:20
lisitsynlambday: btw yo estudio espanol for a few weeks already18:21
lisitsyn:D18:21
@lambdaylisitsyn: Как Яндекс относится к вам?18:21
@lambdaylisitsyn: wait.. means you studied espanol18:21
@lambdaycomo estas18:22
lisitsynes bien!18:22
@lambdayhablas tu espanol?18:22
@lambdaylol18:22
@lambdaythat's the extent of my knowledge18:22
lisitsynyo hablo espanol!18:22
lisitsyn:D18:22
-!- nikhilweee [~nikhilwee@128.199.66.195] has quit [Ping timeout: 240 seconds]18:22
@lambdaysay "jo" :D18:22
lisitsynwords I know are quite strange18:23
@lambdaylol I don't understand how 'J' is a valid substitute for 'Y'18:23
lisitsynI use duolingo18:23
lisitsynso I know how to say 'my horse eats onion'18:23
lisitsynthe usual phrase in real life you know18:23
@lambdayyeah, the usual18:23
@lambdaymine shits onion everyday, might as well learn how to say that xD18:23
lisitsynhaha18:24
lisitsynlambday: I am confused not by j/y18:24
lisitsynbut by m/n18:24
lisitsynand b/v18:24
@lambdaym/n18:24
lisitsynit's quite random for me yet18:24
@lambdayare you kiddin18:24
@lambdaywhich language mixes these two?18:24
@lambdayb/v I can understand18:24
@lambday:D18:24
lisitsynlambday: bebo sounds like bevo18:24
@lambdayin spanish18:25
@lambday?18:25
lisitsynnaranja sounds like naramha18:25
lisitsynyes18:25
lisitsynthe same in portuguese18:25
@lambdayaaaah yeah j is a valid replacement for h as well18:25
@lambdayin case you haven't noticed, people comment on youtube mostly as "jajajajajajaja" instead of you know what18:26
lisitsynhaha18:26
@lambdayI don't understand18:26
@lambdaythere is another letter for that sound18:26
@lambdayuse it!18:26
@lambday:D18:26
lisitsynkk off to cena!18:26
-!- Killin [~Killin-A1@129.7.0.237] has joined #shogun18:30
stargazer180good night from India, folks! :)18:35
@lambdaystargazer180: ah fellow Indian... shubh raatri :)18:37
stargazer180:)18:38
-!- stargazer180 [~Gautam@116.74.220.156] has quit [Quit: Leaving]18:38
-!- pranav_ [6719e766@gateway/web/freenode/ip.103.25.231.102] has quit [Ping timeout: 260 seconds]18:43
@lambday:q18:43
-!- lambday [31cf37a2@gateway/web/freenode/ip.49.207.55.162] has quit []18:43
-!- mikeling [uid89706@gateway/web/irccloud.com/x-xtgsqfwmagkbneaa] has quit [Quit: Connection closed for inactivity]18:50
-!- Killin [~Killin-A1@129.7.0.237] has quit [Ping timeout: 256 seconds]18:55
@sukeyPull Request #3721 "Alternative fix for Dynamic(Object)Array::clone()"  synchronized by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/372119:01
@sukeyPull Request #3731 "LibSVM parameters"  synchronized by lkuchenb - https://github.com/shogun-toolbox/shogun/pull/373119:08
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by lgoetz20:22
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by lgoetz20:23
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by lgoetz20:25
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by lgoetz20:26
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by lgoetz20:30
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has quit [Ping timeout: 264 seconds]20:56
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has joined #shogun20:57
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by OXPHOS21:09
-!- shogitter1 [~nodebot@ks312251.kimsufi.com] has joined #shogun21:18
@sukeyWiki page: AUTHORS edited on shogun-toolbox/shogun by OXPHOS21:19
-!- valex [bc1acfac@gateway/web/freenode/ip.188.26.207.172] has joined #shogun21:24
-!- eDen [050cd48e@gateway/web/freenode/ip.5.12.212.142] has joined #shogun21:25
-!- eDen is now known as Guest2297121:25
-!- Guest22971 [050cd48e@gateway/web/freenode/ip.5.12.212.142] has quit [Client Quit]21:26
-!- Netsplit *.net <-> *.split quits: shogitter21:31
-!- Killin [~Killin-A1@2602:304:68a6:ddc0:9d74:2247:886:89c7] has joined #shogun21:50
-!- Chris___ [5c4aa849@gateway/web/freenode/ip.92.74.168.73] has quit [Ping timeout: 260 seconds]22:00
@sukeyPull Request #3734 "Use get and set in regression classes"  opened by abhinavrai44 - https://github.com/shogun-toolbox/shogun/pull/373422:19
-!- valex [bc1acfac@gateway/web/freenode/ip.188.26.207.172] has quit [Quit: Page closed]22:45
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has quit []22:52
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has joined #shogun22:53
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has quit [Remote host closed the connection]23:00
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has joined #shogun23:04
-!- goksinen [~goksinen@rrcs-50-75-193-138.nyc.biz.rr.com] has quit [Ping timeout: 240 seconds]23:08
--- Log closed Tue Mar 21 00:00:13 2017

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!