Code Monkey home page Code Monkey logo

evalne-gui's Introduction

EvalNE-GUI: The Graphical User Interface for EvalNE

contributions welcome MIT license made-with-python

Table of Contents
  1. About EvalNE-GUI
  2. Installation
  3. Usage
  4. Contributing
  5. License
  6. Citation

About

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

(back to top)

Installation

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.

(back to top)

Usage

The EvalNE-GUI features 4 tabs which provide access to the evaluation Dashboard, system resource Monitoring, previous Runs & Results and general app Settings.

UI

Dashboard tab

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.

Monitoring tab

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.

Runs & Results tab

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.

Settings tab

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.

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. 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.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Citation

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}
    }

(back to top)

evalne-gui's People

Contributors

dru-mara avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.