Recent Releases of f3dasm
f3dasm - 2.0.2
Major changes
- Added
ArrayParameterto work withnp.arraystructures - Added optional ports to
optunaandscipy.minimizelibraries - Added support for
uvinstallation - Restructuring and removing unnecessary functionalities (benchmark function manipulation)
Bugfixes
- Bugfix in
ExperimentData.remove_rows_bottom - Bugfix when joining empty
ExperimentDataobject
What's Changed
- Pr/2.0.2 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/300
Full Changelog: https://github.com/bessagroup/f3dasm/compare/2.0.1...2.0.2
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling 4 months ago
f3dasm - 2.0.1
Major Changes
- Removed
ExperimentData.sample,ExperimentData.evaluate, andExperimentData.runmethods to standardize the data-driven workflow, replacing them with the.calland.armmethods (Fixes #294). - Refined string argument handling and introduced
create_sampler,create_optimizer, andcreate_datageneratorfactory methods (Fixes #293). - Added
mpimode to support high-performance computing clusters. - Introduced custom exceptions for handling faulty read/write operations.
- Added
datageneratordecorator to convert methods intoDataGeneratorobjects. - Removed
ExperimentDataProtocol classes and improved internal dependencies for better readability. - Added support for
numpy==2.0.0(Fixes #290). - Introduced
ExperimentData.move_project_dir. - Changed most
ExperimentDatamethods to return copies rather than modifying in place. Addedin_place=Trueargument for some functions. - Updated documentation.
- Changed the signature of the
DataGenerator.executemethod to match theBlock.callsignature (Fixes #295, Fixes #291). - Added
pass_idargument toDataGenerator.callto pass the ID of theExperimentSampleto theDataGenerator.executemethod. - Introduced
nodesargument inDataGenerator.callto control the number of CPUs (Fixes #271).
What's Changed
- Pr/2.0.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/298
Full Changelog: https://github.com/bessagroup/f3dasm/compare/2.0.0...2.0.1
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling 9 months ago
f3dasm - 2.0.0
What's Changed
- Major update to change backedn to dictionaries by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/287
- Pull request from pr/2.0.0 to main by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/288
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.4...2.0.0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 11 months ago
f3dasm - v1.5.4
Bugfixes and minor improvements
- Change
__eq__method of_Dataobject topd.testing.assert_frame_equalin order to omit differentfloattypes Domain.add_outputnow has default argument ofto_disk=False- Bugfix:
ExperimentSample.from_numpynow gets the (optional) domain object when constructed ExperimentData.get_input_dataselects now only the input domain and removes the output space- Removing building JOSS paper workflow (paper has been published and draft is removed from repo)
- (Studies: fragile becomes supercompressible) update scripts config
What's Changed
- [JOSS] Paper by @RMeli in https://github.com/bessagroup/f3dasm/pull/277
- Pr/1.5.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/280
New Contributors
- @RMeli made their first contribution in https://github.com/bessagroup/f3dasm/pull/277
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.3...v1.5.4
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 1 year ago
f3dasm - v1.5.3
Resolved requests from reviewers JOSS:
- Fixes TOC header sphinx-gallery (#274)
- paper.md: Added DOI of Optuna reference in paper
What's Changed
- Sphinx Gallery problem with TOC headers by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/275
- update version number to 1.5.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/276
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.2...v1.5.3
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 1 year ago
f3dasm - v.1.5.1
Major changes
- Small bugfixes and typos
What's Changed
- Pr/1.5.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/267
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.5.0...v1.5.1
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 1 year ago
f3dasm - v.1.5.0
Major changes
- Refactoring and removing of legacy code
- Change how hyperparameters are handled; they now need to be given as initialization key-word arguments
- Major rework on optimization functionality
- Rework on JOSS paper draft
What's Changed
- Pr/1.5 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/266
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.4.8...v.1.5.0
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 1 year ago
f3dasm - v.1.4.8
Major Changes
- Dropped compatibility with Python 3.7
- Added Sphinx Gallery for documentation examples
- added
examples/folder with code snippets explaining the functionality off3dasm - added
Experimentdata.joinmethod - Change
_Storeclass to public:StorageProtocol - Added 2 benchmark studies: Fragile becomes supercompressible and Optimization benchmark
What's Changed
- Pull changes from 1.4.71 to branch 1.pr/4.8 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/264
- Pr/1.4.8 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/265
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.4.71...v.1.4.8
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 1 year ago
f3dasm - v.1.4.7
Features
- Added storage method for matplotlib figures
- Added GridSearch sampler*
- Added helper functions for datageneration with hydra configuration files
- Added overwrite function to
ExperimentData - Added callback functionality for optimizers
- Allow addition of Domains
- Add differentiable tag to benchmark functions and optimizers
- Added
cluster_parallelmode to `ExperimentData.evaluate()
* only working for categorical or discrete variables!
Bugfixes
- Fixes #248
- Fixes #250
- Fixes #252
- Fixes #253
- Fixes #259
- Fixes #89
- Fixes #230
- Fixes #223
- Fixes #218
What's Changed
- Fixes #248 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/249
- Mpvanderschelling/issue250 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/255
- Improving usability by implementing helper function to convert arbitrary functions to DataGenerators by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/254
- Documentation is both hosted by GitHub Pages and ReadTheDocs by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/256
- Implement new x0selection strategy and add selectall_finished functionality by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/260
- RETRY: refactoring optimization iterate and iterate_scipy by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/262
- Pr/1.4.7 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/263
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.6...v1.4.7
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 1 year ago
f3dasm - v1.4.6
Major changes
- Added documentation on SLURM job scheduler. Added sphinx-tabs as dependency when building documentation.
- WIP: New back-end of
_Datathat relies on lists instead of pd.DataFrame. This has not yet replaced the pandas back-end but tests are passing with the new_newdata.pymodule. - Removed unused method
Domain.from_yaml. - Removed unused
_Data.fill_outputmethod - Output of benchmark functions is now a
floatinstead ofnp.ndarray[float]. Necessary to pass tests for new back-end, won't affect pandas back-end.
Minor changes
- Refactoring parts of the
ExperimentSamplecode to be more robust to changes in the back-end - Moving factory methods to appropriate modules
- Removed
try_import; import checks are moved to extension packages - Added
__version__.pyfile - Updated docstrings to remove leading spaces
Bugfixes
- Correct equality operator of
Domainto also compare foroutput_spaceattribute - Closes #241
- Closes #191
- Closes #240
- Closes #243
What's Changed
- Newdata by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/245
- Pr/1.4.6 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/246
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.5...v1.4.6
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 2 years ago
f3dasm - v1.4.5
This pull request will update the main code to version 1.4.5
Major updates
Domain and Parameter classes
- All
Parameterclasses are now private. The suggested way to add parameters to a Domain will be with the publicadd_float,add_int,add_categoryandadd_constantmethods. - Change the behaviour of the public
Domain.addmethod 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
ExperimentSampleobjects or a selection ofExperimentSampleobjects from anExperimentDataobject - Removed the
.filenameattribute inExperimentData: the name of the stored objects are hardcoded - Refactored the
.pathattribute to the.project_dirattribute. When storing theExperimentDataobject 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
_Dataclass to a separate private_Columnsclass. This makes it more flexible for future development on the generalization of different back-ends (currently pandas) for_Data - Removed dependency of
Domainto_Dataclass
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_Columnsobject - The
ExperimentSample.output_datawill, if applicable, load the output parameters from disk automatically - The attribute
ExperimentSample.output_data_with_referenceswill give you the paths of the references - Added backwards compatibility for
ExperimentSample.output_data_loaded(will redirect toExperimentSample.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 (
_).
Closed issues
- #224
- #206
- #225
- #227
- #61
- #62
- #73
- #129
- #202
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.4...v1.4.5
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 2 years ago
f3dasm - v1.4.4
Bugfixes and enhancement featured by @BernardoFerreira
What's Changed
- Make DataGenerator.run method private by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/197
- Change the default behaviour of the logger so that it doesn't display messages by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/196
- Mpvanderschelling/issue189 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/199
- ExperimentData.store documentation is not correct by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/203
- Handle similar bounds on add_float to make a constant parameter by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/198
- Get a way to extract input and output data from ExperimentData by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/200
- Fixes #194 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/204
- Pr/1.4.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/210
Important Note: this release has been recreated to support read-the-docs documentation building. Now the (static) documentation of this release will be available even when a newer release comes uit
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.3...v1.4.4
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 2 years ago
f3dasm - v1.4.4
Bugfixes and enhancement featured by @BernardoFerreira
What's Changed
- Make DataGenerator.run method private by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/197
- Change the default behaviour of the logger so that it doesn't display messages by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/196
- Mpvanderschelling/issue189 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/199
- ExperimentData.store documentation is not correct by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/203
- Handle similar bounds on add_float to make a constant parameter by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/198
- Get a way to extract input and output data from ExperimentData by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/200
- Fixes #194 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/204
- Pr/1.4.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/210
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.3...v1.4.4
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 2 years ago
f3dasm - v1.4.3
This release will have the following additional features:
* Changed source directory structure to have a user API and _src folder
* Added .path attribute to ExperimentData to enable relative paths in disk-stored objects
* Bugfix at RandomSearch optimizer
Release that will be used in the following two student projects: * ENGN2350 Data-Driven Design and Analysis of Structures and Materials 2023/2024 * TI3165TU Project Capstone Applied AI Project 2023/2024
What's Changed
- Numeric categorical parameters by @GuillaumeBroggi in https://github.com/bessagroup/f3dasm/pull/135
- Output-data by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/136
- restructured ExperimentData.from_yaml by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/137
- New-way-of-locking by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/138
- Pr/1.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/139
- Pr/1.3.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/140
- add overwrite run method to function by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/141
- Changed design to ExperimentSample by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/142
- Changedgithubworkflows by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/156
- Link in getting started CONTRIBUTING.md is not working by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/157
- Mpvanderschelling/issue69 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/158
- 147-add-an-empty-machine-learning-stub-to-documentation by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/162
- Fixes #145 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/161
- add add operator to ExperimentData #163 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/164
- Addoptimizerto_experimentdata by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/166
- Mpvanderschelling/issue159 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/160
- Api-for-importing by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/170
- Remove directory change in abaqus simulator by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/175
- Documentation-update by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/176
- New-sampling-way by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/177
- Optimizer-api by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/178
- Final-update-documentation by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/179
- Pr/1.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/180
- removed ISSUE_TEMPLATE by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/181
- add gh pages push workflow by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/182
- gh pages token by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/183
- bugfixes by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/184
- Pr/1.4.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/185
New Contributors
- @GuillaumeBroggi made their first contribution in https://github.com/bessagroup/f3dasm/pull/135
Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.2.0...v1.4.3
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 2 years ago
f3dasm - v1.1.0
This release covers the following major changes
- Moved the JobQueue object as a private attribute in the new ExperimentData class
- Added parallelization decorators
- Added hydra to_yaml methods to base classes
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling over 2 years ago
f3dasm - Old version of f3dasm: master branch
This release is the "master branch" code developed until 2020 before Martin took over the main responsibilities of the f3dasm project The purpose of this release is to make sure that the original code is not lost, and users may download this legacy code to reproduce their experiments.
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling almost 3 years ago
f3dasm - Old version of F3DASM: development branch
This release is the "development" code developed until 2020 before Martin took over the main responsibilities of the f3dasm project The purpose of this release is to make sure that the original code is not lost, and users may download this legacy code to reproduce their experiments.
Scientific Software - Peer-reviewed
- Python
Published by mpvanderschelling about 3 years ago