Hackathon 2017 Modernise - shogun-toolbox/shogun GitHub Wiki
use std:: instead of custom implementatiosn
- instead of DynamicObjectArray we should use std::vector
- get rid of
CMathas std::c++11 has all of it covered
PRNG
feature/random-refactorcontains the changes- for unit/integration tests we need to mock distributions somehow as even though the PRNGs are consistently generating the same sequence of numbers, the distributions like
std::uniform_int_distributionandstd::normal_distributionare compiler/stdc++ dependent. - need to remove the global PRNG and every class should has it's on prng/seed. need to figure out of the seed setting in hierarchical structures/classes, or passing around the PRNG. with tags it should be
set("seed", var), i.e.seedshould be a reserved variable name...?
SG_REF/SG_UNREF
Make everything to use std::shared_ptr as the most of the swig interfaces has wrapper for it.
Type free Linalg/CFeature/etc.
- still looking for a way how to do lazy evaluation and be able to avoid the constant checkup for type.
xtensor: header-only/view/lazy evaluation/broadcast
Non-type vector and matrices
Apache Arrow
- CFeatures should be initilizable/ctor with arrowbuf
get rid of SVMLight
SVMLight - licence problem and since we dont distribute it in the binary packages it's better remove the whole thing until the plugin framework is ready.
droppables
SVM_load(),SVM_save()
I/O
- switch to c++17 as it has
filesystemandstd::any - switch the CFile and FILE* to InputStreamInterface
Extend tensorflow serving
- work on the export to TF serving functionality