--- Log opened Sun Jan 07 00:00:09 2018 | ||
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 00:52 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 00:52 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 240 seconds] | 01:23 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 01:26 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 01:26 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 252 seconds] | 01:32 | |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4055 synchronized by dgkim5360 | 06:29 |
---|---|---|
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4055 synchronized by dgkim5360 | 06:35 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4055 synchronized by dgkim5360 | 06:38 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 11:15 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 11:15 | |
@HeikoS | lisitsyn: jo | 11:20 |
lisitsyn | HeikoS: hey | 11:21 |
@HeikoS | lisitsyn: have a question | 11:21 |
@HeikoS | about this equals stuff | 11:21 |
lisitsyn | yeah | 11:21 |
@HeikoS | I ran into the implementation for sparse vector | 11:21 |
lisitsyn | good stuff :) | 11:21 |
lisitsyn | aha | 11:21 |
@HeikoS | "comparison not implemented for sparse vectors" | 11:21 |
lisitsyn | ah | 11:21 |
lisitsyn | yeah I put it there | 11:22 |
@HeikoS | and I noticed that equals method takes two arguments | 11:22 |
@HeikoS | operator==(const SGSparseVector<T>& lhs, const SGSparseVector<T>& rhs) | 11:22 |
lisitsyn | yes | 11:22 |
@HeikoS | whereas the ones for SGMatrix take only one since it is a class method | 11:22 |
lisitsyn | yeah | 11:22 |
@HeikoS | why? | 11:22 |
lisitsyn | first one is a global function | 11:22 |
@HeikoS | does it have to do with the order in which available methods are checked? | 11:22 |
@HeikoS | okok | 11:23 |
lisitsyn | yeah global function is first | 11:23 |
lisitsyn | I think | 11:23 |
@HeikoS | but I can make it a member function as well right? | 11:23 |
lisitsyn | yeah sure | 11:23 |
@HeikoS | lisitsyn: and I also will need an equals method | 11:23 |
@HeikoS | and then this is tried first I guess | 11:23 |
lisitsyn | ->equals then .equals then == | 11:24 |
@HeikoS | ok | 11:24 |
@HeikoS | thats what I figured | 11:25 |
@HeikoS | I almost got things working | 11:25 |
@HeikoS | man | 11:25 |
@HeikoS | so much deleted code you have no idea :D | 11:25 |
lisitsyn | did you find a way with add_vector thing? | 11:25 |
lisitsyn | HeikoS: almost is like a few tests or? :) | 11:27 |
@HeikoS | lisitsyn: yes few tests | 11:27 |
@HeikoS | add vector thing is tricly | 11:27 |
@HeikoS | need to think a bit | 11:27 |
@HeikoS | but can fix that | 11:27 |
@HeikoS | for now I disabled tests | 11:27 |
@HeikoS | which means that everything where SG_ADD is not used is not serializable | 11:27 |
@HeikoS | but that is fine | 11:27 |
@HeikoS | as long as the trained model serialization tests work | 11:27 |
lisitsyn | well you can just put watch_param right next to add_vector | 11:27 |
lisitsyn | can't you? | 11:28 |
@HeikoS | I dont care if our DynamicObjectArray is not serializable | 11:28 |
@HeikoS | lisitsyn: the thing there is that | 11:28 |
@HeikoS | not all of the array is registered | 11:28 |
@HeikoS | only the parts that are used | 11:28 |
@HeikoS | so need another member variable | 11:28 |
lisitsyn | ah yeah so you need a wrapper | 11:28 |
@HeikoS | yep | 11:28 |
@HeikoS | but the type is not basic | 11:28 |
@HeikoS | so SGVector wont really do it | 11:28 |
@HeikoS | maybe it does | 11:28 |
lisitsyn | yeah you need some MemoryArea | 11:28 |
@HeikoS | I will check this later | 11:28 |
@HeikoS | exactly | 11:28 |
lisitsyn | HeikoS: I think we need a base class for SGVector<T>, SGMatrix<T> blabla | 11:29 |
lisitsyn | which is untyped | 11:29 |
@HeikoS | yep | 11:30 |
lisitsyn | runtime-typed I mean | 11:30 |
@HeikoS | that would solve this problem | 11:30 |
@HeikoS | but maybe it is not needed | 11:30 |
@HeikoS | since this DynArray stuff goes anyways | 11:30 |
lisitsyn | ah no it's a different story | 11:30 |
@HeikoS | and we dont reall yhave vectors of complex things in many places | 11:30 |
lisitsyn | in that AnyVisitor | 11:30 |
lisitsyn | we have to implement for <int8> blabla | 11:30 |
lisitsyn | we could avoid that if we had 'Tensor' | 11:30 |
@HeikoS | ah | 11:31 |
@HeikoS | ok | 11:31 |
@HeikoS | I have to run now, but will be back later | 11:31 |
lisitsyn | see you | 11:31 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 248 seconds] | 11:36 | |
-!- gaurav_ [0e8bc409@gateway/web/freenode/ip.14.139.196.9] has joined #shogun | 14:59 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 16:48 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:48 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 248 seconds] | 17:10 | |
-!- gaurav_ [0e8bc409@gateway/web/freenode/ip.14.139.196.9] has quit [Ping timeout: 260 seconds] | 17:19 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 17:21 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:21 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 265 seconds] | 17:28 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 17:33 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:33 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 240 seconds] | 17:57 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 18:01 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 18:01 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Quit: Leaving.] | 18:06 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 18:07 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 18:07 | |
-!- travis-ci [~travis-ci@ec2-54-196-25-80.compute-1.amazonaws.com] has joined #shogun | 18:13 | |
travis-ci | it's salonirk11's turn to pay the next round of drinks for the massacre he caused in salonirk11/shogun: https://travis-ci.org/salonirk11/shogun/builds/326075810 | 18:13 |
-!- travis-ci [~travis-ci@ec2-54-196-25-80.compute-1.amazonaws.com] has left #shogun [] | 18:13 | |
@HeikoS | lisitsyn: jo | 18:47 |
lisitsyn | hey | 18:48 |
@HeikoS | auto obj = some<CMockObject>(); | 18:48 |
@HeikoS | Some<CMockObject> other_obj = some<CMockObject>(); | 18:48 |
@HeikoS | EXPECT_EQ(other_obj->ref_count(), 1); | 18:48 |
@HeikoS | obj->put("watched_object", dynamic_cast<CSGObject*>(other_obj.get())); | 18:48 |
@HeikoS | EXPECT_EQ(other_obj->ref_count(), 2); | 18:48 |
@HeikoS | EXPECT_TRUE(other_obj->equals(obj)); | 18:48 |
@HeikoS | obj = nullptr; | 18:48 |
@HeikoS | EXPECT_EQ(other_obj->ref_count(), 1); | 18:48 |
@HeikoS | doesnt make sense to me | 18:48 |
lisitsyn | why so? | 18:48 |
@HeikoS | here is the debug output | 18:48 |
@HeikoS | [DEBUG] Comparing parameter MockObject::float of type double. | 18:49 |
@HeikoS | [DEBUG] Comparing using lhs==rhs. | 18:49 |
@HeikoS | [DEBUG] Comparing parameter MockObject::int of type int. | 18:49 |
@HeikoS | [DEBUG] Comparing using lhs==rhs. | 18:49 |
@HeikoS | [DEBUG] Comparing parameter MockObject::vector of type shogun::SGVector<double>. | 18:49 |
@HeikoS | [DEBUG] Comparing using lhs.equals(rhs). | 18:49 |
@HeikoS | [DEBUG] Comparing parameter MockObject::watched_int of type int. | 18:49 |
@HeikoS | [DEBUG] Comparing using lhs==rhs. | 18:49 |
@HeikoS | [DEBUG] Comparing parameter MockObject::watched_object of type shogun::CSGObject*. | 18:49 |
@HeikoS | [DEBUG] Comparing using lhs->equals(rhs). | 18:49 |
@HeikoS | [DEBUG] Own parameter MockObject::watched_object=null different from provided=MockObject::watched_object=MockObject(...) | 18:49 |
-!- travis-ci [~travis-ci@ec2-54-196-25-80.compute-1.amazonaws.com] has joined #shogun | 18:49 | |
travis-ci | it's salonirk11's turn to pay the next round of drinks for the massacre he caused in salonirk11/shogun: https://travis-ci.org/salonirk11/shogun/builds/326075810 | 18:49 |
-!- travis-ci [~travis-ci@ec2-54-196-25-80.compute-1.amazonaws.com] has left #shogun [] | 18:49 | |
@HeikoS | so you see there that other_obj::watched_object is null | 18:49 |
@HeikoS | which kinda makes sense to me from the code | 18:49 |
@HeikoS | i.e. equals fails where it is asserted true | 18:50 |
lisitsyn | ah so you're talking about equals | 18:50 |
lisitsyn | it should not be true | 18:50 |
@HeikoS | ok | 18:51 |
@HeikoS | I will change the test then | 18:51 |
lisitsyn | yeah sure | 18:51 |
@HeikoS | (it used to be true) | 18:51 |
lisitsyn | HeikoS: what I wanted to test is refcounts | 18:52 |
@HeikoS | i see | 18:52 |
@HeikoS | that was the last test | 18:52 |
@HeikoS | updating PR | 18:52 |
lisitsyn | no idea about equals why I put it here | 18:52 |
lisitsyn | yikes! | 18:52 |
lisitsyn | that was fast | 18:52 |
lisitsyn | :) | 18:52 |
lisitsyn | HeikoS: we have terrible segfault on mac I have no idea how to fix :D | 18:52 |
lisitsyn | import shogun -> kaboom | 18:53 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4069 synchronized by karlnapf | 18:53 |
@HeikoS | lisitsyn: check out the amount of deleted code :D | 18:54 |
lisitsyn | checking | 18:54 |
@HeikoS | lisitsyn: that is usually a version mispatch of python lib | 18:54 |
lisitsyn | HeikoS: not in my case | 18:54 |
lisitsyn | I compiled against conda | 18:54 |
lisitsyn | https://github.com/shogun-toolbox/shogun/issues/4068 | 18:55 |
@HeikoS | i have had weird issues when compiling against conda myself | 18:55 |
@HeikoS | locally I mean | 18:55 |
@HeikoS | only could make it work when using a docker image with only conda | 18:56 |
@HeikoS | some weird ld conflicts | 18:56 |
@HeikoS | but didnt dive into it | 18:56 |
lisitsyn | HeikoS: I think it used to work but something changed | 18:57 |
@HeikoS | ok wow | 18:57 |
lisitsyn | HeikoS: huge pr :) | 18:57 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4070 opened by Sahil333 | 18:59 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4071 opened by karlnapf | 19:00 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4071 karlnapf added label: "development tasks" | 19:00 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4071 karlnapf added label: "good first issue" | 19:00 |
@HeikoS | lisitsyn: yep :) | 19:00 |
@HeikoS | check the SGObject.cpp | 19:00 |
@HeikoS | that is the main thing, the rest is some clean up stuff | 19:00 |
@HeikoS | I can remove the "removing code" parts | 19:00 |
lisitsyn | HeikoS: what next? | 19:02 |
@HeikoS | clone | 19:02 |
@HeikoS | cereal | 19:02 |
lisitsyn | ok clone | 19:02 |
@HeikoS | and remiving more code | 19:02 |
@HeikoS | clone will be a very similar story to equals in fact | 19:02 |
@HeikoS | need to make any clonable (if it is not yet) | 19:02 |
@HeikoS | and therefore the SG* types as well | 19:02 |
lisitsyn | it is | 19:03 |
@HeikoS | and for primitives we can use = | 19:03 |
@HeikoS | lisitsyn: then implementing clone should be a quick one | 19:03 |
lisitsyn | yeah just iterate over map and assign | 19:03 |
@HeikoS | yep | 19:03 |
@HeikoS | wanna do it=? | 19:03 |
lisitsyn | no, wanted to add vector/matrix to swig | 19:03 |
lisitsyn | :) | 19:03 |
lisitsyn | but why not | 19:04 |
lisitsyn | let me try | 19:04 |
@HeikoS | no the ndo that | 19:04 |
@HeikoS | I can do clone | 19:04 |
@HeikoS | I am in there already | 19:04 |
lisitsyn | ok | 19:04 |
@HeikoS | lisitsyn: question | 19:05 |
@HeikoS | we had this "accuracy" parameter in equals | 19:05 |
@HeikoS | since xml serialization is lossy | 19:05 |
@HeikoS | I removed it now | 19:05 |
@HeikoS | since otherwise need to pass it downstream to your any | 19:05 |
@HeikoS | which would be annoying, or? | 19:06 |
lisitsyn | why xml is lossy? | 19:06 |
@HeikoS | SerializationXML_unittest.junja2 | 19:06 |
@HeikoS | our implementation only does 1e-14 | 19:06 |
@HeikoS | dont ask me why | 19:06 |
lisitsyn | I'd better fix xml then | 19:06 |
@HeikoS | same for ascii | 19:07 |
lisitsyn | meh | 19:07 |
@HeikoS | ok ill kill that accuracy guy | 19:07 |
@HeikoS | pointless in my eyes | 19:07 |
lisitsyn | yeah it is like a hack | 19:07 |
lisitsyn | HeikoS: git clang-format-3.8 --commit 6f1fd162892988e212b5ddfc6de15db3a8bf1026 --binary /usr/bin/clang-format-3.8 | 19:09 |
lisitsyn | :) | 19:09 |
@HeikoS | yeah Ill do that | 19:09 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4069 synchronized by karlnapf | 19:10 |
@HeikoS | how to do it now? | 19:10 |
@HeikoS | after having updated | 19:10 |
lisitsyn | ? | 19:10 |
lisitsyn | do what? | 19:10 |
@HeikoS | same thing? reformat | 19:11 |
lisitsyn | if you run the command it changes the files | 19:11 |
lisitsyn | and you commit | 19:11 |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4069 synchronized by karlnapf | 19:12 |
@HeikoS | done | 19:12 |
@HeikoS | ok I am off now | 19:12 |
@HeikoS | thanks! | 19:12 |
lisitsyn | ok I will kill the builds | 19:12 |
@HeikoS | lisitsyn: let's see how travis likes it | 19:12 |
lisitsyn | so that only latest runs | 19:12 |
@HeikoS | feel free to merge if it works | 19:12 |
lisitsyn | okie | 19:12 |
@HeikoS | I changed the "trained models" tests as well | 19:12 |
@HeikoS | they had accuracy 1e-7 | 19:12 |
@HeikoS | gnaaaa | 19:12 |
@HeikoS | might have to disable until we fix cereal and have reliable serialization .... | 19:13 |
@HeikoS | anyways...signing off | 19:13 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 265 seconds] | 19:18 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 19:37 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 19:37 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 240 seconds] | 19:43 | |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 19:47 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 19:47 | |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4069 synchronized by karlnapf | 19:50 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 256 seconds] | 19:56 | |
sukey1 | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4072 opened by lisitsyn | 20:09 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has joined #shogun | 23:19 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 23:19 | |
@HeikoS | lisitsyn: still there | 23:21 |
@HeikoS | ? | 23:21 |
@HeikoS | https://travis-ci.org/shogun-toolbox/shogun/jobs/326113679#L9335 | 23:21 |
lisitsyn | HeikoS: yeah | 23:22 |
lisitsyn | having sexy time with segfault | 23:22 |
@HeikoS | I was wondering | 23:22 |
@HeikoS | what if we gave every SGObject an epsilon? | 23:22 |
@HeikoS | that is used for equals | 23:22 |
@HeikoS | like get_global_io() | 23:22 |
@HeikoS | then the accuracy is not a parameter in all the comparison calls, but rather a state of the object | 23:22 |
@HeikoS | (not registered state) | 23:23 |
@HeikoS | just has a default parameter, and one can change that if accuracy should change | 23:23 |
lisitsyn | HeikoS: yeah but I'd go with a global constant | 23:23 |
@HeikoS | obj->set_equal_accuracy(1e-7); | 23:23 |
@HeikoS | obj->equals(other); | 23:23 |
@HeikoS | or that | 23:23 |
@HeikoS | all floating point equals then have to respect that | 23:24 |
@HeikoS | SG* and SGObject... | 23:24 |
lisitsyn | do we really need to customize it often? | 23:24 |
@HeikoS | the thing https://github.com/shogun-toolbox/shogun/pull/4069/commits/d9e377d5ef55f46b27273ff19b877bb918ae6edb | 23:24 |
@HeikoS | these were the places | 23:25 |
@HeikoS | all of these were set because tests were failing | 23:25 |
@HeikoS | i think travis just doesnt catch all of them | 23:25 |
@HeikoS | Ill make a global constant for that | 23:25 |
-!- HeikoS [~heiko@host213-122-246-7.range213-122.btcentralplus.com] has quit [Ping timeout: 248 seconds] | 23:33 | |
--- Log closed Mon Jan 08 00:00:10 2018 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!