Giter Club home page Giter Club logo

coco-postprocess's Introduction


COmparing Continuous Optimisers (COCO) post-processing

The (cocopp) package takes data generated with the COCO framework to compare continuous optimisers and produces output figures and tables in html format and for inclusion into LaTeX documents.

Installation

pip install coco-postprocess

Usage

The main method of the cocopp package is main (currently aliased to cocopp.rungeneric.main). The main method also allows basic use of the post-processing through a shell command-line interface. The recommended use is however from an IPython/Jupyter shell or notebook:

>>> import cocopp
>>> cocopp.main('exdata/my_output another_folder yet_another_or_not')  

postprocesses data from one or several folders, for example data generated with the help from the cocoex module. Each folder should contain data of a full experiment with a single algorithm. (Within the folder the data can be distributed over subfolders). Results can be explored from the ppdata/index.html file, unless a a different output folder is specified with the -o option. Comparative data from over 200 full experiments are archived online and can be listed, filtered, and retrieved from cocopp.archives (of type OfficialArchives) and processed alone or together with local data. For example

>>> cocopp.archives.bbob('bfgs')  
['2009/BFGS_...

lists all data sets run on the bbob testbed containing 'bfgs' in their name. The first in the list can be postprocessed by

>>> cocopp.main('bfgs!')  

All of them can be processed like

>>> cocopp.main('bfgs*')  

Only a trailing * is accepted and any string containing the substring is matched. The postprocessing result of

>>> cocopp.main('bbob/2009/*')  

can be browsed at https://numbbo.github.io/ppdata-archive/bbob/2009. To display algorithms in the background, the genericsettings.background variable needs to be set:

>>> cocopp.genericsettings.background = {None: cocopp.archives.bbob.get_all('bfgs')}  

where None invokes the default color (grey) and line style (solid) genericsettings.background_default_style. Now we could compare our own data with the first 'bfgs'-matching archived algorithm where all other archived BFGS data are shown in the background with the command

>>> cocopp.main('exdata/my_output bfgs!')  

coco-postprocess's People

Contributors

nikohansen avatar olafmersmann avatar

Stargazers

 avatar

Watchers

 avatar Dimo Brockhoff avatar Tea Tušar avatar

coco-postprocess's Issues

pip install for dummies

Is the plan to abandon the previous installation mechanism

pip install cocopp

?

I find the new process to get going (or updating) unreasonably unintuitive:

pip install -U coco-postprocess
ipython
import cocopp

I suspect this may boost the number of users who get frustrated before stumbling over the nice benefits of cocopp by a significant percentage.

I understand that this is analogous to coco-experiment, but should we make the usage of cocopp less intuitive because we can't make the usage of cocoex more intuitive?

Read in recommendations

Recommendations are (now) written to .mdat files. It should be relatively simple to read in the recommendation data instead of the .dat files based on a parameter in genericsettings, like cocopp.genericsettings.use_recommendations.

CAVEAT: in particular the $f$-information in the .info should not be used/displayed in this case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.