Turi Create
4.0
|
#include <toolkits/feature_engineering/transformer_base.hpp>
Public Member Functions | |
virtual size_t | get_version () const =0 |
virtual void | save_impl (oarchive &oarc) const =0 |
virtual void | load_version (iarchive &iarc, size_t version)=0 |
virtual void | init_options (const std::map< std::string, flexible_type > &_options)=0 |
virtual void | init_transformer (const std::map< std::string, flexible_type > &_options)=0 |
virtual void | fit (gl_sframe data)=0 |
virtual gl_sframe | transform (gl_sframe data)=0 |
gl_sframe | fit_transform (gl_sframe data) |
std::vector< std::string > | list_fields () |
const variant_type & | get_value_from_state (std::string key) |
const std::map< std::string, flexible_type > & | get_current_options () const |
std::map< std::string, flexible_type > | get_default_options () const |
const flexible_type & | get_option_value (const std::string &name) const |
const std::map< std::string, variant_type > & | get_state () const |
bool | is_trained () const |
void | set_options (const std::map< std::string, flexible_type > &_options) |
void | add_or_update_state (const std::map< std::string, variant_type > &dict) |
const std::vector< option_handling::option_info > & | get_option_info () const |
virtual const char * | name ()=0 |
virtual const std::string & | uid ()=0 |
void | save_to_url (const std::string &url, const variant_map_type &side_data={}) |
void | save_model_to_data (std::ostream &out) |
const std::map< std::string, std::vector< std::string > > & | list_functions () |
const std::vector< std::string > & | list_get_properties () |
const std::vector< std::string > & | list_set_properties () |
variant_type | call_function (const std::string &function, variant_map_type argument) |
variant_type | get_property (const std::string &property) |
variant_type | set_property (const std::string &property, variant_map_type argument) |
const std::string & | get_docstring (const std::string &symbol) |
virtual void | perform_registration () |
Protected Member Functions | |
void | register_function (std::string fnname, const std::vector< std::string > &arguments, impl_fn fn) |
void | register_defaults (const std::string &fnname, const variant_map_type &arguments) |
void | register_setter (const std::string &propname, impl_fn setfn) |
void | register_getter (const std::string &propname, impl_fn getfn) |
void | register_docstring (const std::pair< std::string, std::string > &fnname_docstring) |
Protected Attributes | |
std::map< std::string, variant_type > | state |
Base class for handling feature engineering transformers. This class is meant to be a guide to aid model writing for feature engineering modules.
Each C++ toolkit contains the following:
*) state: This is the key-value map that stores the "model" attributes. The value is of type "variant_type" which is fully interfaced with python. You can add basic types, vectors, SFrames etc.
*) options: Option manager which keeps track of default options, current options, option ranges, type etc. This must be initialized only once in the set_options() function.
Functions that should always be implemented. Here are some notes about each of these functions that may help guide you in writing your model.
*) init_transformer : Initializer the transformer i.e this is the same as init from the python side.
*) fit : Fit the transformer with the data (SFrame)
*) transform : Transform the data (SFrame) to another SFrame after the model has been fit.
*) init_options : Initialize the options manager.
*) save: Save the model with the turicreate iarc. Turi is a server-client module. DO NOT SAVE ANYTHING in the client side. Make sure that everything is in the server side. For example: You might be tempted do keep options that the user provides into the server side but DO NOT do that because save and load will break things for you!
*) load: Load the model with the turicreate oarc.
*) version: A get version for this model
Definition at line 59 of file transformer_base.hpp.
|
inherited |
Append the key value store of the model.
[in] | dict | Options (Key-Value pairs) to set |
|
inherited |
Calls a user defined function.
|
pure virtual |
Fit the transformer and make it ready for transformations.
[in] | data | (SFrame of data) |
This function directly interfaces with "fit" in python.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
inline |
Fit and transform the given data. Intended as an optimization because fit and transform are usually always called together. The default implementaiton calls fit and then transform.
[in] | data | (SFrame of data) |
This function directly interfaces with "fit_transform" in python.
Definition at line 144 of file transformer_base.hpp.
|
inherited |
Get current options.
Interfaces with the get_current_options function in the Python side.
|
inherited |
Get default options.
Interfaces with the get_default_options function in the Python side.
|
inherited |
Returns the toolkit documentation for a function or property.
|
inherited |
Returns the option information struct for each of the set parameters.
|
inherited |
Returns the value of an option. Throws an error if the option does not exist.
[in] | name | Name of the option to get. |
|
inherited |
Reads a property.
|
inherited |
Get model.
|
inherited |
Returns the value of a particular key from the state.
From the python side, this is interfaced with the get() function or the [] operator in python.
|
pure virtual |
Returns the current model version
Reimplemented from turi::model_base.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
pure virtual |
Set one of the options in the algorithm. Use the option manager to set these options. If the option does not satisfy the conditions that the option manager has imposed on it. Errors will be thrown.
[in] | options | Options to set |
Reimplemented from turi::ml_model_base.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::count_featurizer, and turi::sdk_model::feature_engineering::sample_transformer.
|
pure virtual |
Init the transformer and return an instantiated object.
[in] | options | (**kwargs from python) |
This function directly interfaces with "__init__" in python.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
inherited |
Is this model trained.
|
inherited |
Lists all the keys accessible in the "model" map.
This is the function that the list_fields should call in python.
|
inherited |
Lists all the registered functions. Returns a map of function name to array of argument names for the function.
|
inherited |
Lists all the get-table properties of the class.
|
inherited |
Lists all the set-table properties of the class.
|
pure virtual |
Loads a model previously saved at a particular version number. Should raise an exception on failure.
Reimplemented from turi::model_base.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
pure virtualinherited |
Returns the name of the toolkit class, as exposed to client code. For example, the Python proxy for this instance will have a type with this name.
Note: this function is typically overridden using the BEGIN_CLASS_MEMBER_REGISTRATION macro.
|
virtualinherited |
Declare the base registration function. This class has to be handled specially; the macros don't work here due to the override declarations.
Reimplemented in turi::model_proxy.
|
protectedinherited |
Registers default argument values
|
protectedinherited |
Adds a docstring for the specified function or property name.
|
protectedinherited |
Adds a function with the specified name, and argument list.
|
protectedinherited |
Adds a property getter with the specified name.
|
protectedinherited |
Adds a property setter with the specified name.
|
pure virtual |
Serializes the model. Must save the model to the file format version matching that of get_version()
Reimplemented from turi::model_base.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
inherited |
Save a toolkit class to a data stream.
|
inherited |
Save a toolkit class to disk.
url | The destination url to store the class. |
sidedata | Any additional side information |
|
inherited |
Set one of the options in the algorithm.
The value are checked with the requirements given by the option instance.
[in] | name | Name of the option. |
[in] | value | Value for the option. |
|
inherited |
Sets a property. The new value of the property should appear in the argument map under the key "value".
|
pure virtual |
Transform the given data.
[in] | data | (SFrame of data) |
This function directly interfaces with "transform" in python.
Implemented in turi::sdk_model::feature_engineering::random_projection, turi::sdk_model::feature_engineering::feature_binner, turi::sdk_model::feature_engineering::sample_transformer, and turi::sdk_model::feature_engineering::count_featurizer.
|
pure virtualinherited |
Returns a unique identifier for the toolkit class. It can be any unique ID. The UID is only used at runtime (to determine the concrete type of an arbitrary model_base instance) and is never stored.
Note: this function is typically overridden using the BEGIN_CLASS_MEMBER_REGISTRATION macro.
Implemented in turi::model_proxy.
|
protectedinherited |
All things python
Definition at line 206 of file ml_model.hpp.