Class CFactorGraphDataGenerator Create factor graph data for multiple unit tests.
Definition at line 37 of file FactorGraphDataGenerator.h.
|
| CFactorGraphDataGenerator () |
|
virtual const char * | get_name () const |
|
CFactorGraph * | simple_chain_graph () |
|
int32_t | grid_to_index (int32_t x, int32_t y, int32_t w=10) |
|
void | truncate_energy (float64_t &A, float64_t &B, float64_t &C, float64_t &D) |
|
CFactorGraph * | random_chain_graph (SGVector< int > &assignment_expect, float64_t &min_energy_expect, int32_t N=2) |
|
CFactorGraph * | multi_state_tree_graph () |
|
void | generate_data (int32_t len_label, int32_t len_feat, int32_t size_data, SGMatrix< float64_t > &feats, SGMatrix< int32_t > &labels) |
|
SGMatrix< int32_t > | get_edges_full (const int32_t num_classes) |
|
void | build_factor_graph (SGMatrix< float64_t > feats, SGMatrix< int32_t > labels, SGMatrix< int32_t > edge_list, const DynArray< CTableFactorType * > &v_factor_type, CFactorGraphFeatures *fg_feats, CFactorGraphLabels *fg_labels) |
|
void | define_factor_types (int32_t num_classes, int32_t dim, int32_t num_edges, DynArray< CTableFactorType * > &v_factor_type) |
|
float64_t | test_sosvm (EMAPInferType infer_type) |
|
virtual CSGObject * | shallow_copy () const |
|
virtual CSGObject * | deep_copy () const |
|
virtual bool | is_generic (EPrimitiveType *generic) const |
|
template<class T > |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
template<> |
void | set_generic () |
|
void | unset_generic () |
|
virtual void | print_serializable (const char *prefix="") |
|
virtual bool | save_serializable (CSerializableFile *file, const char *prefix="") |
|
virtual bool | load_serializable (CSerializableFile *file, const char *prefix="") |
|
void | set_global_io (SGIO *io) |
|
SGIO * | get_global_io () |
|
void | set_global_parallel (Parallel *parallel) |
|
Parallel * | get_global_parallel () |
|
void | set_global_version (Version *version) |
|
Version * | get_global_version () |
|
SGStringList< char > | get_modelsel_names () |
|
void | print_modsel_params () |
|
char * | get_modsel_param_descr (const char *param_name) |
|
index_t | get_modsel_param_index (const char *param_name) |
|
void | build_gradient_parameter_dictionary (CMap< TParameter *, CSGObject * > *dict) |
|
virtual void | update_parameter_hash () |
|
virtual bool | parameter_hash_changed () |
|
virtual bool | equals (CSGObject *other, float64_t accuracy=0.0, bool tolerant=false) |
|
virtual CSGObject * | clone () |
|
Build factor graph
- Parameters
-
feats | features |
labels | labels |
edge_list | edge list |
v_factor_type | factor types |
fg_feats | features for factor graph |
fg_labels | labels for factor graph |
Definition at line 398 of file FactorGraphDataGenerator.cpp.
Builds a dictionary of all parameters in SGObject as well of those of SGObjects that are parameters of this object. Dictionary maps parameters to the objects that own them.
- Parameters
-
dict | dictionary of parameters to be built. |
Definition at line 597 of file SGObject.cpp.
Creates a clone of the current object. This is done via recursively traversing all parameters, which corresponds to a deep copy. Calling equals on the cloned object always returns true although none of the memory of both objects overlaps.
- Returns
- an identical copy of the given object, which is disjoint in memory. NULL if the clone fails. Note that the returned object is SG_REF'ed
Definition at line 714 of file SGObject.cpp.
A deep copy. All the instance variables will also be copied.
Definition at line 198 of file SGObject.cpp.
void define_factor_types |
( |
int32_t |
num_classes, |
|
|
int32_t |
dim, |
|
|
int32_t |
num_edges, |
|
|
DynArray< CTableFactorType * > & |
v_factor_type |
|
) |
| |
Define factor type
- Parameters
-
num_classes | number of classes |
dim | dimension of the feature |
num_edges | number of edegs |
v_factor_type | factor types |
Define factor type
- Parameters
-
num_class | number of class |
dim | dimension of the feature |
num_edges | number of edegs |
v_factor_type | factor types |
Definition at line 459 of file FactorGraphDataGenerator.cpp.
Recursively compares the current SGObject to another one. Compares all registered numerical parameters, recursion upon complex (SGObject) parameters. Does not compare pointers!
May be overwritten but please do with care! Should not be necessary in most cases.
- Parameters
-
other | object to compare with |
accuracy | accuracy to use for comparison (optional) |
tolerant | allows linient check on float equality (within accuracy) |
- Returns
- true if all parameters were equal, false if not
Definition at line 618 of file SGObject.cpp.
void generate_data |
( |
int32_t |
len_label, |
|
|
int32_t |
len_feat, |
|
|
int32_t |
size_data, |
|
|
SGMatrix< float64_t > & |
feats, |
|
|
SGMatrix< int32_t > & |
labels |
|
) |
| |
Generate random data following [1]: Each example has exactly one label on. Each label has 40 related binary features. For an example, if label i is on, 4i randomly chosen features are set to 1
[1] Finley, Thomas, and Thorsten Joachims. "Training structural SVMs when exact inference is intractable." Proceedings of the 25th international conference on Machine learning. ACM, 2008.
- Parameters
-
len_label | label length (10) |
len_feat | feature length (40) |
size_data | training data size (50) |
feats | generated feature matrix |
labels | generated label matrix |
Definition at line 339 of file FactorGraphDataGenerator.cpp.
SGMatrix< int32_t > get_edges_full |
( |
const int32_t |
num_classes | ) |
|
get the io object
- Returns
- io object
Definition at line 235 of file SGObject.cpp.
get the parallel object
- Returns
- parallel object
Definition at line 277 of file SGObject.cpp.
get the version object
- Returns
- version object
Definition at line 290 of file SGObject.cpp.
- Returns
- vector of names of all parameters which are registered for model selection
Definition at line 498 of file SGObject.cpp.
char * get_modsel_param_descr |
( |
const char * |
param_name | ) |
|
|
inherited |
Returns description of a given parameter string, if it exists. SG_ERROR otherwise
- Parameters
-
param_name | name of the parameter |
- Returns
- description of the parameter
Definition at line 522 of file SGObject.cpp.
index_t get_modsel_param_index |
( |
const char * |
param_name | ) |
|
|
inherited |
Returns index of model selection parameter with provided index
- Parameters
-
param_name | name of model selection parameter |
- Returns
- index of model selection parameter with provided name, -1 if there is no such
Definition at line 535 of file SGObject.cpp.
virtual const char* get_name |
( |
| ) |
const |
|
virtual |
int32_t grid_to_index |
( |
int32_t |
x, |
|
|
int32_t |
y, |
|
|
int32_t |
w = 10 |
|
) |
| |
Convert grid coordinate into 1-d index
- Parameters
-
x | grid coordinate x |
y | grid coordinate y |
w | grid width |
- Returns
- index in 1-d vector
Definition at line 87 of file FactorGraphDataGenerator.cpp.
bool is_generic |
( |
EPrimitiveType * |
generic | ) |
const |
|
virtualinherited |
If the SGSerializable is a class template then TRUE will be returned and GENERIC is set to the type of the generic.
- Parameters
-
generic | set to the type of the generic if returning TRUE |
- Returns
- TRUE if a class template.
Definition at line 296 of file SGObject.cpp.
Load this object from file. If it will fail (returning FALSE) then this object will contain inconsistent data and should not be used!
- Parameters
-
file | where to load from |
prefix | prefix for members |
- Returns
- TRUE if done, otherwise FALSE
Definition at line 369 of file SGObject.cpp.
|
protectedvirtualinherited |
|
protectedvirtualinherited |
bool parameter_hash_changed |
( |
| ) |
|
|
virtualinherited |
- Returns
- whether parameter combination has changed since last update
Definition at line 262 of file SGObject.cpp.
void print_modsel_params |
( |
| ) |
|
|
inherited |
prints all parameter registered for model selection and their type
Definition at line 474 of file SGObject.cpp.
void print_serializable |
( |
const char * |
prefix = "" | ) |
|
|
virtualinherited |
prints registered parameters out
- Parameters
-
Definition at line 308 of file SGObject.cpp.
Define a four nodes chain graph potentials are randomly generated
- Parameters
-
assignment_expect | expected assignment |
min_energy_expect | expected minimum energies |
N | size of the energy table (e.g., 2x2) |
Definition at line 105 of file FactorGraphDataGenerator.cpp.
Save this object to file.
- Parameters
-
file | where to save the object; will be closed during returning if PREFIX is an empty string. |
prefix | prefix for members |
- Returns
- TRUE if done, otherwise FALSE
Definition at line 314 of file SGObject.cpp.
|
protectedvirtualinherited |
Can (optionally) be overridden to post-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::SAVE_SERIALIZABLE_POST is called.
- Exceptions
-
Reimplemented in CKernel.
Definition at line 436 of file SGObject.cpp.
|
protectedvirtualinherited |
void set_global_io |
( |
SGIO * |
io | ) |
|
|
inherited |
void set_global_parallel |
( |
Parallel * |
parallel | ) |
|
|
inherited |
set the parallel object
- Parameters
-
parallel | parallel object to use |
Definition at line 241 of file SGObject.cpp.
void set_global_version |
( |
Version * |
version | ) |
|
|
inherited |
set the version object
- Parameters
-
version | version object to use |
Definition at line 283 of file SGObject.cpp.
A shallow copy. All the SGObject instance variables will be simply assigned and SG_REF-ed.
Reimplemented in CGaussianKernel.
Definition at line 192 of file SGObject.cpp.
Test sosvm inference algorithm with random data
- Parameters
-
infer_type | type of inference algorithm |
- Returns
- average training loss (expected to be 0)
Definition at line 491 of file FactorGraphDataGenerator.cpp.
Truncate energy table to ensure submodurality
- Parameters
-
A | value in (0,0) |
B | value in (0,1) |
C | value in (1,0) |
D | value in (1,1) |
Definition at line 92 of file FactorGraphDataGenerator.cpp.
unset generic type
this has to be called in classes specializing a template class
Definition at line 303 of file SGObject.cpp.
void update_parameter_hash |
( |
| ) |
|
|
virtualinherited |
Updates the hash of current parameter combination
Definition at line 248 of file SGObject.cpp.
parameters wrt which we can compute gradients
Definition at line 384 of file SGObject.h.
Hash of parameter values
Definition at line 387 of file SGObject.h.
model selection parameters
Definition at line 381 of file SGObject.h.
The documentation for this class was generated from the following files: