SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
pySPACE (https://github.com/pyspace)
Introduction to a Signal Processing and
Classification Environment (pySPACE)
M M Krell, A Seeland, J H Metzen
DFKI Bremen & University of Bremen
Robotics Innovation Center
Director: Prof. Dr. Frank Kirchner
www.dfki.de/robotics
robotics@dfki.de
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 1 / 30
Table of Contents
1 Introduction 3
2 How to install and use 7
3 Concepts and Features 15
4 Applications 21
5 Conclusion 27
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 2 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Computation of Multiple Workflows and Datasets
. . . with applications, e.g., in robotics and brain-computer interfaces
. . . with simple configuration and automatic processing of
empirical evaluations (benchmarking)
. . . on feature vector and time series datasets
. . . where configuration requires no programming (YAML used)
⇒ useable by non-programmers
. . . with execution in a distributed manner (embarrassingly parallel)
. . . intuitive structure and documentation
. . . choosing from more than 100 signal processing and classification
algorithms (additionally interfaces to other libraries)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
Introduction
Short Facts
medium sized framework (> 40000 lines of code)
developed and tested on Mac OS X and Linux
development started 6 years ago (open source since August 2013)
core developer team of 3 − 5 people and approx. 10 in total
open source software (GPL, available at
https://github.com/pyspace)
documentation: http://pyspace.github.io/pyspace/
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
Introduction
Short Facts
medium sized framework (> 40000 lines of code)
developed and tested on Mac OS X and Linux
development started 6 years ago (open source since August 2013)
core developer team of 3 − 5 people and approx. 10 in total
open source software (GPL, available at
https://github.com/pyspace)
documentation: http://pyspace.github.io/pyspace/
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
Introduction
Selected Applications: The VI-Bot Project
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 5 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
Introduction
Selected Applications
evaluation and comparison of
. . . sensor/channel selection algorithms (on EEG data) [1]
. . . dimensionality reduction algorithms
(ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13]
. . . classifiers [6, 11, 14, 15]
Brain-Computer Interfaces (movement prediction, interaction error
detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17]
robotic applications (soil detection, parallelization of robot
simulations, localization algorithms, and sensor regression)
more details at the end, if there is time left
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
How to install and use
How to install and use pySPACE
1 installation (simple, see tutorial)
2 prepare your data for pySPACE
3 decide and define the processing file
4 potentially modify your config file
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 7 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
optional dependencies:
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
Installation
required dependencies:
Python 2.7/Python 2.6
YAML
NumPy
SciPy
optional dependencies:
matplotlib (visualizations)
scikit-learn (classifiers, transformations)
PyQt4 (GUIs)
WEKA, MMLF
LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces)
download (git clone https://github.com/pyspace/pyspace.git)
python setup.py ⇒ configuration folder in home directory
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
How to install and use
prepare your data: Input Formats
feature vector: csv, arff
time series segments: csv
time series stream: csv, EDF2
.set (EEGLAB), .eeg (BrainProducts GmbH)
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 9 / 30
How to install and use
1 installation
2 prepare your data
dataset description of banana dataset (metadata.yaml)
storage_format: [csvUnnamed, real]
type: FEATURE_VECTOR
file_name: banana_data.csv
label_column: 1
...
3 decide and define the processing file
4 potentially modify your config file
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 10 / 30
How to install and use
1 installation
2 prepare your data
3 decide and define the processing file (examples/bench.yaml)
type: node_chain
input_path: "example_summary"
runs : 3
node_chain:
- node: FeatureVectorSourceNode
- node: TrainTestSplitter
parameters :
train_ratio: 0.4
- node: __Normalization__
- node : 2SVM
parameters :
complexity : __C__
- node: PerformanceSinkNode
parameter_ranges :
__C__ : [0.01,0.1,1]
__Normalization__ : [GaussianFeatureNormalization,
EuclideanFeatureNormalization]
4 potentially modify your config file
5 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 11 / 30
How to install and use
1 installation
2 prepare your data for pySPACE
3 decide and define the processing file (bench.yaml)
4 potentially modify your config file (config.yaml)
storage: ~/pySPACEcenter/storage
spec_dir: ~/pySPACEcenter/specs
console_log_level : logging.WARNING
file_log_level : logging.INFO
python_path:
- /home/user/pySPACE/external/libsvm/python/
...
5 start software
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 12 / 30
How to install and use
1 installation
2 prepare your data for pySPACE
3 decide and define the processing file (bench.yaml)
4 potentially modify your config file (config.yaml)
5 start software
go to pySPACEcenter on the command line and type:
./launch.py -o examples/bench.yaml --mcore
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 13 / 30
How to install and use
Parallelization
parallel execution modes:
single-core: − − serial
multi-core (multiprocessing): − − mcore
cluster (shared file system, LoadLeveler): − − loadl
cluster (shared file system, no scheduling): − − mpi
possibility to add new modes (backends): e.g., − − cloud,
− − gearman?
creation of jobs and execution
specific subtasks (e.g., parameter optimization evaluations)
different processing chains in the application
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
How to install and use
Parallelization
parallel execution modes:
single-core: − − serial
multi-core (multiprocessing): − − mcore
cluster (shared file system, LoadLeveler): − − loadl
cluster (shared file system, no scheduling): − − mpi
possibility to add new modes (backends): e.g., − − cloud,
− − gearman?
further parallelization:
creation of jobs and execution
specific subtasks (e.g., parameter optimization evaluations)
different processing chains in the application
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
Concepts and Features
General Structure Concept [12]
operation
1
operation
2
operation
3
operation
..
node
1
node
2
node
3
node
..
operation
chain
operation
node chain
node
node chain merge WEKA ..
FIR Filter
sub-
sampling
SVM ..
offline
offline
offline + online
summary
summary
dataset
data sample
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 15 / 30
Concepts and Features
General Node Chain Processing
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
Concepts and Features
General Node Chain Processing
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
Modularity concept of node chain based on Modular toolkit for Data
Processing (MDP)!
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
Concepts and Features
More than 100 own implemented algorithms [12]Source
Sink
Preprocessing
Spatial
Filter
Classification
Feature
Generator
Meta
Splitter
Visualization Others
Postprocessing
LDA
QDA
LIBSVM
LIBLINEAR
SOR SVM
Naive Bayes
Random
FFT IIR FIR
CSP
ICAPCA
xDAWN
Coherence
Correlations
Moments
STFT
DWT
Linear Fit
Pattern Search
Grid Search
Window Function
detrend z-score
Resample
Decimation
Cross-
validation
FDA
Sensor Selection Avg. EEG Raw Data
TKEO
optimalsigmoid
linear
Scatter
HistogramSpectrum
Stream
TimeSeries
FeatureVector
Performance
Score Mapping
gaussian
histogram
Normalizations
Filters
Feature
Normalization
Sub-Chain
Fusion
Classifier Ensemble
Scikit-learn Wrapper
Gating
Functions
ridge
regression
probability
voting
label voting
precision
weighted
Feature Selection
DebugInstance Selection
Type Conversion
Amplitudes
Train-Test
Splitter
baseline
TimeSeriesFeatureVector
Stream
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
Concepts and Features
More than 100 own implemented algorithms [12]Source
Sink
Preprocessing
Spatial
Filter
Classification
Feature
Generator
Meta
Splitter
Visualization Others
Postprocessing
LDA
QDA
LIBSVM
LIBLINEAR
SOR SVM
Naive Bayes
Random
FFT IIR FIR
CSP
ICAPCA
xDAWN
Coherence
Correlations
Moments
STFT
DWT
Linear Fit
Pattern Search
Grid Search
Window Function
detrend z-score
Resample
Decimation
Cross-
validation
FDA
Sensor Selection Avg. EEG Raw Data
TKEO
optimalsigmoid
linear
Scatter
HistogramSpectrum
Stream
TimeSeries
FeatureVector
Performance
Score Mapping
gaussian
histogram
Normalizations
Filters
Feature
Normalization
Sub-Chain
Fusion
Classifier Ensemble
Scikit-learn Wrapper
Gating
Functions
ridge
regression
probability
voting
label voting
precision
weighted
Feature Selection
DebugInstance Selection
Type Conversion
Amplitudes
Train-Test
Splitter
baseline
TimeSeriesFeatureVector
Stream
Here new algorithms/libraries can be integrated/interfaced!
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
Concepts and Features
Package Structure
environments (parallelization backends, node/operation chains,
application interface, configuration)
missions (nodes, operations, support)
resources (data types, dataset definitions)
run (launch, launch live, GUIs, scripts)
tests
tools (useful stuff for file handling, logging, debugging, . . . )
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 18 / 30
Concepts and Features
Documentation
http://pyspace.github.io/pyspace/
internally generated on a daily bases
based on sphinx (and restructured text)
some modifications to improve API documentation layout and
automatic generation
post processing to automatically display additional information
(node names, input types, examples, list(s) of available
algorithms (nodes))
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 19 / 30
Concepts and Features
Testing
core functionalities are changed very seldom with multiple checks
unit tests for internal development are run and checked via a
cronjob and email on a daily bases
regular user feedback
generic unit tests added for (all) algorithms (nodes):
documentation?
Exemplary call existing?
Exemplary call valid?
Is the respective algorithm running on example data?
Simple interface to modify test and define results to define specific
unit tests
scripts exist for running both type of tests
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 20 / 30
Applications
Using Optimized Processing Chains in the Application
launch live
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 21 / 30
Applications
Using Optimized Processing Chains in the Application
launch live
YAML configuration file defines complete data handling
multiple processing flows can be executed in parallel
used for: detection of warning perception, interface error potentials,
movement preparation, SSVEP, . . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 22 / 30
Applications
reSPACE for Processing with FPGA on Mobile Device
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 23 / 30
Applications
reSPACE for Processing with FPGA on Mobile Device
!"#$
%#$
&'%"("
)*+',-'./, 012'324
56'7/.6
85-'324
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 24 / 30
Applications
Large Scale Evaluation: Sensor Selection
10 20 30 40 50 60
Number of EEG Electrodes
0.76
0.77
0.78
0.79
0.80
0.81
0.82
0.83
0.84
Balancedaccuracy
All
SSNRV S
SSNRAS
1SVM
2SVM
Performance
PCA
xDAWN
CSP
Standard caps
2 4 6 8 10
0.65
0.70
0.75
0.80
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 25 / 30
Applications
Data Processing Visualization
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 26 / 30
Conclusion
Conclusion
pySPACE automatizes the signal processing and classification
workflow.
automatic parallel execution of other evaluations (WEKA, robot
simulation)
intuitive configuration without scripting (YAML based)
⇒ useable by non-programmers
possibility to integrate other algorithms/libraries
future steps
more algorithms and interfaces to other libraries
other data types (e.g., pictures, videos, multimodal data)
further applications (e.g., clustering, regression)
installation suite
. . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
Conclusion
Conclusion
pySPACE automatizes the signal processing and classification
workflow.
automatic parallel execution of other evaluations (WEKA, robot
simulation)
intuitive configuration without scripting (YAML based)
⇒ useable by non-programmers
possibility to integrate other algorithms/libraries
future steps
more algorithms and interfaces to other libraries
other data types (e.g., pictures, videos, multimodal data)
further applications (e.g., clustering, regression)
installation suite
. . .
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
Conclusion
Thank you for your attention! Do you have questions?
CPU
1
Column Chart
TableLine Chart
processed Data
CPU
2
CPU
3
A
1 2 3 4a
2 1 3 4b
1 2 4a
spec
{1,2,3,4a}
{2,1,3,4b}
{1,2,4a}
B
Figure: Node chain processing scheme from [12]
Credits: German Research Center for Artificial Intelligence, DFKI
Bremen, Robotics Innovation Center and Robotics Research Group,
University of Bremen
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 28 / 30
Bibliography
[1] David Feess, Mario Michael Krell, and Jan Hendrik Metzen. Comparison of Sensor Selection Mechanisms for an
ERP-Based Brain-Computer Interface. PLoS ONE, 8(7):e67543, 2013.
[2] Foad Ghaderi. Joint spatial and spectral filter estimation for single trial detection of event related potentials. In IEEE
International Workshop on Machine Learning for Signal Processing, (MLSP), 9 2013.
[3] Foad Ghaderi, Su Kyoung Kim, and Elsa Andrea Kirchner. Effects of eye artifact removal methods on single trial P300
detection, a comparative study. Journal of Neuroscience Methods, 221(0):41–47, 2014.
[4] Foad Ghaderi and Elsa Andrea Kirchner. Periodic Spatial Filter for Single Trial Classification of Event Related Brain
Activity. In Proceedings of the 10th IASTED International Conference on Biomedical Engineering (BioMed-2013),
February 13-15, Innsbruck, Austria. ACTA Press, 2013.
[5] Foad Ghaderi and Sirko Straube. An adaptive and efficient spatial filter for event-related potentials. In Proceedings of
European Signal Processing Conference, (EUSIPCO), 9 2013.
[6] Yohannes Kassahun, Hendrik W¨ohrle, Alexander Fabisch, and Marc Tabie. Learning parameters of linear models in
compressed parameter space. In Alessandro E. Villa, Wlodzislaw Duch, P´eter ´Erdi, Francesco Masulli, and G¨unther
Palm, editors, Artificial Neural Networks and Machine Learning ICANN 2012, volume 7553 of Lecture Notes in
Computer Science, pages 108–115. Springer, Lausanne, Switzerland, 2012.
[7] Su Kyoung Kim and Elsa Andrea Kirchner. Classifier transferability in the detection of error related potentials from
observation to interaction. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics,
SMC-2013, Manchester, UK, October 13-16, 2013.
[8] Elsa Andrea Kirchner, Su Kyoung Kim, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Mario Michael Krell, Marc
Tabie, and Manfred Fahle. On the Applicability of Brain Reading for Predictive Human-Machine Interfaces in Robotics.
PLoS ONE, 8:e81732, 2013.
[9] Elsa Andrea Kirchner and Marc Tabie. Closing the gap: Combined EEG and EMG analysis for early movement
prediction in exoskeleton based rehabilitation. In Proceedings of the 4th European Conference on Technically Assisted
Rehabilitation - TAR 2013, Berlin, Germany, 2013.
[10] Elsa Andrea Kirchner, Hendrik W¨ohrle, Constantin Bergatt, Su Kyoung Kim, Jan Hendrik Metzen, David Feess, and
Frank Kirchner. Towards Operator Monitoring via Brain Reading – An EEG-based Approach for Space Applications. In
Proceedings of the 10th International Symposium on Artificial Intelligence, Robotics and Automation in Space, pages
448–455, Sapporo, 2010.
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 29 / 30
Bibliography
[11] Mario Michael Krell, David Feess, and Sirko Straube. Balanced Relative Margin Machine The missing piece between
FDA and SVM classification. Pattern Recognition Letters, 41:43–52, 2014.
[12] Mario Michael Krell, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Johannes Teiwes, Jan Hendrik Metzen, Elsa Andrea
Kirchner, and Frank Kirchner. pySPACE - A Signal Processing and Classification Environment in Python. Frontiers in
Neuroinformatics, 7(40), 2013.
[13] Jan Hendrik Metzen, Su Kyoung Kim, Timo Duchrow, Elsa Andrea Kirchner, and Frank Kirchner. On Transferring
Spatial Filters in a Brain Reading Scenario. In Proceedings of the 2011 IEEE Workshop on Statistical Signal Processing,
pages 797–800, Nice, France, 2011.
[14] Jan Hendrik Metzen, Su Kyoung Kim, and Elsa Andrea Kirchner. Minimizing Calibration Time for Brain Reading. In
Rudolf Mester and Michael Felsberg, editors, Pattern Recognition, volume 6835 of Lecture Notes in Computer Science,
pages 366–375. Springer Berlin Heidelberg, Frankfurt, Germany, 2011.
[15] Jan Hendrik Metzen and Elsa Andrea Kirchner. Rapid Adaptation of Brain Reading Interfaces based on Threshold
Adjustment. In Proceedings of the 2011 Conference of the German Classification Society, (GfKl-2011), page 138,
Frankfurt, Germany, 2011.
[16] Anett Seeland, Hendrik W¨ohrle, Sirko Straube, and Elsa Andrea Kirchner. Online movement prediction in a robotic
application scenario. In 6th International IEEE EMBS Conference on Neural Engineering (NER), pages 41–44, San
Diego, California, 2013.
[17] Hendrik W¨ohrle, Johannes Teiwes, Elsa Andrea Kirchner, and Frank Kirchner. A Framework for High Performance
Embedded Signal Processing and Classification of Psychophysiological Data. In APCBEE Procedia. International
Conference on Biomedical Engineering and Technology (ICBET-2013), 4th, May 19-20, Kopenhagen, Denmark.
Elsevier, 2013.
M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 30 / 30

Contenu connexe

Plus de PyData

Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...PyData
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...PyData
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottPyData
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroPyData
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...PyData
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPyData
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...PyData
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydPyData
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverPyData
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldPyData
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardPyData
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...PyData
 
Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...PyData
 
Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...PyData
 
Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...PyData
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...PyData
 
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannExtracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannPyData
 
GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...PyData
 

Plus de PyData (20)

Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
 
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
Mining dockless bikeshare and dockless scootershare trip data - Stefanie Brod...
 
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven LottAvoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
Avoiding Bad Database Surprises: Simulation and Scalability - Steven Lott
 
Words in Space - Rebecca Bilbro
Words in Space - Rebecca BilbroWords in Space - Rebecca Bilbro
Words in Space - Rebecca Bilbro
 
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...End-to-End Machine learning pipelines for Python driven organizations - Nick ...
End-to-End Machine learning pipelines for Python driven organizations - Nick ...
 
Pydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica PuertoPydata beautiful soup - Monica Puerto
Pydata beautiful soup - Monica Puerto
 
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
1D Convolutional Neural Networks for Time Series Modeling - Nathan Janos, Jef...
 
Extending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will AydExtending Pandas with Custom Types - Will Ayd
Extending Pandas with Custom Types - Will Ayd
 
Measuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen HooverMeasuring Model Fairness - Stephen Hoover
Measuring Model Fairness - Stephen Hoover
 
What's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper SeaboldWhat's the Science in Data Science? - Skipper Seabold
What's the Science in Data Science? - Skipper Seabold
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
 
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-WardSolving very simple substitution ciphers algorithmically - Stephen Enright-Ward
Solving very simple substitution ciphers algorithmically - Stephen Enright-Ward
 
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
The Face of Nanomaterials: Insightful Classification Using Deep Learning - An...
 
Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...Deprecating the state machine: building conversational AI with the Rasa stack...
Deprecating the state machine: building conversational AI with the Rasa stack...
 
Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...Towards automating machine learning: benchmarking tools for hyperparameter tu...
Towards automating machine learning: benchmarking tools for hyperparameter tu...
 
Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...Using GANs to improve generalization in a semi-supervised setting - trying it...
Using GANs to improve generalization in a semi-supervised setting - trying it...
 
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
LightFields.jl: Fast 3D image reconstruction for VR applications - Hector And...
 
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn TrautmannExtracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
Extracting relevant Metrics with Spectral Clustering - Evelyn Trautmann
 
GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...GDPR in practise - Developing models with transparency and privacy in mind - ...
GDPR in practise - Developing models with transparency and privacy in mind - ...
 

Dernier

BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...amitlee9823
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 

Dernier (20)

CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 

Introduction to the Signal Processing and Classification Environment pySPACE by Mario Michael Krell PyData Berlin 2014

  • 1. pySPACE (https://github.com/pyspace) Introduction to a Signal Processing and Classification Environment (pySPACE) M M Krell, A Seeland, J H Metzen DFKI Bremen & University of Bremen Robotics Innovation Center Director: Prof. Dr. Frank Kirchner www.dfki.de/robotics robotics@dfki.de M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 1 / 30
  • 2. Table of Contents 1 Introduction 3 2 How to install and use 7 3 Concepts and Features 15 4 Applications 21 5 Conclusion 27 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 2 / 30
  • 3. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 4. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 5. Introduction Computation of Multiple Workflows and Datasets . . . with applications, e.g., in robotics and brain-computer interfaces . . . with simple configuration and automatic processing of empirical evaluations (benchmarking) . . . on feature vector and time series datasets . . . where configuration requires no programming (YAML used) ⇒ useable by non-programmers . . . with execution in a distributed manner (embarrassingly parallel) . . . intuitive structure and documentation . . . choosing from more than 100 signal processing and classification algorithms (additionally interfaces to other libraries) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 3 / 30
  • 6. Introduction Short Facts medium sized framework (> 40000 lines of code) developed and tested on Mac OS X and Linux development started 6 years ago (open source since August 2013) core developer team of 3 − 5 people and approx. 10 in total open source software (GPL, available at https://github.com/pyspace) documentation: http://pyspace.github.io/pyspace/ M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
  • 7. Introduction Short Facts medium sized framework (> 40000 lines of code) developed and tested on Mac OS X and Linux development started 6 years ago (open source since August 2013) core developer team of 3 − 5 people and approx. 10 in total open source software (GPL, available at https://github.com/pyspace) documentation: http://pyspace.github.io/pyspace/ M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 4 / 30
  • 8. Introduction Selected Applications: The VI-Bot Project M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 5 / 30
  • 9. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 10. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 11. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 12. Introduction Selected Applications evaluation and comparison of . . . sensor/channel selection algorithms (on EEG data) [1] . . . dimensionality reduction algorithms (ICA, PCA, xDAWN, PiSF, CSP) [2, 4, 5, 13] . . . classifiers [6, 11, 14, 15] Brain-Computer Interfaces (movement prediction, interaction error detection, detection of warning perception) [3, 7, 8, 9, 10, 16, 17] robotic applications (soil detection, parallelization of robot simulations, localization algorithms, and sensor regression) more details at the end, if there is time left M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 6 / 30
  • 13. How to install and use How to install and use pySPACE 1 installation (simple, see tutorial) 2 prepare your data for pySPACE 3 decide and define the processing file 4 potentially modify your config file 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 7 / 30
  • 14. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 15. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy optional dependencies: matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 16. How to install and use Installation required dependencies: Python 2.7/Python 2.6 YAML NumPy SciPy optional dependencies: matplotlib (visualizations) scikit-learn (classifiers, transformations) PyQt4 (GUIs) WEKA, MMLF LIBSVM, LIBLINEAR, MDP, cvxopt, . . . (algorithm interfaces) download (git clone https://github.com/pyspace/pyspace.git) python setup.py ⇒ configuration folder in home directory M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 8 / 30
  • 17. How to install and use prepare your data: Input Formats feature vector: csv, arff time series segments: csv time series stream: csv, EDF2 .set (EEGLAB), .eeg (BrainProducts GmbH) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 9 / 30
  • 18. How to install and use 1 installation 2 prepare your data dataset description of banana dataset (metadata.yaml) storage_format: [csvUnnamed, real] type: FEATURE_VECTOR file_name: banana_data.csv label_column: 1 ... 3 decide and define the processing file 4 potentially modify your config file 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 10 / 30
  • 19. How to install and use 1 installation 2 prepare your data 3 decide and define the processing file (examples/bench.yaml) type: node_chain input_path: "example_summary" runs : 3 node_chain: - node: FeatureVectorSourceNode - node: TrainTestSplitter parameters : train_ratio: 0.4 - node: __Normalization__ - node : 2SVM parameters : complexity : __C__ - node: PerformanceSinkNode parameter_ranges : __C__ : [0.01,0.1,1] __Normalization__ : [GaussianFeatureNormalization, EuclideanFeatureNormalization] 4 potentially modify your config file 5 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 11 / 30
  • 20. How to install and use 1 installation 2 prepare your data for pySPACE 3 decide and define the processing file (bench.yaml) 4 potentially modify your config file (config.yaml) storage: ~/pySPACEcenter/storage spec_dir: ~/pySPACEcenter/specs console_log_level : logging.WARNING file_log_level : logging.INFO python_path: - /home/user/pySPACE/external/libsvm/python/ ... 5 start software M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 12 / 30
  • 21. How to install and use 1 installation 2 prepare your data for pySPACE 3 decide and define the processing file (bench.yaml) 4 potentially modify your config file (config.yaml) 5 start software go to pySPACEcenter on the command line and type: ./launch.py -o examples/bench.yaml --mcore M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 13 / 30
  • 22. How to install and use Parallelization parallel execution modes: single-core: − − serial multi-core (multiprocessing): − − mcore cluster (shared file system, LoadLeveler): − − loadl cluster (shared file system, no scheduling): − − mpi possibility to add new modes (backends): e.g., − − cloud, − − gearman? creation of jobs and execution specific subtasks (e.g., parameter optimization evaluations) different processing chains in the application M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
  • 23. How to install and use Parallelization parallel execution modes: single-core: − − serial multi-core (multiprocessing): − − mcore cluster (shared file system, LoadLeveler): − − loadl cluster (shared file system, no scheduling): − − mpi possibility to add new modes (backends): e.g., − − cloud, − − gearman? further parallelization: creation of jobs and execution specific subtasks (e.g., parameter optimization evaluations) different processing chains in the application M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 14 / 30
  • 24. Concepts and Features General Structure Concept [12] operation 1 operation 2 operation 3 operation .. node 1 node 2 node 3 node .. operation chain operation node chain node node chain merge WEKA .. FIR Filter sub- sampling SVM .. offline offline offline + online summary summary dataset data sample M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 15 / 30
  • 25. Concepts and Features General Node Chain Processing CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
  • 26. Concepts and Features General Node Chain Processing CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B Modularity concept of node chain based on Modular toolkit for Data Processing (MDP)! M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 16 / 30
  • 27. Concepts and Features More than 100 own implemented algorithms [12]Source Sink Preprocessing Spatial Filter Classification Feature Generator Meta Splitter Visualization Others Postprocessing LDA QDA LIBSVM LIBLINEAR SOR SVM Naive Bayes Random FFT IIR FIR CSP ICAPCA xDAWN Coherence Correlations Moments STFT DWT Linear Fit Pattern Search Grid Search Window Function detrend z-score Resample Decimation Cross- validation FDA Sensor Selection Avg. EEG Raw Data TKEO optimalsigmoid linear Scatter HistogramSpectrum Stream TimeSeries FeatureVector Performance Score Mapping gaussian histogram Normalizations Filters Feature Normalization Sub-Chain Fusion Classifier Ensemble Scikit-learn Wrapper Gating Functions ridge regression probability voting label voting precision weighted Feature Selection DebugInstance Selection Type Conversion Amplitudes Train-Test Splitter baseline TimeSeriesFeatureVector Stream M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
  • 28. Concepts and Features More than 100 own implemented algorithms [12]Source Sink Preprocessing Spatial Filter Classification Feature Generator Meta Splitter Visualization Others Postprocessing LDA QDA LIBSVM LIBLINEAR SOR SVM Naive Bayes Random FFT IIR FIR CSP ICAPCA xDAWN Coherence Correlations Moments STFT DWT Linear Fit Pattern Search Grid Search Window Function detrend z-score Resample Decimation Cross- validation FDA Sensor Selection Avg. EEG Raw Data TKEO optimalsigmoid linear Scatter HistogramSpectrum Stream TimeSeries FeatureVector Performance Score Mapping gaussian histogram Normalizations Filters Feature Normalization Sub-Chain Fusion Classifier Ensemble Scikit-learn Wrapper Gating Functions ridge regression probability voting label voting precision weighted Feature Selection DebugInstance Selection Type Conversion Amplitudes Train-Test Splitter baseline TimeSeriesFeatureVector Stream Here new algorithms/libraries can be integrated/interfaced! M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 17 / 30
  • 29. Concepts and Features Package Structure environments (parallelization backends, node/operation chains, application interface, configuration) missions (nodes, operations, support) resources (data types, dataset definitions) run (launch, launch live, GUIs, scripts) tests tools (useful stuff for file handling, logging, debugging, . . . ) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 18 / 30
  • 30. Concepts and Features Documentation http://pyspace.github.io/pyspace/ internally generated on a daily bases based on sphinx (and restructured text) some modifications to improve API documentation layout and automatic generation post processing to automatically display additional information (node names, input types, examples, list(s) of available algorithms (nodes)) M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 19 / 30
  • 31. Concepts and Features Testing core functionalities are changed very seldom with multiple checks unit tests for internal development are run and checked via a cronjob and email on a daily bases regular user feedback generic unit tests added for (all) algorithms (nodes): documentation? Exemplary call existing? Exemplary call valid? Is the respective algorithm running on example data? Simple interface to modify test and define results to define specific unit tests scripts exist for running both type of tests M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 20 / 30
  • 32. Applications Using Optimized Processing Chains in the Application launch live M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 21 / 30
  • 33. Applications Using Optimized Processing Chains in the Application launch live YAML configuration file defines complete data handling multiple processing flows can be executed in parallel used for: detection of warning perception, interface error potentials, movement preparation, SSVEP, . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 22 / 30
  • 34. Applications reSPACE for Processing with FPGA on Mobile Device M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 23 / 30
  • 35. Applications reSPACE for Processing with FPGA on Mobile Device !"#$ %#$ &'%"(" )*+',-'./, 012'324 56'7/.6 85-'324 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 24 / 30
  • 36. Applications Large Scale Evaluation: Sensor Selection 10 20 30 40 50 60 Number of EEG Electrodes 0.76 0.77 0.78 0.79 0.80 0.81 0.82 0.83 0.84 Balancedaccuracy All SSNRV S SSNRAS 1SVM 2SVM Performance PCA xDAWN CSP Standard caps 2 4 6 8 10 0.65 0.70 0.75 0.80 M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 25 / 30
  • 37. Applications Data Processing Visualization M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 26 / 30
  • 38. Conclusion Conclusion pySPACE automatizes the signal processing and classification workflow. automatic parallel execution of other evaluations (WEKA, robot simulation) intuitive configuration without scripting (YAML based) ⇒ useable by non-programmers possibility to integrate other algorithms/libraries future steps more algorithms and interfaces to other libraries other data types (e.g., pictures, videos, multimodal data) further applications (e.g., clustering, regression) installation suite . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
  • 39. Conclusion Conclusion pySPACE automatizes the signal processing and classification workflow. automatic parallel execution of other evaluations (WEKA, robot simulation) intuitive configuration without scripting (YAML based) ⇒ useable by non-programmers possibility to integrate other algorithms/libraries future steps more algorithms and interfaces to other libraries other data types (e.g., pictures, videos, multimodal data) further applications (e.g., clustering, regression) installation suite . . . M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 27 / 30
  • 40. Conclusion Thank you for your attention! Do you have questions? CPU 1 Column Chart TableLine Chart processed Data CPU 2 CPU 3 A 1 2 3 4a 2 1 3 4b 1 2 4a spec {1,2,3,4a} {2,1,3,4b} {1,2,4a} B Figure: Node chain processing scheme from [12] Credits: German Research Center for Artificial Intelligence, DFKI Bremen, Robotics Innovation Center and Robotics Research Group, University of Bremen M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 28 / 30
  • 41. Bibliography [1] David Feess, Mario Michael Krell, and Jan Hendrik Metzen. Comparison of Sensor Selection Mechanisms for an ERP-Based Brain-Computer Interface. PLoS ONE, 8(7):e67543, 2013. [2] Foad Ghaderi. Joint spatial and spectral filter estimation for single trial detection of event related potentials. In IEEE International Workshop on Machine Learning for Signal Processing, (MLSP), 9 2013. [3] Foad Ghaderi, Su Kyoung Kim, and Elsa Andrea Kirchner. Effects of eye artifact removal methods on single trial P300 detection, a comparative study. Journal of Neuroscience Methods, 221(0):41–47, 2014. [4] Foad Ghaderi and Elsa Andrea Kirchner. Periodic Spatial Filter for Single Trial Classification of Event Related Brain Activity. In Proceedings of the 10th IASTED International Conference on Biomedical Engineering (BioMed-2013), February 13-15, Innsbruck, Austria. ACTA Press, 2013. [5] Foad Ghaderi and Sirko Straube. An adaptive and efficient spatial filter for event-related potentials. In Proceedings of European Signal Processing Conference, (EUSIPCO), 9 2013. [6] Yohannes Kassahun, Hendrik W¨ohrle, Alexander Fabisch, and Marc Tabie. Learning parameters of linear models in compressed parameter space. In Alessandro E. Villa, Wlodzislaw Duch, P´eter ´Erdi, Francesco Masulli, and G¨unther Palm, editors, Artificial Neural Networks and Machine Learning ICANN 2012, volume 7553 of Lecture Notes in Computer Science, pages 108–115. Springer, Lausanne, Switzerland, 2012. [7] Su Kyoung Kim and Elsa Andrea Kirchner. Classifier transferability in the detection of error related potentials from observation to interaction. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, SMC-2013, Manchester, UK, October 13-16, 2013. [8] Elsa Andrea Kirchner, Su Kyoung Kim, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Mario Michael Krell, Marc Tabie, and Manfred Fahle. On the Applicability of Brain Reading for Predictive Human-Machine Interfaces in Robotics. PLoS ONE, 8:e81732, 2013. [9] Elsa Andrea Kirchner and Marc Tabie. Closing the gap: Combined EEG and EMG analysis for early movement prediction in exoskeleton based rehabilitation. In Proceedings of the 4th European Conference on Technically Assisted Rehabilitation - TAR 2013, Berlin, Germany, 2013. [10] Elsa Andrea Kirchner, Hendrik W¨ohrle, Constantin Bergatt, Su Kyoung Kim, Jan Hendrik Metzen, David Feess, and Frank Kirchner. Towards Operator Monitoring via Brain Reading – An EEG-based Approach for Space Applications. In Proceedings of the 10th International Symposium on Artificial Intelligence, Robotics and Automation in Space, pages 448–455, Sapporo, 2010. M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 29 / 30
  • 42. Bibliography [11] Mario Michael Krell, David Feess, and Sirko Straube. Balanced Relative Margin Machine The missing piece between FDA and SVM classification. Pattern Recognition Letters, 41:43–52, 2014. [12] Mario Michael Krell, Sirko Straube, Anett Seeland, Hendrik W¨ohrle, Johannes Teiwes, Jan Hendrik Metzen, Elsa Andrea Kirchner, and Frank Kirchner. pySPACE - A Signal Processing and Classification Environment in Python. Frontiers in Neuroinformatics, 7(40), 2013. [13] Jan Hendrik Metzen, Su Kyoung Kim, Timo Duchrow, Elsa Andrea Kirchner, and Frank Kirchner. On Transferring Spatial Filters in a Brain Reading Scenario. In Proceedings of the 2011 IEEE Workshop on Statistical Signal Processing, pages 797–800, Nice, France, 2011. [14] Jan Hendrik Metzen, Su Kyoung Kim, and Elsa Andrea Kirchner. Minimizing Calibration Time for Brain Reading. In Rudolf Mester and Michael Felsberg, editors, Pattern Recognition, volume 6835 of Lecture Notes in Computer Science, pages 366–375. Springer Berlin Heidelberg, Frankfurt, Germany, 2011. [15] Jan Hendrik Metzen and Elsa Andrea Kirchner. Rapid Adaptation of Brain Reading Interfaces based on Threshold Adjustment. In Proceedings of the 2011 Conference of the German Classification Society, (GfKl-2011), page 138, Frankfurt, Germany, 2011. [16] Anett Seeland, Hendrik W¨ohrle, Sirko Straube, and Elsa Andrea Kirchner. Online movement prediction in a robotic application scenario. In 6th International IEEE EMBS Conference on Neural Engineering (NER), pages 41–44, San Diego, California, 2013. [17] Hendrik W¨ohrle, Johannes Teiwes, Elsa Andrea Kirchner, and Frank Kirchner. A Framework for High Performance Embedded Signal Processing and Classification of Psychophysiological Data. In APCBEE Procedia. International Conference on Biomedical Engineering and Technology (ICBET-2013), 4th, May 19-20, Kopenhagen, Denmark. Elsevier, 2013. M M Krell pySPACE (https://github.com/pyspace) July 27, 2014 30 / 30