GregorCH / ipet

Interactive Performance Evaluation Tools for Optimization Software
MIT License
26 stars 6 forks source link

Fix default evaluation file #35

Closed JanMerlinV closed 7 years ago

JanMerlinV commented 7 years ago

Running

ipet-evaluate -e empty_evaluation.xml -t raw/check.mipdev-complete.scip-4.0.0.2.linux.x86_64.gnu.opt.spx2.none.M610.default.trn -A

with the .trn file generated from the cluster script works fine. However, running

ipet-parse -l MIPDEV_cluster_run/check.mipdev-complete.scip-4.0.0.2.linux.x86_64.gnu.opt.spx2.none.M610.default.out

on the generated .out file and subsequently

ipet-evaluate -e empty_evaluation.xml -t MIPDEV_cluster_run/check.mipdev-complete.scip-4.0.0.2.linux.x86_64.gnu.opt.spx2.none.M610.default.trn -A

on the resulting .trn file leads to

Traceback (most recent call last):
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/indexes/base.py", line 1876, in get_loc
    return self._engine.get_loc(key)
  File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:4027)
  File "pandas/index.pyx", line 157, in pandas.index.IndexEngine.get_loc (pandas/index.c:3891)
  File "pandas/hashtable.pyx", line 675, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12408)
  File "pandas/hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12359)
KeyError: 'ProblemName'

@GregorCH @fschloesser

GregorCH commented 7 years ago

Can you run ipet-evaluate in debug mode (option -D) and include the full stack trace where this happens.

JanMerlinV commented 7 years ago

Done

Traceback (most recent call last):
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/indexes/base.py", line 1876, in get_loc
    return self._engine.get_loc(key)
  File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:4027)
  File "pandas/index.pyx", line 157, in pandas.index.IndexEngine.get_loc (pandas/index.c:3891)
  File "pandas/hashtable.pyx", line 675, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12408)
  File "pandas/hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12359)
KeyError: 'ProblemName'`

`During handling of the above exception, another exception occurred:`

`Traceback (most recent call last):
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/bin/ipet-evaluate", line 4, in <module>
    __import__('pkg_resources').run_script('ipet==0.0.9', 'ipet-evaluate')
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 719, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1504, in run_script
    exec(code, namespace, namespace)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/ipet-0.0.9-py3.5.egg/EGG-INFO/scripts/ipet-evaluate", line 210, in <module>
    theeval.evaluate(ExperimentManagement.getExperiment())
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/ipet-0.0.9-py3.5.egg/ipet/evaluation/IPETEvalTable.py", line 1282, in evaluate
    ret = self.convertToHorizontalFormat(columndata[lcolumns])
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/ipet-0.0.9-py3.5.egg/ipet/evaluation/IPETEvalTable.py", line 979, in convertToHorizontalFormat
    df = df.set_index(list(self.index.getTuple())).sort_index(level = 0)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/core/frame.py", line 2831, in set_index
    level = frame[col]._values
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/core/frame.py", line 1992, in __getitem__
    return self._getitem_column(key)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/core/frame.py", line 1999, in _getitem_column
    return self._get_item_cache(key)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/core/generic.py", line 1345, in _get_item_cache
    values = self._data.get(item)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/core/internals.py", line 3225, in get
    loc = self.items.get_loc(item)
  File "/nfs/OPTI/bzfviern/workspace/ipet/venv/lib/python3.5/site-packages/pandas/indexes/base.py", line 1878, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:4027)
  File "pandas/index.pyx", line 157, in pandas.index.IndexEngine.get_loc (pandas/index.c:3891)
  File "pandas/hashtable.pyx", line 675, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12408)
  File "pandas/hashtable.pyx", line 683, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12359)
KeyError: 'ProblemName'
QObject::startTimer: QTimer can only be used with threads started with QThread
QObject::startTimer: QTimer can only be used with threads started with QThread
JanMerlinV commented 7 years ago

Update: -First of all, the .trn files are not generated from script but were generated from Gregor's ipet-parse command. -Replacing index="ProblemName Settings" with index="auto" in the evaluation file solves the issue

GregorCH commented 7 years ago

This has been fixed with commit 1dbe5fed3641850c85e80e7e5ab644b62ce4de18