--- Log opened Wed Feb 21 00:00:11 2018 | ||
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 01:48 | |
travis-ci | it'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/343843668 | 01:48 |
---|---|---|
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 01:48 | |
-!- travis-ci [~travis-ci@ec2-54-167-169-20.compute-1.amazonaws.com] has joined #shogun | 01:53 | |
travis-ci | it'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/344099340 | 01:53 |
-!- travis-ci [~travis-ci@ec2-54-167-169-20.compute-1.amazonaws.com] has left #shogun [] | 01:53 | |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 02:16 | |
travis-ci | it'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/344099340 | 02:16 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 02:16 | |
-!- travis-ci [~travis-ci@ec2-54-166-176-157.compute-1.amazonaws.com] has joined #shogun | 02:22 | |
travis-ci | it'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/344099340 | 02:22 |
-!- travis-ci [~travis-ci@ec2-54-166-176-157.compute-1.amazonaws.com] has left #shogun [] | 02:22 | |
-shogun-buildbot:#shogun- Build trusty - libshogun - viennacl #334 is complete: Failure [failed compile (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/6/builds/334 | 02:26 | |
-!- travis-ci [~travis-ci@ec2-54-166-176-157.compute-1.amazonaws.com] has joined #shogun | 03:41 | |
travis-ci | it'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/344123430 | 03:41 |
-!- travis-ci [~travis-ci@ec2-54-166-176-157.compute-1.amazonaws.com] has left #shogun [] | 03:41 | |
-shogun-buildbot:#shogun- Build nightly_all #98 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/22/builds/98 | 03:50 | |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 04:05 | |
travis-ci | it'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/344123430 | 04:05 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 04:05 | |
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun | 10:30 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 10:30 | |
@HeikoS | wiking: jojo | 10:30 |
@HeikoS | 33: Test command: /home/heiko/git/shogun/build/tests/meta/meta_example_integration_tester "binary" "kernel_support_vector_machine.dat" "java" "generated_results" "reference_results" | 10:31 |
@HeikoS | 33: Test timeout computed to be: 9.99988e+06 | 10:31 |
@HeikoS | 33: [WARN] In file /home/heiko/git/shogun/src/shogun/io/SerializableFile.cpp line 117: Could not read `array/value' from `generated_results/java/binary/kernel_support_vector_machine.dat'! | 10:31 |
@HeikoS | 33: [WARN] In file /home/heiko/git/shogun/src/shogun/base/Parameter.cpp line 2210: TParameter::new_sgserial(): Class `CWrappedBasic<float64>' was not listed during compiling Shogun :( ... Can not construct it for `array'! | 10:31 |
@HeikoS | the thing is that the old results are not loaded anymore, as the CWrappedBasic class doesnt exist anymore | 10:31 |
@wiking | HeikoS, ? | 10:34 |
@wiking | where is this? | 10:34 |
@wiking | in Parameter.cpp? | 10:35 |
@wiking | i mean this check itself | 10:35 |
@HeikoS | this is if you run integration test | 10:35 |
@HeikoS | see command | 10:35 |
@HeikoS | so the thing is | 10:35 |
@wiking | yeah i'm just checking | 10:36 |
@wiking | where the return value | 10:36 |
@HeikoS | the file kernel_support_vector_machine.dat | 10:36 |
@wiking | of that function isnt handled | 10:36 |
@HeikoS | contains CWrappedBasic | 10:36 |
@HeikoS | and then TParameter trys to create a new instance of it | 10:36 |
@HeikoS | which fails | 10:36 |
@HeikoS | (while de-serializing) | 10:36 |
@HeikoS | so nothing is loaded | 10:36 |
@wiking | yep that i get | 10:36 |
@wiking | but this should fail with a fatal error | 10:36 |
@HeikoS | what I don't get is | 10:36 |
@wiking | hence i'm looking where the false | 10:37 |
@HeikoS | what do you mean? | 10:37 |
@wiking | is being ignored | 10:37 |
@wiking | i mean if you | 10:37 |
@HeikoS | ah yeah | 10:37 |
@HeikoS | sure | 10:37 |
@wiking | want to deserialize an object | 10:37 |
@wiking | that is in a different 'version' | 10:37 |
@wiking | because lets say the object has changed | 10:37 |
@wiking | since then | 10:37 |
@wiking | then this should be not a nice warning | 10:37 |
@HeikoS | somewhere downstream it is ignored in de-serialization I guess | 10:37 |
@wiking | but a fatal error | 10:37 |
@HeikoS | agreed | 10:37 |
@HeikoS | what I dont get is why the array->equals didnt fail | 10:38 |
@wiking | so i'm trying to see where the bool is ignored | 10:38 |
@wiking | as there's a bool that is false | 10:38 |
@wiking | for 2 depth | 10:38 |
@wiking | when there's this error | 10:38 |
@HeikoS | because it should if the data that is compared against has the new format | 10:38 |
@wiking | well equals will naturally fail :) | 10:38 |
@wiking | ah no | 10:39 |
@wiking | actually no | 10:39 |
@HeikoS | the thing is empty | 10:39 |
@wiking | the object that you are actually running | 10:39 |
@HeikoS | but why is the "generated results" empty? | 10:39 |
@wiking | should have all the elements | 10:39 |
@wiking | yeah indeed | 10:39 |
@wiking | that equal should fail | 10:39 |
@wiking | even if the deserialization error is silenced | 10:39 |
@HeikoS | y | 10:39 |
@wiking | as one of the array should have elements | 10:39 |
@wiking | the other shoulnd't | 10:39 |
@wiking | that is even better wtf | 10:40 |
@wiking | ?\_(?)_/? | 10:40 |
@wiking | :> | 10:40 |
@HeikoS | yep | 10:40 |
@wiking | HeikoS, i'll check the stuff | 10:40 |
@wiking | for where this error | 10:40 |
@wiking | is ignored in parameter.cpp | 10:40 |
@wiking | when deserializing | 10:40 |
@wiking | k? | 10:40 |
@HeikoS | sure | 10:41 |
@HeikoS | I am checking why equals doesnt fail | 10:41 |
@wiking | cool | 10:41 |
@HeikoS | wiking: in any case | 10:41 |
@HeikoS | we will need to re-generate all integration testing data from the commit just before the change with the DynamicObjectArray | 10:41 |
@wiking | yep | 10:41 |
@wiking | i mean | 10:41 |
@HeikoS | and then see which tests fail with HEAD | 10:41 |
@wiking | we dont have to | 10:41 |
@wiking | i can fake it | 10:41 |
@wiking | if you want | 10:41 |
@wiking | :) | 10:41 |
@wiking | but first lets have these tests all fail | 10:42 |
@HeikoS | yep | 10:42 |
@wiking | both your case | 10:42 |
@wiking | and the case where deserialization fails | 10:42 |
@wiking | as these supposed to be two separate bugs | 10:42 |
@HeikoS | so the equals doesnt fail | 10:42 |
@HeikoS | because both arrays are empty | 10:42 |
@wiking | but why are those empty? | 10:42 |
@wiking | i mean as you see from that unit test | 10:42 |
@HeikoS | dont know, checking that next | 10:42 |
@wiking | it actually getting filled | 10:42 |
@HeikoS | the file contains the stuff also, just checked | 10:44 |
@wiking | yeah i've chacked that in the past as well | 10:44 |
@wiking | but the unit tests does that as well :P | 10:44 |
@HeikoS | 31: [WARN] In file /home/heiko/git/shogun/src/shogun/io/SerializableFile.cpp line 117: Could not read `array/value' from `generated_results/cpp/binary/kernel_support_vector_machine.dat'! | 10:46 |
@HeikoS | this is the warning happening when the generated (new format) is loaded | 10:46 |
@HeikoS | thats why the new version array is empty | 10:46 |
@wiking | ok so | 10:47 |
@wiking | i've got where the thing is | 10:47 |
@wiking | ignored | 10:47 |
@wiking | bool CSGObject::load_serializable(CSerializableFile* file, | 10:47 |
@wiking | const char* prefix)' | 10:47 |
@wiking | now the question is that do we wanna throw an exception | 10:47 |
@HeikoS | yes I think | 10:48 |
@HeikoS | ah wait | 10:48 |
@HeikoS | or return false | 10:48 |
@HeikoS | but I don't like this returning false stuff actually | 10:48 |
@HeikoS | tends to be forgotten | 10:48 |
@HeikoS | in tester.cpp it is not used e.g. | 10:48 |
@wiking | yeah i mean it shoulld be | 10:48 |
@wiking | as return value check is something you should never ignore | 10:49 |
@wiking | but still | 10:49 |
@wiking | imo this should be an exception | 10:49 |
@wiking | that you can catch if you like | 10:49 |
@wiking | on the other hand | 10:49 |
@HeikoS | yes agreed | 10:49 |
@wiking | as you can see | 10:49 |
@wiking | the whole load_serializable is catching the exceptions | 10:49 |
@wiking | i would change it | 10:49 |
@wiking | that if there's a load error -> SGERROR | 10:49 |
@wiking | i.e. exception is thrown | 10:50 |
@wiking | and either you handle it | 10:50 |
@wiking | or the code is done | 10:50 |
@wiking | i mean it fails badly | 10:50 |
@HeikoS | yep | 10:50 |
@HeikoS | the method returns false | 10:50 |
@HeikoS | so asserting load_success in tester makes it fail | 10:50 |
@wiking | yeah | 10:51 |
@wiking | i mean | 10:51 |
@wiking | on the end of the day | 10:51 |
@wiking | its the same shit :) | 10:51 |
@wiking | try-catch | 10:51 |
@wiking | or check the return value | 10:51 |
@wiking | :) | 10:51 |
@wiking | only thing is return value is easier to ignore | 10:51 |
@HeikoS | thats why try-catch exists right? :D | 10:51 |
@HeikoS | ok so far so good | 10:52 |
@HeikoS | now need to find out why it fails to load the new format | 10:52 |
@wiking | i mean yeah but you see what i mean right? | 10:52 |
@HeikoS | I do | 10:52 |
@wiking | its just more inconvenient | 10:52 |
@wiking | to ignore an exception | 10:52 |
@wiking | than a return value | 10:52 |
@wiking | i'm fine to convert this to an exception | 10:52 |
@wiking | note then i would do symetric | 10:53 |
@wiking | i.e. CSGObject::save_serializable | 10:53 |
@HeikoS | yep | 10:53 |
@wiking | should do the same | 10:53 |
@HeikoS | +1 | 10:53 |
@wiking | k i'll do this change then now | 10:53 |
@HeikoS | in develop? | 10:53 |
@HeikoS | I would wait until we fix the loading | 10:53 |
@HeikoS | i.e. first fix loading (of new format) and then put exception in | 10:53 |
@wiking | mmm i can just do it in a branch | 10:53 |
@HeikoS | kk | 10:53 |
@wiking | and see what travis does | 10:54 |
@wiking | the only thing that this is a moo point | 10:54 |
@wiking | i hope we realise this | 10:54 |
@wiking | :D | 10:54 |
@wiking | as the whole thing should get out ASAP | 10:54 |
@wiking | when we switch to tag based serialization | 10:54 |
@wiking | :P | 10:54 |
@HeikoS | well the format will change again | 10:55 |
@HeikoS | but it is easy to re-generate these files | 10:55 |
@wiking | i meant more about | 10:55 |
@wiking | whether we throw | 10:55 |
@wiking | or return the error | 10:55 |
@wiking | :) | 10:55 |
@HeikoS | ah | 10:55 |
@HeikoS | yeah | 10:55 |
@HeikoS | I hope we did not screw too many algorithms | 10:56 |
@HeikoS | there was quite some refactoring that relied on the integration tests | 10:56 |
@HeikoS | catching changes ... | 10:56 |
@HeikoS | LMNN is an example | 10:56 |
@HeikoS | I had a discussion with him where I asked "why did the integration test not fail?" | 10:56 |
@HeikoS | and he was like "did terminate due to maximum number of iterations, not convergence criterion that I refactored" | 10:56 |
-!- sukey [~nodebot@ks312251.kimsufi.com] has joined #shogun | 11:06 | |
-!- mode/#shogun [+o sukey] by ChanServ | 11:06 | |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/8a119a3aa0835dba4432cb1f330df16643b3cc53 by vigsterkr | 11:06 |
@sukey | [https://github.com/shogun-toolbox/shogun] New branch serialexception created | 11:06 |
@wiking | this should now all fail then | 11:06 |
@wiking | mmm | 11:07 |
@wiking | ok i have more errors | 11:07 |
@wiking | stopping travis | 11:07 |
@HeikoS | wiking: the problem is loading array Vector<SGSerializable*> | 11:09 |
@wiking | hahahah | 11:09 |
@wiking | just a sec | 11:09 |
@wiking | i've just realised some amazing stuff | 11:09 |
@wiking | in our ShogunException class | 11:10 |
@wiking | btw does anybody has any idea why our own exception is not inherited from std::exception? | 11:10 |
@HeikoS | probably because that didnt exist back then :D | 11:12 |
@wiking | it sure did | 11:12 |
@wiking | it is existing since c++ :) | 11:13 |
@HeikoS | I dont get it why the loading fails | 11:13 |
@HeikoS | the formats are exactly the same | 11:13 |
@HeikoS | apart from WrappedSGVector -> Serializable | 11:14 |
@HeikoS | it might be the templating | 11:15 |
@HeikoS | in CSerializable | 11:15 |
@HeikoS | set_generic<typename extract_value_type<T>::value_type>(); | 11:16 |
@HeikoS | wiking: i think it might be this | 11:17 |
@HeikoS | see in the old file we have | 11:17 |
@HeikoS | WrappedSGVector float64 | 11:17 |
@HeikoS | or more WrappedSGVector float64 [ | 11:17 |
@HeikoS | 7 value SGVector<float64> 20 | 11:17 |
@HeikoS | i.e. the type is WrappedSGVector with primitive type float64 | 11:17 |
@HeikoS | but in the new file there is | 11:18 |
@HeikoS | Serializable float64 [value SGVector<float64> 20 | 11:18 |
@HeikoS | i.e. Serializable where the primitive type is set to float64_t | 11:18 |
@HeikoS | as well | 11:18 |
@HeikoS | so when creating a new instance from this information, it cannot know that the value is SGVector | 11:18 |
@HeikoS | iirc this is the reason why I had different types for basic/matrix/vector | 11:18 |
@HeikoS | because otherwise the loading wouldnt work | 11:19 |
@HeikoS | I think you cannot have a single CSerializable actually | 11:19 |
@HeikoS | as the de-serialization cannot work the way it is implemented right now | 11:19 |
@HeikoS | wiking: so removing CWrapped* causes errors when loading the old files, and using CSerializable causes error when loading the new files | 11:20 |
@HeikoS | not sure how to fix it without having a Serializable for basic/vector/matrix individually | 11:21 |
@wiking | mmm | 11:21 |
@wiking | i'll read this | 11:21 |
@wiking | but i just wanna fix that other part | 11:21 |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/9977d634f38adc203d1aea10255469be8f4fed16 by vigsterkr | 11:27 |
@wiking | k afaik now it should be good | 11:27 |
@wiking | HeikoS, mm i understand why you had copy pasted 3 classes around | 11:28 |
@wiking | but with varg that was the ide | 11:28 |
@HeikoS | yes :/ | 11:28 |
@wiking | that you can dig out the generic type | 11:28 |
@HeikoS | the thing is that when loading the information is not availaing | 11:28 |
@HeikoS | if you see this: Serializable float64 [ value SGVector<float64> 20 | 11:29 |
@HeikoS | then you know the value type is SGVector | 11:29 |
@HeikoS | but if you just see Serializable float64 [ .. | 11:29 |
@HeikoS | then you can't know that it is SGVector | 11:29 |
@HeikoS | i.e. in shogun we cannot have classes with the same name that have different parameter types | 11:30 |
@HeikoS | unless it is the template argument (generic type) ifself | 11:30 |
@HeikoS | but you cannot have | 11:30 |
@HeikoS | T and SGVector<T> | 11:30 |
@wiking | lemme fix this | 11:30 |
@wiking | i'm not so sure why a name of the class would actually has any play in this game | 11:42 |
@wiking | it's what you register | 11:42 |
@wiking | in the param/tags | 11:42 |
@wiking | but even if it would be the name | 11:42 |
@wiking | that this is not a class | 11:42 |
@wiking | it's a template | 11:42 |
@wiking | so you can return whatever 'name' you want | 11:42 |
@wiking | based on the template param | 11:42 |
@HeikoS | it is because of the way shogun loads | 11:52 |
@HeikoS | it first reads the classname | 11:52 |
@HeikoS | and the primitive type | 11:52 |
@HeikoS | and then instantiates an empty instance using that info | 11:52 |
@HeikoS | so in the CSerializable case, the classname and primitive type is the same | 11:52 |
@HeikoS | whether value is float64_t or SGMatrix<float64_t> | 11:52 |
@HeikoS | and since only the primitive type is stored | 11:53 |
@HeikoS | shogun instantiates an empty instance of CSerializable with type of "value" being float64 | 11:53 |
@HeikoS | and then tries to load a matrix | 11:53 |
@HeikoS | and thats where the fail comes from | 11:53 |
@HeikoS | wiking: imo there need to be 3 classes unfortunately | 11:53 |
@HeikoS | wiking: maybe there is a better way somehow, or we can change serialization | 11:54 |
@wiking | again | 11:54 |
@HeikoS | but since this is quite urgent, I would just go back to have 3 classes | 11:54 |
@wiking | if it's the string type | 11:54 |
@wiking | quite urgent? | 11:54 |
@HeikoS | integration tests not working = urgent | 11:54 |
@wiking | i'm not getting the 'i cannot wait 2 hours' problem | 11:54 |
@wiking | here | 11:54 |
@HeikoS | ah 2 hours of course | 11:54 |
@wiking | and i'm not understanding | 11:54 |
@HeikoS | I am talking longer time | 11:54 |
@wiking | why the string cannot be differnet | 11:54 |
@wiking | in case of a template | 11:55 |
@wiking | as that could be derived from a template parameter | 11:55 |
@wiking | right? | 11:55 |
@HeikoS | ah | 11:55 |
@wiking | as Serializable | 11:55 |
@wiking | is a template | 11:55 |
@HeikoS | I think it is not the get_name() | 11:55 |
@HeikoS | but it is the class_list thing | 11:55 |
@wiking | mmm | 11:55 |
@wiking | i mean | 11:55 |
@HeikoS | where a class is created from its name and primitive type | 11:55 |
@wiking | these presumptions | 11:55 |
@wiking | were already a bit | 11:55 |
@wiking | broken | 11:55 |
@wiking | last week | 11:55 |
@HeikoS | if you do | 11:56 |
@wiking | so lets rather just debug it | 11:56 |
@wiking | and see what happens | 11:56 |
@HeikoS | create("Serializable", float64_t) | 11:56 |
@HeikoS | what is the type of "value"? | 11:56 |
@wiking | (i'm referring to get_name() | 11:56 |
@wiking | and that object cnnot have it | 11:56 |
@wiking | so i would say that i'm happy to fix it | 11:56 |
@wiking | i dont see the urgency here | 11:56 |
@HeikoS | not urgent as in days | 11:56 |
@wiking | that this has to be done in this very second | 11:56 |
@wiking | but if you believe strongly | 11:56 |
@HeikoS | but I would do that before e.g. changing the serialization stuff | 11:57 |
@wiking | that that's the case | 11:57 |
@wiking | it's just a flip in the switch | 11:57 |
@HeikoS | not this very second | 11:57 |
@wiking | i.e. revert that one commit | 11:57 |
@HeikoS | yeah sure | 11:57 |
@wiking | but i firmly beliee | 11:57 |
@wiking | that it's not that urgent | 11:57 |
@wiking | this is not blocking anybody imo | 11:57 |
@HeikoS | well, I would not merge any more PRs now | 11:57 |
@HeikoS | at least those that are refactoring | 11:58 |
@HeikoS | as errors slip there | 11:58 |
@HeikoS | that's just all I mean | 11:58 |
@wiking | i can take on | 11:58 |
@wiking | those fixing | 11:58 |
@HeikoS | I know it happened | 11:58 |
@HeikoS | lmnn | 11:58 |
@wiking | i can fix | 11:58 |
@HeikoS | there might be more | 11:58 |
@wiking | and review | 11:58 |
@HeikoS | yeah sure | 11:58 |
@wiking | the last 3 weeks | 11:58 |
@wiking | prs | 11:58 |
@HeikoS | I didnt mean to stress | 11:58 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 11:58 | |
travis-ci | it'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/344250676 | 11:58 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 11:58 | |
@wiking | if that's your concern | 11:58 |
@HeikoS | when was the CSerializable introduced? | 11:58 |
@HeikoS | you remember? | 11:58 |
@wiking | git log | 11:59 |
@wiking | it's a july commit | 11:59 |
@wiking | but merged between | 11:59 |
@wiking | Date: Fri Jan 19 10:04:35 2018 +0000 | 11:59 |
@wiking | Date: Tue Jan 16 09:09:29 2018 +0000 | 11:59 |
@HeikoS | ah yes jan | 12:00 |
@HeikoS | ah ok | 12:00 |
@HeikoS | cool, well let me know if you need help or something | 12:00 |
@wiking | btw i'm not so sure that this change | 12:02 |
@wiking | from bool to exception | 12:02 |
@wiking | is actually worth to do | 12:02 |
@wiking | as everywhere | 12:02 |
@wiking | this is being done | 12:02 |
@wiking | i.e. check the return value | 12:02 |
@wiking | see all the jinja2 unit test templates | 12:02 |
@HeikoS | yes | 12:02 |
@wiking | and since this anyways goes into the trash | 12:02 |
@HeikoS | leave it | 12:02 |
@wiking | i would rather just fix one place the problem | 12:03 |
@HeikoS | we can just put an assertion into the tester.cpp | 12:03 |
@wiking | i.e. the meta tester | 12:03 |
@wiking | for the return value | 12:03 |
@HeikoS | ++ | 12:03 |
@wiking | as this one now has multiple places | 12:03 |
@wiking | that i would need to do more fixe | 12:03 |
@wiking | s | 12:03 |
@wiking | for changing to void from bool | 12:03 |
@wiking | i mean the other way round | 12:03 |
@wiking | from bool to void | 12:03 |
@HeikoS | yeah it is less work and all this will go anyways, so agreed | 12:03 |
@sukey | [https://github.com/shogun-toolbox/shogun] vigsterkr pushed 2 commits: | 12:12 |
@sukey | https://github.com/shogun-toolbox/shogun/commit/77f0d29ee8bab68f743d856e718127cf887327ff | 12:12 |
@sukey | https://github.com/shogun-toolbox/shogun/commit/ea175886d9deeecc2e10b5dac130369e76e6fe21 | 12:12 |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/5158986a4aa12ad68c6343fc4de8f797bcbade0b by karlnapf | 12:25 |
@HeikoS | lisitsyn: https://github.com/shogun-toolbox/shogun/commit/5158986a4aa12ad68c6343fc4de8f797bcbade0b#diff-095bc6624c9b34fd7828144d24f4133c | 12:26 |
@HeikoS | wiking: ^ | 12:26 |
@HeikoS | first example works with new api | 12:26 |
@HeikoS | at least partly | 12:26 |
@HeikoS | need some factories for features | 12:26 |
@wiking | factories for features? | 12:27 |
@HeikoS | feature = Features(Loader("filename")) | 12:28 |
@HeikoS | and features has type CFeatures | 12:28 |
@wiking | HeikoS, what i dont get why cant we just wrap the watch_param under SG_ADD macro/ | 12:28 |
@wiking | ? | 12:28 |
@HeikoS | wiking: not possible with the current approach | 12:29 |
@HeikoS | since m_parameters->add can only accept CSGObject atm | 12:29 |
@HeikoS | and but watch_param should get the base class | 12:29 |
@wiking | yes | 12:29 |
@HeikoS | I can probably hack that | 12:29 |
@HeikoS | that SG_ADD casts | 12:29 |
@HeikoS | yeah good point will do that | 12:29 |
@wiking | i mean i think that macro could stay | 12:30 |
@wiking | and just some partial things under it | 12:30 |
@HeikoS | yes it can stay | 12:30 |
@wiking | or around it | 12:30 |
@wiking | as this is an ever changing thing | 12:30 |
@HeikoS | but the (CSGObject**) needs to be moved inside the macro | 12:30 |
@HeikoS | so the line needs change | 12:30 |
@HeikoS | but yeah | 12:30 |
@HeikoS | ah | 12:30 |
@wiking | yeah unfortunately yes | 12:30 |
@HeikoS | not sure actually | 12:30 |
@wiking | but that's 1 change | 12:31 |
@HeikoS | if it works | 12:31 |
@wiking | right? | 12:31 |
@wiking | i mean you can regexp that | 12:31 |
@HeikoS | I can cast in macro | 12:31 |
@wiking | because now it will be watch | 12:31 |
@HeikoS | but then everything is casted | 12:31 |
@HeikoS | so first need to check type | 12:31 |
@wiking | but then tomorrow it's asdf | 12:31 |
@HeikoS | jaja | 12:31 |
@wiking | i mean this is why it'd be better to follow interfaces | 12:32 |
@wiking | or shit like this | 12:32 |
@wiking | (sg_add) | 12:32 |
@HeikoS | need to check the type of the macro parameter | 12:33 |
@HeikoS | not sure how that would work | 12:33 |
@wiking | you cannot | 12:33 |
@wiking | :) | 12:33 |
@wiking | that's a preprocessor | 12:33 |
@HeikoS | the type is different for "watch" and old "add" | 12:33 |
@wiking | has no clue about anything just strings | 12:33 |
@HeikoS | yeah that's why I split it | 12:34 |
@wiking | but this is actually | 12:34 |
@wiking | a change | 12:34 |
@HeikoS | yes | 12:34 |
@wiking | in the sg_add | 12:34 |
@wiking | i mean you get that out | 12:35 |
@wiking | and under it you do whatever you want to | 12:35 |
@wiking | you can even put there a template | 12:35 |
@wiking | that then actually can match for a type | 12:35 |
@wiking | see all the traits | 12:35 |
@HeikoS | but the old SG_ADD just gets a base class pointer | 12:35 |
@wiking | yeah but that's easy to drop right? | 12:35 |
@HeikoS | SG_ADD( (CSGObject**) bla ...) | 12:35 |
@wiking | yes | 12:35 |
@HeikoS | so you are saying drop that | 12:35 |
@wiking | s/(CSGObject**)//g | 12:35 |
@HeikoS | and then deal with the rest inside | 12:35 |
@wiking | yes | 12:35 |
@HeikoS | yeah sure | 12:36 |
@HeikoS | better | 12:36 |
@wiking | because this is adding more lines | 12:36 |
@wiking | as well as | 12:36 |
@wiking | you'll ahve to do dropping | 12:36 |
@wiking | multiple files | 12:36 |
@HeikoS | the m_parameter will go soon | 12:36 |
@wiking | when Parameters.cpp | 12:36 |
@wiking | is out | 12:36 |
@wiking | right? | 12:36 |
@HeikoS | yes | 12:36 |
@HeikoS | all m_parameter calls will go | 12:36 |
@wiking | instead youi could jsut drop that | 12:36 |
@HeikoS | only watch will stay | 12:36 |
@wiking | behind SG_ADD | 12:36 |
@HeikoS | yes | 12:36 |
@wiking | and that's 1 change | 12:36 |
@HeikoS | aye aye | 12:36 |
@wiking | and if tomorrow it's watchMagicLand | 12:37 |
@wiking | then its sstill one line | 12:37 |
@HeikoS | watchMagicStringToTypeConverter_TM___ | 12:37 |
@HeikoS | wiking: you know what will be fun | 12:37 |
@HeikoS | changing all the notebooks | 12:37 |
@HeikoS | with new api | 12:37 |
@wiking | mmm | 12:37 |
@HeikoS | can't wait | 12:37 |
@wiking | set/get? | 12:37 |
@HeikoS | yes | 12:38 |
@HeikoS | there is awesome stuff | 12:38 |
@wiking | that is a bit regex-able | 12:38 |
@HeikoS | like in GaussianKernel | 12:38 |
@wiking | some parts | 12:38 |
@HeikoS | you have | 12:38 |
@wiking | not all | 12:38 |
@HeikoS | set_width | 12:38 |
@HeikoS | which does | 12:38 |
@HeikoS | m_log_width=CMath::log(w/2.0)/2.0; | 12:38 |
@HeikoS | but with put/get, we have to directly set log_width | 12:38 |
@wiking | i mean for the time being | 12:39 |
@wiking | if you done wanna be that harsh of changing stuff | 12:39 |
@wiking | you can just put the put under the setter | 12:39 |
@HeikoS | yep | 12:39 |
@HeikoS | thats the way | 12:39 |
@HeikoS | but thats all later I guess | 12:39 |
@HeikoS | first one example needs to work and be clean :) | 12:40 |
@wiking | HeikoS, http://buildbot.shogun-toolbox.org:8080/#/builders/4/builds/110/steps/7/logs/stdio | 13:26 |
@wiking | this doesn't look like a problem with some python package | 13:26 |
@wiking | or? | 13:26 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 13:29 | |
travis-ci | it'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/344266323 | 13:29 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 13:29 | |
@wiking | HeikoS, btw i dont have contact to wu (only his waterloo email that i reckon is dead) | 13:36 |
@wiking | could you drop him a gsoc endorsment line | 13:36 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 13:50 | |
travis-ci | it'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/344266323 | 13:50 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 13:50 | |
@HeikoS | wiking: will drop wu a line! | 14:07 |
@HeikoS | wiking: Ill dig out the package error | 14:08 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has joined #shogun | 14:10 | |
travis-ci | it's Heiko Strathmann'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/344271088 | 14:10 |
-!- travis-ci [~travis-ci@ec2-54-221-154-197.compute-1.amazonaws.com] has left #shogun [] | 14:10 | |
-!- travis-ci [~travis-ci@ec2-54-167-169-20.compute-1.amazonaws.com] has joined #shogun | 14:40 | |
travis-ci | it's Heiko Strathmann'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/344271088 | 14:40 |
-!- travis-ci [~travis-ci@ec2-54-167-169-20.compute-1.amazonaws.com] has left #shogun [] | 14:40 | |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/b6900ce5383361d1cb8b2397f56012b9d181a8db by karlnapf | 15:05 |
-shogun-buildbot:#shogun- Build deb1 - libshogun #315 is complete: Failure [failed configure (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/10/builds/315 | 15:05 | |
@HeikoS | shogun-buildbot: force build 'nightly_bsd_license' | 15:05 |
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Quit: Leaving.] | 15:06 | |
@wiking | heiko that one broke gpl | 15:18 |
@wiking | CMake Error at cmake/FindMetaExamples.cmake:52 (LIST): | 15:18 |
@wiking | list sub-command REMOVE_DUPLICATES requires list to be present. | 15:18 |
@wiking | Call Stack (most recent call first): | 15:18 |
@wiking | cmake/FindMetaExamples.cmake:61 (get_excluded_meta_examples) | 15:18 |
@wiking | tests/meta/CMakeLists.txt:35 (find_meta_examples) | 15:18 |
-shogun-buildbot:#shogun- Build nightly_bsd_license #111 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/4/builds/111 | 15:43 | |
-!- slayerjain [uid117577@gateway/web/irccloud.com/x-aplxahevpzmwpkbz] has joined #shogun | 16:02 | |
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun | 17:14 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:14 | |
@HeikoS | wiking: http://buildbot.shogun-toolbox.org:8080/#/builders/4/builds/111 | 17:19 |
@HeikoS | not sure where the error went, but now the thing is green :) | 17:19 |
@HeikoS | lisitsyn: see email | 17:25 |
@HeikoS | lisitsyn: also, clone? :D | 17:25 |
@wiking | HeikoS, yeah but now you broke the other | 17:25 |
@wiking | HeikoS, http://buildbot.shogun-toolbox.org:8080/#/builders/10/builds/315/steps/3/logs/stdio | 17:25 |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/297f9a0c5d4771154515fef2fac865fdc1a1af5e by karlnapf | 17:34 |
-shogun-buildbot:#shogun- Build deb1 - libshogun #316 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/10/builds/316 | 17:38 | |
@HeikoS | wiking: tada | 17:44 |
-!- slayerjain [uid117577@gateway/web/irccloud.com/x-aplxahevpzmwpkbz] has quit [Quit: Connection closed for inactivity] | 18:12 | |
@HeikoS | wiking: http://buildbot.shogun-toolbox.org:8080/#/builders/14/builds/100 | 18:15 |
@HeikoS | this was the one with the missing python-ply package | 18:15 |
-!- travis-ci [~travis-ci@ec2-54-198-188-114.compute-1.amazonaws.com] has joined #shogun | 18:38 | |
travis-ci | it's Heiko Strathmann'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/344401118 | 18:38 |
-!- travis-ci [~travis-ci@ec2-54-198-188-114.compute-1.amazonaws.com] has left #shogun [] | 18:38 | |
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 264 seconds] | 19:45 | |
--- Log closed Thu Feb 22 00:00:12 2018 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!