Closed nikohansen closed 7 years ago
See also issue #1533
Include also this (from #1532, by @nikohansen):
I suggest also to write a helper function which gives access to the test data which are distributed with the code (or downloaded). Like this, the tests don't need to bother getting the path right. We then also could write the above examples such that they actually work out of the box for everyone. For example,
import cocopp
cocopp.test_data_files()
["/Users/hansen/git/coco/code-postprocessing/cocopp/data/MCS.tgz",
"/Users/hansen/git/coco/code-postprocessing/cocopp/data/IPOP-CMA-ES.tgz"]
by default or whatever is there in a controlled way.
The current solution is:
import cocopp
cocopp.data_archive.find()
['bbob/2009/ALPS_hornby_noiseless.tgz',
'bbob/2009/AMALGAM_bosman_noiseless.tgz',
'bbob/2009/BAYEDA_gallagher_noiseless.tgz',
'bbob/2009/BFGS_ros_noiseless.tgz',
...
cocopp.bbob.find()
['2009/ALPS_hornby_noiseless.tgz',
'2009/AMALGAM_bosman_noiseless.tgz',
'2009/BAYEDA_gallagher_noiseless.tgz',
'2009/BFGS_ros_noiseless.tgz',
...
and looks workable for the time being, hence this can be close.
The user should be able to specify a "list of algorithms" in a convenient way. Currently,
glob.glob
is our method of choice (giving a list of folder names), which works for folder-wise locally stored data. More specifically, "algorithm" means here a "data set" generated from an experiment of one algorithm on one benchmark suite. CAVEAT: such a "data set" is represented as aDataSetList
incocopp
, which is alist
ofDataSet
s (aDataSet
for each problem). However, aDataSetList
may holdDataSet
s from different experiments and algorithms, and often does.It would be useful to be able to reference remote data (or any data for that matter) via a unique ID in a "list of algorithms", which could be used interchangeably with the folder name. A simple number may be useful, as well as the possibility to define one or several aliases for any stored experiment.
Usecase: defining a list of algorithms to be displayed in the background.
Remark that the
load
function does not use the folder name as key forDataSetList.dictByAlg
, see also issue #1412.