Open in new window / Try shogun cloud
--- Log opened Sun Jun 05 00:00:26 2016
-!- sonne|osx [~sonne@x5ce25ef2.dyn.telefonica.de] has quit [Quit: sonne|osx]00:43
-!- mizari [~mizari@95-174-213-100.nts.su] has joined #shogun03:00
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds]03:09
-!- sanuj [~sanuj@117.203.4.251] has joined #shogun05:22
-!- sanuj [~sanuj@117.203.4.251] has quit [Ping timeout: 260 seconds]05:38
-!- sanuj [~sanuj@117.203.4.251] has joined #shogun06:08
sanujwiking, there?06:08
-!- sanuj [~sanuj@117.203.4.251] has quit [Ping timeout: 258 seconds]07:06
-!- sanuj [~sanuj@117.203.4.251] has joined #shogun07:44
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun10:44
-!- mode/#shogun [+o lambday] by ChanServ10:44
-!- besser82 [~besser82@fedora/besser82] has joined #shogun10:51
-!- mode/#shogun [+o besser82] by ChanServ10:51
-!- sanuj [~sanuj@117.203.4.251] has quit [Ping timeout: 264 seconds]11:15
-!- sanuj [~sanuj@117.203.4.251] has joined #shogun11:39
sanujlisitsyn, hey, got time?11:39
lisitsynyeap11:39
lisitsynsup11:39
sanuji pushed some commits11:39
sanujhttps://github.com/shogun-toolbox/shogun/pull/322111:39
sanujlisitsyn, can you review?11:39
lisitsynsure11:39
sanuj:)11:39
sanujlambday, there?11:40
lisitsynsanuj: I think we should merge soon11:42
lisitsynjust a few things more11:42
sanujoh really11:42
sanuji need to write swig bindings11:42
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 264 seconds]11:43
lisitsynsanuj: it makes sense to me to just merge C++ part then go on with swig one11:43
sanujlisitsyn, okay11:43
lisitsynsanuj: https://github.com/shogun-toolbox/shogun/pull/3221/files#diff-9c3599c0d2090e493be261b079e9b63eR4811:43
lisitsynthis thing confuses me a bit11:44
sanujlisitsyn, this is because i want to use get_name() of SGObject11:44
sanujif i dont take SGObject ptr as an argument then it doesn't work11:44
lisitsynsanuj: yeah I understand why you did that but there is strange loop11:45
sanujokay11:46
lisitsynsanuj: what about moving this error handling11:46
lisitsynto SGObject11:46
lisitsynso you don't have to pass this pointer11:46
sanujlisitsyn, what "any" should i return if there is none corresponding to a key11:46
lisitsynsanuj: just return empty any11:47
lisitsynthen you can check11:47
lisitsynempty()11:48
lisitsynlike T value = self->get(...);11:48
lisitsynif (value.empty()) { get mad }11:48
sanujlisitsyn, haha, okay11:49
sanujbut how to make an empty any object?11:49
sanujlisitsyn, Any::Empty()?11:50
lisitsynAny()11:50
lisitsynno parameter ctor produces empty value11:50
sanujlisitsyn, isn't this a function call11:50
sanuji did something like this earlier and got error11:51
sanujlisitsyn, or new Any();11:51
lisitsynno should be legal11:51
lisitsynno, no new11:51
sanujokay11:51
sanujreturn Any();11:51
lisitsynsanuj: you can actually11:51
lisitsynjust use [] of map11:51
lisitsynah no it is not a good idea11:52
sanujlisitsyn, okay11:52
lisitsynjust return Any();11:52
sanujokay11:52
sanujand i need to implement std::hash11:52
lisitsynsanuj: yeah it is usual way to make something hashable11:53
sanujlisitsyn, use SGVector instead of std::vec in all_parameters()?11:54
lisitsynsanuj: actually it would make sense due to swig11:54
lisitsynwe have maps for SGVector11:54
lisitsyntypemaps11:54
sanujokay11:55
lisitsynsanuj: I have one more thing11:55
lisitsynhttps://github.com/shogun-toolbox/shogun/pull/3221/files#diff-8cfacc7a0d1355252c12528031d690b5R39911:55
lisitsynhere you rely on the order of parameters11:55
sanujyeah11:55
sanujthat's bad11:55
lisitsynit seems possible that the order would be defined by the implementation11:56
lisitsynI mean if we use other map11:56
lisitsynit could fail11:56
sanujhow to test it otherwise?11:56
lisitsynsanuj: convert it to std::set11:56
lisitsynthen check all of these three are in the set11:56
sanujlisitsyn, cool11:56
sanujlisitsyn, so these changes and document the new functions11:58
lisitsynsanuj: and finally we would need to add some doc for publich methods11:58
sanujthen we are merge ready?11:59
sanujyeah11:59
lisitsynoh you seem to predict my thoughts :D11:59
lisitsynyes11:59
lisitsynthen I think we merge and then make it work with swig11:59
sanujcool11:59
@lambdaysanuj: hey there12:16
@lambdayhow's it going?12:16
sanujlambday, everything is great :D12:17
sanujlambday, you remember me and heiko were discussing about some build problems a few days back when you told me to increase ccache size to 10 gigs?12:18
@lambdayyeah12:19
@lambdayit didn't help?12:19
@lambdayit didn't help?12:21
sanujlambday, it helped :)12:21
sanujthanks12:21
sanujbut i was also talking about python modular tests failing12:21
sanujlambday, i think that is due to python 312:22
sanujdo you know how to fix it12:22
sanuji concluded this because the tests that pass, also pass if run by python312:23
sanujand the tests that fail, also fail if run by python312:23
sanuj:P12:23
sanujlisitsyn, rename all_parameters() to params()?12:26
lisitsynsanuj: nono I mean variable name12:27
sanujcool12:27
lisitsynsanuj: it is just about vec in the name ;)12:27
sanujyeah :)12:27
@lambdaysanuj: what do you mean? you have some failing tests that fails for both python2 and python3?12:37
sanujoh sorry12:38
sanujlambday, i have some failing python modular tests that fail because of python312:38
sanujall of them pass if python2 is used12:39
sanujbut when i do "make test", it automatically uses python 3 and not python212:39
@lambdaysanuj: I usually just run make and then run ctest12:39
@lambdaythat doesn't work for you?12:40
@lambdayumm we had this thing where we used to specify whether to use python2 or 3.. but not sure how we set that now..12:41
@lambdayI can check a bit12:41
Saurabh7hello guys12:41
@lambdaySaurabh7: hey how's it going?12:41
sanujlambday, ctest is working12:41
sanuji always used to do make test12:42
Saurabh7lambday: good good12:42
@lambdaysanuj: does that use python2?12:42
Saurabh7sanuj: set python ussing ccmake ?12:42
@lambdayI think that's possible ^12:42
sanujlambday, well the tests are passing, so it must use python212:42
@lambdayI see12:42
@lambdayI vaguely remember some set option when we had configure;make ..12:43
Saurabh7when iwant to switch form py 2 to 3 i just change in ccmake, toggle advanced options12:43
Saurabh7sanuj: ^12:43
@lambdaysanuj: there you go ^12:43
sanujokay, let me try12:44
sanuji think ccmake reads stuff from cmakecache.txt12:48
sanujit already has PYTHON_PACKAGES_PATH=lib/python2.7/dist-packages12:49
-!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-zjbrorlyietxjdsm] has quit [Ping timeout: 260 seconds]12:55
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds]13:03
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun13:17
-!- mode/#shogun [+o lambday] by ChanServ13:17
-!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-aizjrbmwcdgxpctw] has joined #shogun13:46
sanujlisitsyn, there?14:23
lisitsynsanuj: ye14:23
sanujlisitsyn, i'm getting this error14:24
sanujlibshogun.so.17.2: undefined reference to `shogun::SGVector<std::string>::SGVector(int, bool)'14:24
sanujnot able to locate the source14:24
lisitsynprobably you need to use SGVector<SGString>14:26
sanujlisitsyn, why do we want to implement std::hash?14:28
sanujlet me try SGString14:28
lisitsynsanuj: this way yuo don't have to put anything to your map14:30
lisitsynlike BaseTageHasher14:30
sanujlisitsyn, how? i don't understand14:33
sanujdo you have a link that explains this14:33
sanujlisitsyn, oh i think i understood14:34
sanujokay14:34
sanujdon't bother14:34
lisitsynsanuj: by default it uses std::hash14:36
sanujlisitsyn, yes14:36
lisitsynso it tries to call std::hash<BaseTag>()14:36
lisitsynit is not implemented14:37
sanujokay14:37
sanuji got it14:37
sanuj:)14:37
lisitsynok cool14:37
-!- ptizoom [~christian@host-92-21-230-101.as13285.net] has quit [Ping timeout: 276 seconds]14:42
sanujlisitsyn, SGString is a template14:49
sanujT=std::string?14:49
sanujokay, it should be char14:51
sanujlisitsyn, there?15:27
lisitsynsanuj: yes15:27
sanujparams[i++] = SGVector<char>(str.c_str(), str.size());15:27
sanujlisitsyn, i'm doing this ^15:28
sanujbut str.c_str() gives const char*15:28
lisitsynwhy SGVector?15:28
sanujoh sorry15:28
sanujits SGSVector15:29
sanujSGString15:29
sanujbut it wants SGString(T*, index_t, bool) [with T = char; index_t = int]15:29
lisitsynok I get it15:30
sanujlisitsyn, so const char* won't work15:30
sanuji will have to copy15:30
sanujusing new15:30
sanujto convert const char* to char*15:30
lisitsynyes probably15:30
sanujlisitsyn, you cool with that?15:30
lisitsynyeah that's ok15:30
sanujcool15:31
lisitsynI just need to check15:31
lisitsynif SGVector<SGString>15:31
lisitsynis exported to swig15:31
lisitsynsanuj: ooh it seems it is not15:31
sanujlisitsyn, ohkay, what to do now?15:32
lisitsynsanuj: lets just keep it std::vector<std::String>15:32
lisitsynstring*15:32
lisitsynwe will change that later15:32
sanujcool15:32
sanujnice and easy :)15:32
lisitsynit could be tricky so lets just postpone15:33
sanujokay!15:34
sanujlisitsyn, but this needs to happen before swig interface gets merged15:34
sanujwe will just use SGVector<std::string> then?15:35
lisitsynsanuj: not sure15:37
lisitsynmay be its SGStringList15:37
lisitsynwe will see15:37
-!- besser82 [~besser82@fedora/besser82] has joined #shogun15:50
-!- mode/#shogun [+o besser82] by ChanServ15:50
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 260 seconds]16:16
sanujlisitsyn, there?17:49
lisitsynsanuj: yes17:49
sanujlisitsyn, can you review https://github.com/shogun-toolbox/shogun/pull/322117:49
sanujlisitsyn, what's wrong with the indentation?17:54
lisitsynhttps://github.com/sanuj/shogun/blob/59e802a0f7036727faa18df63acf687050cc56a8/src/shogun/base/SGObject.cpp#L5917:54
lisitsyn:)17:54
sanujlisitsyn, oh i see, it looked okay on my sublime text17:57
lisitsynsanuj: ok I am done18:04
lisitsyna few more comments18:04
sanujyeah i saw18:04
-!- besser82 [~besser82@fedora/besser82] has joined #shogun18:04
-!- mode/#shogun [+o besser82] by ChanServ18:04
lisitsynsanuj: before we merge it we need someone else (HeikoS or wiking) to check18:04
sanujlisitsyn, sure18:05
sanujso it will happen tomorrow18:05
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 260 seconds]18:14
-!- sanuj [~sanuj@117.203.4.251] has quit [Ping timeout: 272 seconds]18:54
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds]19:04
-!- sonne|osx [~sonne@x4db3bf36.dyn.telefonica.de] has joined #shogun21:00
-!- mizari [~mizari@95-174-213-100.nts.su] has quit [Quit: Leaving]21:08
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun21:16
-!- mode/#shogun [+o lambday] by ChanServ21:16
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds]22:23
-!- lambday [6d9941c0@gateway/web/freenode/ip.109.153.65.192] has joined #shogun23:49
-!- mode/#shogun [+o lambday] by ChanServ23:49
--- Log closed Mon Jun 06 00:00:28 2016