Skip to content

Instantly share code, notes, and snippets.

View geektoni's full-sized avatar

Giovanni De Toni geektoni

View GitHub Profile
-------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------------------------------
# Baseline
DataFixture/perceptron_baseline/8/256 16 ms 16 ms 43
DataFixture/perceptron_baseline/64/256 18 ms 18 ms 34
DataFixture/perceptron_baseline/256/256 47 ms 47 ms 15
DataFixture/perceptron_baseline/8/512 31 ms 31 ms 22
DataFixture/perceptron_baseline/64/512 51 ms 51 ms 13
DataFixture/perceptron_baseline/256/512 108 ms 108 ms 6

GSoC 2017 Final Report

Shogun Detox II: Codebase improvements and finalization of the new Tags and Serialization frameworks

Student: Giovanni De Toni
Organization: The Shogun Toolbox
Mentors: Viktor Gal, lambday

Abstract

The Shogun Toolbox is a well-established machine learning project that provides efficient algorithms implementations that can be used in a wide range of applications and with multi-language support (thanks to SWIG magic). Unfortunately, since it was built by many hands for many years, its code has become not easily maintainable or extendable and it does not use many new programming techniques and components that have appeared since the Shogun foundation. The time has come to blow some fresh air (and some new fresh code) into Shogun's depths. This project aims to correct and update the codebase and to complete the integration of

#include <shogun/base/init.h>
#include <shogun/features/DenseFeatures.h>
#include <shogun/labels/RegressionLabels.h>
#include <shogun/kernel/LinearKernel.h>
#include <shogun/regression/KernelRidgeRegression.h>
#include <shogun/evaluation/CrossValidation.h>
#include <shogun/evaluation/CrossValidationSplitting.h>
#include <shogun/evaluation/MeanSquaredError.h>
#include <shogun/lib/parameter_observers/ParameterObserverCV.h>
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff0ea13fa in __GI_abort () at abort.c:89
#2 0x00007ffff0eddbd0 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff0fd2dd0 "*** Error in `%s': %s: 0x%s ***\n")
at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007ffff0ee3f96 in malloc_printerr (action=3, str=0x7ffff0fd31d8 "malloc(): memory corruption (fast)", ptr=<optimized out>,
ar_ptr=<optimized out>) at malloc.c:5049
#4 0x00007ffff0ee6461 in _int_malloc (av=av@entry=0x7ffff1206b00 <main_arena>, bytes=bytes@entry=7) at malloc.c:3424
#5 0x00007ffff0ee7f34 in __GI___libc_malloc (bytes=7) at malloc.c:2928
#6 0x00007ffff5df91da in (anonymous namespace)::sg_malloc (size=7) at /home/geektoni/shogun/src/shogun/lib/memory.cpp:205
#7 0x00007ffff584fe19 in (anonymous namespace)::sg_generic_malloc<unsigned char> (len=7) at /home/geektoni/shogun/src/shogun/lib/memory.h:91
// Main class (represents a single observed value)
class ObservedValue : public CSGObject
{
ObservedValue();
ObservedValue(int64_t step, std::string name, Any v);
~ObservedValue();
int64_t get_step();
std::string get_name();
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCS9R0xqyV9L701mLdXgvdAo1eUNWud2Jv6Kc+VgHJReZ/aq+qQxP0eNJhgpL5S0cTqzylBNT8EeSkqSYgtE0aqyaIOAS9cWxkWV9836moXgj0uWqO5UYjpQMVqK93f8ek+NAGbJmvJpBdC9LAN13qM4TAL3Na5Qg1RZI+eX3U7yr+cyfNm38tm+N14v+gJqm6kqbC6zF4s3Rth/vLoG7VnFO2RtA9qNApX/MEprMRZNWDky7IkplnZigSg6FaQ/TGV3ofzoynwg5LEUSiPxM4Sagwt/oOZAk7Q1/0pMeCQkpxBK2B4r0CCJsV6QqiFj6GLQhRxoOLgk674/xUbudr uriel@uriel
#include <shogun/base/init.h>
#include <shogun/base/some.h>
#include <shogun/labels/BinaryLabels.h>
#include <shogun/lib/SGVector.h>
#include <shogun/lib/Signal.h>
#include <shogun/machine/Machine.h>
#include <shogun/lib/ParameterObserverScalar.h>
#include <shogun/lib/any.h>
#include <vector>
#include <shogun/base/init.h>
#include <shogun/base/some.h>
#include <shogun/labels/BinaryLabels.h>
#include <shogun/lib/SGVector.h>
#include <shogun/lib/Signal.h>
#include <shogun/machine/Machine.h>
#include <iostream>
#include <thread>
using namespace shogun;
#include <shogun/base/init.h>
#include <shogun/base/some.h>
#include <shogun/labels/BinaryLabels.h>
#include <shogun/lib/SGVector.h>
#include <shogun/lib/Signal.h>
#include <shogun/machine/Machine.h>
#include <iostream>
#include <thread>
using namespace shogun;