Skip to content

Hackathon 2017 Modernise

Viktor Gal edited this page Dec 20, 2017 · 1 revision

use std:: instead of custom implementatiosn

  • instead of DynamicObjectArray we should use std::vector
  • get rid of CMath as std::c++11 has all of it covered

PRNG

  • feature/random-refactor contains 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_distribution and std::normal_distribution are 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. seed should 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 filesystem and std::any
  • switch the CFile and FILE* to InputStreamInterface

Extend tensorflow serving

  • work on the export to TF serving functionality

Apple CoreML format

Clone this wiki locally