EvalNE-GUI: The Graphical User Interface for EvalNE
Table of Contents
This repository contains the source code of the EvalNE-GUI, an open-source graphical user interface for EvalNE based on Plotly's Dash framework. The interface allows users to set up and execute EvalNE evaluations in an intuitive and interactive way, monitor system resources and browse previous evaluations. More information about EvalNE can be found in the official GitHub repo, and the user documentation. This library and the official EvalNE implementations are maintained by Alexandru Mara (alexandru.mara(at)ugent.be).
In summary, the main functionalities of the EvalNE-GUI include:
- A dashboard that allows users to specify evaluation parameters
- Tools for importing and exporting EvalNE configuration files
- Functionalities for running evaluations directly from the EvalNE-GUI
- Live monitoring of the system resources used by EvalNE and the EvalNE-GUI
- Functionalities for exploring past evaluation setups, logs and results
The user interface has been tested on Python 3.8 and requires the following packages:
- numpy
- plotly
- dash
- dash-daq
- dash_bootstrap_components
- fa2
- psutil
- evalne (optional)
NOTE: The evalne package is not a strict dependency of the GUI. This package can be installed in any other virtual environment but the appropriate path to it must then be specified in the EvalNE-GUI Settings tab. If evalne is not detected when an evaluation is started from the GUI, an error message will be displayed.
The EvalNE-GUI can be installed from pip or by cloning the GitHub repository:
Option 1: Install the library using pip:
# Ensure that setuptools is up to date using:
pip3 install --upgrade setuptools
# Install the library using pip:
pip3 install evalne_gui
Option 2: Cloning the repository and installing:
# Clone the github repository
git clone https://github.com/aida-ugent/evalne-gui
cd EvalNE-gui
# Ensure that setuptools is up to date using:
pip3 install --upgrade setuptools
# Install the library using setup.py
python3 setup.py install
To launch the GUI simply execute the evalne-gui
script. Alternatively, the __main__.py
file can be executed
using Python. A new browser tab will open showing the user interface.
evalne_gui
# Alternatively: python3 evalne_gui/__main__.py
NOTE: If the GUI was installed in a virtualenv the launch script should be executed as
venv/bin/evalne_gui
.
The EvalNE-GUI features 4 tabs which provide access to the evaluation Dashboard, system resource Monitoring, previous Runs & Results and general app Settings.
This tab allows users to specify all the evaluation parameters, from the data and methods to use to the downstream
task, results to report, etc. This can be done either manually or by importing an existing EvalNE config file.
Once all required parameters are set, an evaluation can be launched using the Run Evaluation
button. Evaluations
can be stopped at any time by pressing the Stop Evaluation
button. Config files can be imported and exported
using the appropriate buttons and the default parameter values can be restored using Clear Config
.
NOTE: The EvalNE-GUI persists all values inputted in any field. Tabs can be switched and the app can even be closed without these values being lost.
The Monitoring tab contains plots displaying the main system resources used such as CPU and RAM. In addition to this, the tab also provides specific information regarding the EvalNE (when running) and EvalNE-GUI processes such as status, resources used, current working directory, etc. Finally, the output of the current or last evaluation launched (if any), is also displayed.
The Runs and Results tab summarizes current and previous evaluation runs. For each run the filename, status (running, failed, finished), runtime, and the start and end times are displayed. By clicking on any run the evaluation logs and results can also be visualized.
This tab allows users to specify global EvalNE parameters such as the path there the library is installed (if different from the EvalNE-GUI installation path) or the folder where to store new evaluation runs.
Contributions are greatly appreciated. If you want to help us improve the EvalNE-GUI, please fork the repo and create a new pull request. Don't forget to give the project a star! Thanks!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Alternatively, you can make suggestions or report bugs by opening a new issue with the appropriate tag ("feature" or "bug") and following our Contributing template.
Distributed under the MIT License. See LICENSE.txt
for more information.
If you have found EvaNE or the EvalNE-GUI useful in your research, please consider giving our repos a star and citing our paper:
@article{MARA2022evalne,
title = {EvalNE: A Framework for Network Embedding Evaluation},
author = {Alexandru Mara and Jefrey Lijffijt and Tijl De Bie},
journal = {SoftwareX},
volume = {17},
pages = {},
year = {2022},
issn = {100997},
doi = {10.1016/j.softx.2022.100997},
url = {https://www.sciencedirect.com/science/article/pii/S2352711022000139}
}