IRC logs of #shogun for Wednesday, 2019-01-30

--- Log opened Wed Jan 30 00:00:49 2019
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun00:29
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer]00:29
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Remote host closed the connection]03:44
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun03:45
-!- mode/#shogun [+o wiking] by ChanServ03:45
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]03:52
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun03:54
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host]03:54
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun03:54
-!- mode/#shogun [+o wiking] by ChanServ03:54
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]05:21
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun05:41
-!- mode/#shogun [+o wiking] by ChanServ05:41
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 272 seconds]05:46
-!- gf712 [90520889@gateway/web/freenode/ip.144.82.8.137] has joined #shogun08:42
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun09:40
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Remote host closed the connection]10:10
-!- wiking_ [~wiking@2001:67c:10ec:5784:8000::3ff] has joined #shogun10:31
wiking_gf712: around?10:36
-!- wiking_ is now known as wiking10:36
-!- wiking [~wiking@2001:67c:10ec:5784:8000::3ff] has quit [Changing host]10:36
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun10:36
-!- mode/#shogun [+o wiking] by ChanServ10:36
@wikinglisitsyn: pingu10:57
gf712wiking hey!11:16
@wikingi'll push some wip11:17
@wikinglemme know what u think about it11:17
gf712cool!11:17
gf712on your coreml branch?11:17
@wikingyes11:17
@wikinghttps://github.com/shogun-toolbox/shogun/commit/68c0ee2da0369a0f479e86b5f54b6003adce8b6111:18
gf712wiking: OK, I'll have a look now11:19
@wikingthnx11:20
@wikingi'm wondering whether u can think of a simplification for the visitor pattern11:20
@wikingi still have a problem of registering constructors to the registry :)11:21
@wikingsince i need a way to have an std::map<std::string, std::function<CTOR?>>11:21
@wikinggf712: btw i think we have a problem11:43
@wiking:)11:43
gf712ah ok :(11:43
@wikinggf712: the version patch is contaminating the ccache :(11:43
gf712I just finished going through the code11:43
@wikingso basically when version changes (git commit) the whole source code is recompiled from scratch11:44
gf712ah yes, because it affects all the translation units?11:44
@wikingand ccache is not working :?(11:44
@wikingjust realised on my machine11:44
@wikingand i think this is why now pr CIs take so long11:44
@wikingi mean i cannot think of anything11:44
@wikingelse11:44
gf712I thought the ccache would update?11:44
@wikingyeah it updates11:44
@wikingbut none of the code hits11:45
@wikingcache11:45
@wikingi've changed stuff in the coreml source code11:45
@wikingie. has nothing to do with libshogun11:45
@wikingand did a git commit locally11:45
@wikingsuddenly i see that libshogun is being recompiled from scratch11:45
@wikingand no ccache hits as it takes a long while to compile the code11:45
@wikingi mean libshogun11:45
@wiking:(11:45
@wikingi think this is because11:46
@wikingthere's a header change with constexpr11:46
@wiking(just thinking out loud) in version.h11:46
@wikingand that is being included everywhere11:46
gf712yes11:46
@wikingsrc/shogun/base/SGObject.h:#include <shogun/base/Version.h>11:46
@wikinganyhow we shoudl fix this11:47
gf712but shouldn't the cache have updated after that was included in the develop branch?11:47
@wikingyes11:47
@wikingbut think about it11:47
@wikingevery commit will change the content of Version.h11:47
gf712oh right11:48
@wikingand since it's included in SGObject11:48
@wikingdoesn't matter what you have in ccache11:48
gf712hmmm11:48
@wikingit'll recompile11:48
@wikinganyhow11:48
gf712and I was thinking it would make things a bit quicker with the constexpr..11:48
@wikingwanna talk about the coreml stuff11:48
@wikinggf712: yeah but not :)11:48
@wikingsince now SGObject.h is changing11:48
@wikingand if that changes11:49
@wikingthen ccache is NOP{11:49
@wiking*nop11:49
gf712ok, might be worth reverting it then11:49
gf712anyway11:49
gf712yes the coreml stuff11:50
@wikingyeah those thing need to go into implementation unfortunately :(11:50
@wikingbtw it should be enough to revert this https://github.com/shogun-toolbox/shogun/commit/46f7838f3c0815e821a3bd0b8805e152e26e9da711:52
@wikingthe python stuff can stay i guess11:52
gf712yup, the python stuff is useful and shouldn't affect it11:52
gf712but need to keep the main version getter11:53
gf712wiking so you store stuff in a map in the macro11:54
gf712and then get it in the converter right?11:54
gf712but then you don't have info about the template11:55
gf712other than querying CMachine?11:55
@wikingmmm so now the factory part is not working yet11:56
@wikingcoz there actually need a factory for each converter to be registered11:57
@wikingso either a typedef std::function<std::shared_ptr<ICoreMLConverter>(std::shared_ptr<CoreML::Specification::Model>)> ConverterFactoryFunction11:58
@wikingshould be registered11:58
@wikingor a ctor11:58
@wikingbut afaik ctors cannot be registered :)11:58
@wikingi mean with std::function11:58
@wikingor? :)11:58
gf712no you can't11:58
@wikingbut if i go with the one above ConverterFactoryFunction11:59
gf712because it would make it very messy11:59
@wikingthen i need to add a static function11:59
@wikingto the converters11:59
gf712you mean the &shogun::coreml::convert_svm for example?12:02
gf712sorry it's quite a lot of code so trying to find out how it works :p12:03
@wikingICoreMLConverter::create12:03
@wikingbut yeah that wont work :)12:04
@wikingi mean there's need to be a static function that is like a factory12:04
@wikingstatic std::shared_ptr<ICoreMLConverter> create(std::shared_ptr<CoreML::Specification::Model>);12:04
gf712oh right12:05
gf712yea12:05
@wikingand then comes the problem12:05
@wikingsince it's static12:05
@wikingtype info :)12:05
@wikingbut yeah maybe it should be done via the visitor12:05
@wikingso ICoreMLConverter has a sharedptr create(visitor.....)12:06
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]12:06
@wikingand then in the visitor there's the actual implementation of this12:06
-!- besser82 [~besser82@fedora/besser82] has joined #shogun12:07
-!- mode/#shogun [+o besser82] by ChanServ12:07
@wikingthat wont work either12:08
@wikinglemme think12:08
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has joined #shogun12:10
-!- mode/#shogun [+o HeikoS] by ChanServ12:10
gf712wiking what won't work?12:11
@wikingmight just12:12
@wikinggf712:12:16
@wikingok so here's the thing12:16
@wikingwe need to add a static method to ICoreMLConverter that is the factory method right?12:16
@wikingso that we can call it from the std::map12:16
@wikingso something like this12:17
@wikingstatic std::shared_ptr<ICoreMLConverter> create(std::shared_ptr<CoreML::Specification::Model>);12:17
@wikingi cannot put there in the function arg visitor12:17
@wikingas actually that visitor we wanna create or? :)12:17
@wikingi mean the class' visitor12:17
@wikingor the visitor's class :)12:17
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has quit [Ping timeout: 245 seconds]12:20
-!- Lefteris [836fb90d@gateway/web/freenode/ip.131.111.185.13] has joined #shogun12:23
gf712wiking oh man this is giving me a headache, not used to these patterns :D12:25
@wikinghehehe12:26
@wikinghave a better idea ? :)12:26
@wikingi'm open to anything12:26
gf712so what is the fundamental issue?12:27
@wikingnow with this design12:27
@wikingthat i cannot implement a std::function<std::shared_ptr<ICoreMLConverter>(std::shared_ptr<CoreML::Specification::Model>)>12:27
@wikingok weird question12:29
@wikingif i simply add12:29
@wikingstd::shared_ptr<ICoreMLConverter> create(std::shared_ptr<CoreML::Specification::Model>);12:29
@wikingto CoreMLConverter12:29
@wikingnone static12:29
@wikingand do a template spec like this12:29
@wikingtemplate<>12:29
@wikingstd::shared_ptr<ICoreMLConverter> CoreMLConverter<CSVM, CoreML::Specification::SupportVectorRegressor>::create(std::shared_ptr<CoreML::Specification::Model> model_spec)12:29
@wiking{12:29
@wikingreturn std::make_shared<SVMRegressorConverter>(model_spec);12:29
@wiking}12:29
@wikingany ideas why do i get12:29
@wiking  "void shogun::coreml::visitor::visit<shogun::coreml::CoreMLConverter<shogun::CSVM, CoreML::Specification::SupportVectorRegressor> const, shogun::CSVM const>(shogun::coreml::CoreMLConverter<shogun::CSVM, CoreML::Specification::SupportVectorRegressor> const*, shogun::CSVM const*)", referenced from:12:29
@wiking      shogun::coreml::CoreMLConverter<shogun::CSVM, CoreML::Specification::SupportVectorRegressor>::convert(shogun::coreml::visitor&, shogun::CMachine const*) const in SVMConverter.cc.o12:29
@wikingaaah fuck12:31
@wikingjust a sec12:31
gf712hmm? what's the error?12:31
@wikingnononoooooo12:31
@wikingthat's the error12:32
@wikingit's a linker error12:32
@wikingso if i add the ctor of SVMRegressorConverter12:33
@wikinginto this12:34
@wikingtemplate<>12:34
@wikingstd::shared_ptr<ICoreMLConverter> CoreMLConverter<CSVM, CoreML::Specification::SupportVectorRegressor>::create(std::shared_ptr<CoreML::Specification::Model> model_spec)12:34
@wikingwhich should be the implementation for the factory function for SVMRegressorConverter12:34
@wikingthen i get this linker error12:34
@wikingas soon as i remove the ctor12:34
@wikingit's all ok12:34
@wikingdont get it12:35
@wikinggf712: ok i have a solution12:52
@wikingsuper ugly12:52
@wikingbut now i cannot get reference on that function12:57
@wikingasdf12:57
@wikinggf712: https://pastebin.com/XU8x51Wq12:58
@wiking:D12:58
-shogun-buildbot:#shogun- Build deb4 - python3 #489 is complete: Failure [failed test python (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/28/builds/48913:03
gf712wiking ok, just having lunch, I'll have a look in a bit :D13:09
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]13:09
gf712template<> template<> is a thing?13:09
@wikingapparently13:11
-!- besser82 [~besser82@fedora/besser82] has joined #shogun13:12
-!- mode/#shogun [+o besser82] by ChanServ13:12
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has joined #shogun13:21
gf712wiking that is indeed some super ugly line of code13:21
-!- mode/#shogun [+o HeikoS] by ChanServ13:21
LefterisGuys, is there a problem with the octave CI?13:23
LefterisI am asking because last night it failed but on my PC it was fine13:25
@HeikoSLefteris we would need error msg etc13:26
@HeikoSlets see what the CI says for this one13:26
@HeikoSand if there is an error we have to fix it13:26
LefterisYes13:26
@HeikoSit might well be that it behaves differently for different versions13:27
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has quit [Ping timeout: 272 seconds]13:36
@wikinggf712: this is like impossible to solve :D13:39
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has joined #shogun13:54
-!- mode/#shogun [+o HeikoS] by ChanServ13:54
@HeikoSLefteris can you gist the octave example?13:54
@wikinggf712: i've got into a deadlock14:00
@wikingi'll push the stuff now in14:00
gf712OK, I can have another look later today!14:01
@wikingthnx14:01
@wikingi'll be hacking14:01
@wikingthe problem is there's a linker error14:01
@wikingcompiles just fine14:01
@wiking:))))14:01
@HeikoSLefteris I commented..... another problem with the PR :D14:04
@HeikoSwiking lisitsyn around?14:07
@wikinga bit14:07
@HeikoSI noticed something annoying14:07
@HeikoSwhen I started hiding LibLinear from SWIG14:07
@HeikoSthis means that the solver type enums are also hidden14:07
@HeikoSso examples fail14:07
@HeikoSso either we make enums visible to swig14:08
@wiking:>14:08
@HeikoSor we refactor somehow the way to specify things like solver types14:08
@HeikoSif we go for a) we need to move them to a global file as otherwise it is messy14:08
@HeikoSbut then plugins ...14:08
@HeikoSplugins and enums seems to be a problem14:09
@wikingthere's quite a lot of enums actually we need to get rid of in base classes14:10
@wikingbut about this.... mmmm that's a good q14:10
@wikingHeikoS: btw do not commit stuff locally atm as that contaminates your whole ccache14:11
@wiking:D14:11
@wikingfix is coming though https://github.com/shogun-toolbox/shogun/pull/449614:12
@wiking:)14:12
@HeikoSyes I saw :)14:12
@HeikoSlocally means also I cannot push to my PRs?14:12
@HeikoSor only the dev branch?14:12
@wikingwherever you commit14:12
@HeikoSok14:12
@HeikoSill stop14:12
@wikingthat is based on develop14:12
@wikingthen you are just constantly killiung your ccache14:12
@wikingi mean it's up to how much electricity and time you have14:12
@wiking;)14:12
@HeikoSlol14:13
@wikingjust as an advice14:13
@HeikoSi dont compile locally actually14:13
@wikingahahhahah14:13
@wikingok14:13
@HeikoSdonbot14:13
@wikingthen it's fine14:13
@wiking:)14:13
@HeikoSand azure14:13
@HeikoSah I was actually wondering why it started from scratch14:13
@HeikoSbut anyhow14:13
@HeikoSglobal list of enums doesnt work for plugins14:13
@wikingyes i know14:13
@HeikoSso14:13
@HeikoSstrings? :D14:13
@wikinghahahahah14:13
@HeikoSlisitsyn ^14:14
@HeikoSsergey we need you14:14
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has quit [Ping timeout: 240 seconds]14:21
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]14:24
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun14:25
-!- mode/#shogun [+o wiking] by ChanServ14:25
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]15:09
-!- besser82 [~besser82@fedora/besser82] has joined #shogun15:12
-!- mode/#shogun [+o besser82] by ChanServ15:12
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has joined #shogun15:22
HeikoSlisitsyn15:23
HeikoSwiking you ever came across this lib:15:31
HeikoShttps://github.com/aantron/better-enums15:31
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]15:31
@wikingDONE15:36
-!- besser82 [~besser82@fedora/besser82] has joined #shogun15:37
-!- mode/#shogun [+o besser82] by ChanServ15:37
@wikingccache asdf15:38
@wiking:D15:38
@wikingi commited :D15:38
HeikoShehe :)15:39
HeikoSlet me rebase15:39
HeikoSso wiking15:40
@wikingyes15:40
HeikoSwe basically need a way to convert strings to enums15:40
HeikoSso that interfaces can specify stuff15:40
HeikoSbut we keep the enums in the c++15:40
@wikingso swig only hacko?15:41
HeikoSyes15:41
HeikoSmachine("LibLinear", solver_type="my_solver")15:41
HeikoSand then something like15:41
HeikoSenum myenum = _from_string("my_solver")15:41
HeikoSand that is passed on to the actual put in libshogun15:41
HeikoSthis lib above does that, but it requires changing the enum types :(15:42
HeikoSI wonder what other options there would be15:42
HeikoSwe want to avoid having strings in c++ level15:42
HeikoSbut we also cannot enum types in interface level15:42
HeikoSevery plugin basically needs to know how to instantiate its own enum defitions from strings15:43
HeikoSand when a plugin is shipped, the enum comes in the header file15:43
HeikoSpure dynamic loading of plugin is still tricky as that requires to specify enums from c++ without knowing the type != meh15:44
HeikoSah fuck15:44
HeikoSwith plugins, this also comes to the c++ code15:44
HeikoSthe problem I mean15:44
HeikoSonly base types are available and that includes enums of plugins are not part of API and there we go15:45
HeikoSso we need a base type that can represent enum-style choices15:45
HeikoSlooks like string :(15:45
HeikoSok Ill sign off for today. will get back on this later15:46
HeikoSsee you15:46
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has quit [Ping timeout: 240 seconds]15:51
-!- Lefteris [836fb90d@gateway/web/freenode/ip.131.111.185.13] has quit [Quit: Page closed]15:57
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]16:08
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:08
-!- mode/#shogun [+o wiking] by ChanServ16:09
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 264 seconds]16:13
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:19
-!- mode/#shogun [+o wiking] by ChanServ16:19
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 268 seconds]16:24
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has joined #shogun16:48
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has quit [Changing host]16:48
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:48
-!- mode/#shogun [+o wiking] by ChanServ16:48
@wikinggf712: ccache is back on CI16:53
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]17:04
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun17:43
-!- mode/#shogun [+o wiking] by ChanServ17:43
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun17:44
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer]17:44
gf712wiking: good!17:44
wiking_gf712: refactored the thing17:44
wiking_now it's much simpler17:44
wiking_and works17:44
gf712ah cool!17:44
gf712so how does it work now?17:44
wiking_gf712: got a sec?17:44
gf712yup17:44
wiking_to discuss some design things?17:44
wiking_ok17:44
wiking_lemme give u pointers17:44
wiking_ok so check this part17:45
wiking_https://github.com/shogun-toolbox/shogun/commit/49f91d4234c655bbbb922627e9ae3995e9b44588#diff-da43a277a1ec4e07e2d2c8d37d31e475R8217:45
wiking_starting from line 92 is the actual core of the converter17:46
wiking_and for example everything between 82-92 is redundant code (you would need to do the same thing in every converter,...17:46
wiking_ass well as the catch/return part17:46
wiking_obviously some of the things are type params like SVMRegressorConverterType::supported_types17:47
wiking_etc17:47
wiking_or CoreML::Specification::SupportVectorRegressor17:47
gf712yup I see17:47
wiking_but i wonder17:47
wiking_if there's a nice way to do this wrapping17:47
wiking_so that you dont need to just write the actual conversion part there17:48
wiking_and write the checker/try/catch somewhere once17:48
wiking_https://github.com/shogun-toolbox/shogun/commit/49f91d4234c655bbbb922627e9ae3995e9b44588#diff-da43a277a1ec4e07e2d2c8d37d31e475R126 is similar17:48
wiking_i mean you could just do REGISTER_CONVERTER(SVMRegressorConverter) and the rest could be assumed internally in the macro17:48
gf712I guess you can write another function that takes ConverterType?17:49
gf712hmm yes macro makes it simpler17:49
wiking_of course in a way if you dont define SVMRegressorConverter[Type] then the macro will fail compile time17:49
wiking_this way since u need to pass it explicitly17:49
wiking_this is assured that there are no implicit things17:49
wiking_but then again its just shitty code that is being copypasted17:49
wiking_:)17:49
gf712you mean copy pasted by the macro?17:50
wiking_so now i listen to your ideas17:50
wiking_so i mean17:50
wiking_REGISTER_CONVERTER(SVMRegressorConverter, SVMRegressorConverterType::supported_types, []() { return std::make_shared<SVMRegressorConverter>(); })17:50
gf712oh right yes17:50
wiking_this way there's no implicit things going on17:50
wiking_but17:50
wiking_i could simply do this17:50
wiking_REGISTER_CONVERTER(SVMRegressorConverter, SVMRegressorConverterType::supported_types, []() { return std::make_shared<SVMRegressorConverter>(); })17:50
wiking_i meang17:50
wiking_REGISTER_CONVERTER(SVMRegressorConverter)17:50
wiking_and assume that SVMRegressorConverterType is defined17:51
gf712I would say that is dangerous17:51
wiking_i mean that lambda definitely should go within the macro17:51
wiking_gf712: i mean it's compile time17:51
gf712because then in the future people might not understand that17:51
gf712when they add stuff?17:51
wiking_idk why i cannot refer to supported_types via SVMRegressorConverter:: supported_types17:51
wiking_yeye17:52
wiking_i mean usually thats a good design17:52
wiking_that you dont do these type of implicit assumptions17:52
wiking_and ask for the user to provide stuff17:52
wiking_hence maybe the lambda shoudl stay as well17:52
wiking_but i really believe that that's really not necessary17:52
wiking_because later maybe the user want to have a different factory method for a given class? :)17:53
wiking_of course i could define 2 macros17:53
wiking_one where everything is explicit17:53
wiking_2nd where the factory method is generated by the macro itself17:53
gf712hmmm I would say keep the lambda one even though it's verbose?17:53
gf712but I guess having the two can't hurt?17:53
gf712anyway so what do you mean with "i cannot refer to supported_types via SVMRegressorConverter:: supported_types"17:54
gf712?17:54
wiking_see that now the list is provided like this17:54
wiking_SVMRegressorConverterType::supported_types17:54
wiking_which is actually17:54
wiking_CoreMLConverter<CSVM, CoreML::Specification::SupportVectorRegressor>:: supported_types17:55
wiking_it'd be nicer that that set is actually part of the class that inherits from CoreMLConverter<CSVM, CoreML::Specification::SupportVectorRegressor> namely SVMRegressorConverter17:55
wiking_or? :)17:55
gf712hmmm does it? I think it makes sense how it is now no?18:00
-shogun-buildbot:#shogun- Build deb4 - python3 #490 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/28/builds/49018:00
gf712actually maybe not18:00
gf712ok, I see why you would want it in SVMRegressorConverter instead18:00
gf712these template<> are really confusing me, not used to writing classes anymore :(18:02
wiking_gf712: anyhow18:06
wiking_first part is more interesting18:07
wiking_to remove all that code18:07
wiking_as it's literally copy-paste18:07
wiking_started to do the GLMRegressorConverter18:07
wiking_and it is all the same18:07
wiking_you have the required18:07
wiking_you have the new obj18:07
wiking_then try catch18:08
wiking_etc18:08
gf712yes, sounds good18:08
wiking_maybe18:08
wiking_i define a helper template18:08
wiking_with some number of args18:08
gf712btw have you tested it?18:08
wiking_gf712: yeye unit tests pass18:09
wiking_i mean18:09
wiking_i haven't ran an obj on mac yet18:09
wiking_:)18:09
wiking_but i've just realised that the CI test instance should actually use macos18:09
wiking_that way i can add integration tests18:09
gf712ah ok! I haven't seen the tests yet18:09
wiking_gf712: i mean it's just a simple unit test18:09
wiking_checks whether the values of the given spec and the original obj18:10
wiking_match18:10
wiking_but i could add an integration test18:10
wiking_that actually runs the model18:10
wiking_using macos' CoreML framework18:10
wiking_:)18:10
wiking_and compare the results18:10
wiking_with CMachine->apply18:10
gf712oh right right18:11
gf712I thought it would be save -> load -> compare if you have the same thing you started with :D18:12
wiking_hehehe18:12
wiking_i dont have load functionality18:12
wiking_here18:12
wiking_this is only one way18:12
wiking_CMachine -> coreml18:12
gf712ah ok!18:12
gf712glad it works though18:12
wiking_ok simplfied18:23
gf712cool!18:24
gf712still compiles?18:24
wiking_yes18:25
wiking_lemme push18:25
gf712OK! I'll have a look later18:25
gf712I gotta go now!18:25
wiking_mmm18:25
wiking_some weird warning18:25
gf712talk to you later!18:25
wiking_i need to see how to fix it18:26
wiking_ttyl18:26
-!- gf712 [90520889@gateway/web/freenode/ip.144.82.8.137] has quit [Ping timeout: 256 seconds]18:30
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has joined #shogun18:40
-!- HeikoS [4dedf3c3@gateway/web/cgi-irc/kiwiirc.com/ip.77.237.243.195] has quit [Ping timeout: 240 seconds]19:00
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Remote host closed the connection]19:24
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun19:50
-!- mode/#shogun [+o wiking] by ChanServ19:50
-!- besser82 [~besser82@fedora/besser82] has quit [Remote host closed the connection]20:22
-!- besser82 [~besser82@fedora/besser82] has joined #shogun21:33
-!- mode/#shogun [+o besser82] by ChanServ21:33
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]22:25
-!- besser82 [~besser82@fedora/besser82] has joined #shogun22:25
-!- mode/#shogun [+o besser82] by ChanServ22:25
-!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun22:29
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer]22:29
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]22:38
-!- besser82 [~besser82@fedora/besser82] has joined #shogun22:39
-!- mode/#shogun [+o besser82] by ChanServ22:39
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]]23:22
-!- besser82 [~besser82@fedora/besser82] has joined #shogun23:30
-!- mode/#shogun [+o besser82] by ChanServ23:30
--- Log closed Thu Jan 31 00:00:51 2019

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