Skip to content
Pan Deng / Zora edited this page Dec 16, 2017 · 5 revisions

Std everything

std::vector

get rid of cmath

PRNG - not consistent (cpp11)

Mock PRNG

Unittest; meta-example

Current: 1 PRNG.

Every class has its own PRNG/seed

Get rid of the global PRNG. Implement in every high-level class?

Seed setting in hierarchical structures/classes

RF-vector-permutation. requires different PRNG(seed) for each round

template: not SWIGable

set("seed", var)

if no "seed": continue

if get("seed") != None: NewClass.set("seed", OldClass.get("seed") else: NewClasee.set("seed", default)

SG_REF/SG_UNREF

Conclusion: shared_ptr everying

stop passing the raw pointer around, automatic SG_REF/SG_UNREF

// smart pointer: SWIG problem

// GP: circular reference count

Type free Linalg/CFeature/etc.

Conclusion: None

  • Macro
  • Switch/case (low efficiency during cascade querying)
  • lazy evaluation of operations to solve the cascade problem (spark/TF)

xtensor: header-only/view/lazy evaluation/broadcast

Non-type vector and matrices

explicitly cast all features to double dense feature

whether to support other types or not?

Conclusion: Switch to it!

to.numpyarray() to.pandasdf()

distributed computing

optimization

SVMLight - licence problem. need to get rid of

Parameter framework

eg.

SVM_load()
SVM_save()

I/O

file system Cpp17 // std::any // CFile, file* // input_stream

no CSVReader()?

either protobuf or arrow (type annotated)

extend tensorflow serving

apple's coreML lib / Amazon framework

Welcome to the Shogun wiki!

Clone this wiki locally