This pull request will update the main code to version 1.4.5
Major updates
Domain and Parameter classes
All Parameter classes are now private. The suggested way to add parameters to a Domain will be with the public add_float, add_int, add_category and add_constant methods.
Change the behaviour of the public Domain.add method to require the type and arguments of the (private) parameter to construct, instead of requiring the private Parameter object
ExperimentData class
Added a method that extracts all ExperimentSample objects or a selection of ExperimentSample objects from an ExperimentData object
Removed the .filename attribute in ExperimentData: the name of the stored objects are hardcoded
Refactored the .path attribute to the .project_dir attribute. When storing the ExperimentData object with the .store() method, a subdirectory (/experiment_data/) will be created and the input data, output data, domain and jobs will be stored there.
Optimizer class
Added functionality to select different strategies to determine the initial points ($x_0$) before optimization.
_Data class
Decoupled the headers of the _Data class to a separate private _Columns class. This makes it more flexible for future development on the generalization of different back-ends (currently pandas) for _Data
Removed dependency of Domain to _Data class
Storing output data
Output that is stored to disk will no longer have the path_ prefix before the parameter. This information is stored within the _Columns object
The ExperimentSample.output_data will, if applicable, load the output parameters from disk automatically
The attribute ExperimentSample.output_data_with_references will give you the paths of the references
Added backwards compatibility for ExperimentSample.output_data_loaded (will redirect to ExperimentSample.output_data
Documentation
Made private methods of public objects visible in sphinx documentation API
Bessa Group Coding Guidelines
Restored the original .flake8 file of the BRG coding guidelines; the maximum linewidth is now 79 instead of 119.
Miscellaneous
Represent all private attributes and methods with an underscore (_).
This pull request will update the
main
code to version 1.4.5Major updates
Domain
andParameter
classesParameter
classes are now private. The suggested way to add parameters to a Domain will be with the publicadd_float
,add_int
,add_category
andadd_constant
methods.Domain.add
method to require the type and arguments of the (private) parameter to construct, instead of requiring the private Parameter objectExperimentData
classExperimentSample
objects or a selection ofExperimentSample
objects from anExperimentData
object.filename
attribute inExperimentData
: the name of the stored objects are hardcoded.path
attribute to the.project_dir
attribute. When storing theExperimentData
object with the.store()
method, a subdirectory (/experiment_data/
) will be created and the input data, output data, domain and jobs will be stored there.Optimizer
class_Data
class_Data
class to a separate private_Columns
class. This makes it more flexible for future development on the generalization of different back-ends (currently pandas) for_Data
Domain
to_Data
classStoring output data
path_
prefix before the parameter. This information is stored within the_Columns
objectExperimentSample.output_data
will, if applicable, load the output parameters from disk automaticallyExperimentSample.output_data_with_references
will give you the paths of the referencesExperimentSample.output_data_loaded
(will redirect toExperimentSample.output_data
Documentation
Bessa Group Coding Guidelines
Miscellaneous
_
).Closed issues
224
206
225
227
61
62
73
129
202