Belle II Software development
PythonOptions Class Reference

Options for the Python MVA method. More...

#include <Python.h>

Inheritance diagram for PythonOptions:
SpecificOptions Options

Public Member Functions

virtual void load (const boost::property_tree::ptree &pt) override
 Load mechanism to load Options from a xml tree.
 
virtual void save (boost::property_tree::ptree &pt) const override
 Save mechanism to store Options in a xml tree.
 
virtual po::options_description getDescription () override
 Returns a program options description for all available options.
 
virtual std::string getMethod () const override
 Return method name.
 

Public Attributes

std::string m_framework = "sklearn"
 framework to use e.g.
 
std::string m_steering_file = ""
 steering file provided by the user to override the functions in the framework
 
std::string m_config = "null"
 Config string in json, which is passed to the get model function.
 
unsigned int m_mini_batch_size = 0
 Mini batch size, 0 passes the whole data in one call.
 
unsigned int m_nIterations = 1
 Number of iterations through the whole data.
 
double m_training_fraction = 1.0
 Fraction of data passed as training data, rest is passed as test data.
 
bool m_normalize = false
 Normalize the inputs (shift mean to zero and std to 1)
 

Detailed Description

Options for the Python MVA method.

Definition at line 52 of file Python.h.

Member Function Documentation

◆ getDescription()

po::options_description getDescription ( )
overridevirtual

Returns a program options description for all available options.

Implements Options.

Definition at line 62 of file Python.cc.

63 {
64 po::options_description description("Python options");
65 description.add_options()
66 ("framework", po::value<std::string>(&m_framework),
67 "Framework which should be used. Currently supported are sklearn, xgboost, tensorflow, keras, torch, and theano")
68 ("steering_file", po::value<std::string>(&m_steering_file), "Steering file which describes the model")
69 ("mini_batch_size", po::value<unsigned int>(&m_mini_batch_size), "Size of the mini batch given to partial_fit function")
70 ("nIterations", po::value<unsigned int>(&m_nIterations), "Number of iterations")
71 ("normalize", po::value<bool>(&m_normalize), "Normalize input data (shift mean to 0 and std to 1)")
72 ("training_fraction", po::value<double>(&m_training_fraction),
73 "Training fraction used to split up dataset in training and validation sample.")
74 ("config", po::value<std::string>(&m_config), "Json encoded python object passed to begin_fit function");
75 return description;
76 }
unsigned int m_nIterations
Number of iterations through the whole data.
Definition: Python.h:81
std::string m_steering_file
steering file provided by the user to override the functions in the framework
Definition: Python.h:78
std::string m_framework
framework to use e.g.
Definition: Python.h:77
std::string m_config
Config string in json, which is passed to the get model function.
Definition: Python.h:79
bool m_normalize
Normalize the inputs (shift mean to zero and std to 1)
Definition: Python.h:83
double m_training_fraction
Fraction of data passed as training data, rest is passed as test data.
Definition: Python.h:82
unsigned int m_mini_batch_size
Mini batch size, 0 passes the whole data in one call.
Definition: Python.h:80

◆ getMethod()

virtual std::string getMethod ( ) const
inlineoverridevirtual

Return method name.

Implements SpecificOptions.

Definition at line 75 of file Python.h.

75{ return "Python"; }

◆ load()

void load ( const boost::property_tree::ptree &  pt)
overridevirtual

Load mechanism to load Options from a xml tree.

Parameters
ptxml tree

Implements Options.

Definition at line 29 of file Python.cc.

30 {
31 int version = pt.get<int>("Python_version");
32 if (version < 1 or version > 2) {
33 B2ERROR("Unknown weightfile version " << std::to_string(version));
34 throw std::runtime_error("Unknown weightfile version " + std::to_string(version));
35 }
36 m_framework = pt.get<std::string>("Python_framework");
37 m_steering_file = pt.get<std::string>("Python_steering_file");
38 m_mini_batch_size = pt.get<unsigned int>("Python_mini_batch_size");
39 m_nIterations = pt.get<unsigned int>("Python_n_iterations");
40 m_config = pt.get<std::string>("Python_config");
41 m_training_fraction = pt.get<double>("Python_training_fraction");
42 if (version == 2) {
43 m_normalize = pt.get<bool>("Python_normalize");
44 } else {
45 m_normalize = false;
46 }
47
48 }

◆ save()

void save ( boost::property_tree::ptree &  pt) const
overridevirtual

Save mechanism to store Options in a xml tree.

Parameters
ptxml tree

Implements Options.

Definition at line 50 of file Python.cc.

51 {
52 pt.put("Python_version", 2);
53 pt.put("Python_framework", m_framework);
54 pt.put("Python_steering_file", m_steering_file);
55 pt.put("Python_mini_batch_size", m_mini_batch_size);
56 pt.put("Python_n_iterations", m_nIterations);
57 pt.put("Python_config", m_config);
58 pt.put("Python_training_fraction", m_training_fraction);
59 pt.put("Python_normalize", m_normalize);
60 }

Member Data Documentation

◆ m_config

std::string m_config = "null"

Config string in json, which is passed to the get model function.

Definition at line 79 of file Python.h.

◆ m_framework

std::string m_framework = "sklearn"

framework to use e.g.

sklearn, xgboost, theano, tensorflow, ...

Definition at line 77 of file Python.h.

◆ m_mini_batch_size

unsigned int m_mini_batch_size = 0

Mini batch size, 0 passes the whole data in one call.

Definition at line 80 of file Python.h.

◆ m_nIterations

unsigned int m_nIterations = 1

Number of iterations through the whole data.

Definition at line 81 of file Python.h.

◆ m_normalize

bool m_normalize = false

Normalize the inputs (shift mean to zero and std to 1)

Definition at line 83 of file Python.h.

◆ m_steering_file

std::string m_steering_file = ""

steering file provided by the user to override the functions in the framework

Definition at line 78 of file Python.h.

◆ m_training_fraction

double m_training_fraction = 1.0

Fraction of data passed as training data, rest is passed as test data.

Definition at line 82 of file Python.h.


The documentation for this class was generated from the following files: