Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphical user interface (GUI) for NiaPy #330

Closed
firefly-cpp opened this issue May 31, 2021 · 5 comments
Closed

Graphical user interface (GUI) for NiaPy #330

firefly-cpp opened this issue May 31, 2021 · 5 comments

Comments

@firefly-cpp
Copy link
Contributor

Dear NiaPy contributors and friends of NiaPy!

NiaPy is now finally reaching a new milestone --- stable version 2.0 is almost here. Special thanks
go to all contributors who made it possible. At this moment, I must specially thank to the
@zStupan for numerous commits in the past months as well as @GregaVrbancic for maintaining
this repository.

Since we are now approaching summer months, I would like to propose a new milestone (feature) in
the development of NiaPy framework. I really hope that free time in summer will be on our side. :)

One of the goals of NiaPy that we set back in 2018 at our first meeting in Newton lab at our Faculty was
GUI. NiaPy should be tailored also to the people who are not coders, developers, computer scientists. GUI is a functionality that may satisfy this goal. In the past, we have tried to come up with some prototypes, but most of the ideas are still
unrealized. @GregaVrbancic and me tried to develop one GUI (https://github.com/NiaOrg/NiaPy-GUI), but due to the
time constraints the project was left unrealized :( From my point of view, GUI would definitely make
NiaPy very special. Most of the other optimization packages do not deliver a GUI.

In a nutshell, I would like to hear comments/ideas from other developers/contributors/users of
NiaPy. What do you think about this feature? We can define all requirements and features of our GUI in
this thread.

I would like to ask @lukapecnik for his opinion too. Luka has recently developed a GUI for NiaAML package and has
experience with calling NiaPy functions from GUI.

P.S.
This work may definitely result in another journal/conference publication.

@rhododendrom
Copy link
Contributor

+5

@firefly-cpp great idea, many thanks to all contributors for a very useful tool

@zStupan
Copy link
Contributor

zStupan commented Jun 5, 2021

I think it's a great idea.

PyQt is probably the best framework to use. As for features, it should enable: running experiments on the selected algorithms and problems, viewing and exporting results into different formats, plotting convergence graphs, maybe creating animations or images of the population moving towards the global optimum. This would require some sort of way to save the history of an algorithm run to be implemented, or animation callbacks.

@sisco0
Copy link
Contributor

sisco0 commented Jun 5, 2021

Should a wrapper for MLAgents be useful for us? I think that the way that this package works is real good for social media and engaging.

What do you think about this?

@sisco0
Copy link
Contributor

sisco0 commented Jan 3, 2022

If we follow that path it would be good that we could have video tutorials for getting to know more about the implemented algorithms are their associated visualizations in NiaPy. I think that it is not a bad idea to have flowcharts and visually attractive scenarios for the distinct algorithms so students could grab the idea quicker; this would be added as an extra to the already present iteration(X)-squarederror(Y) plots thst we could make with NiaPy-GUI.

The MLAgent is an idea for this kind of attractive scenarios output.

@GregaVrbancic
Copy link
Contributor

I agree, that the attractive output is key for students and other potential users. However, we do not have enough expertise when it comes to the Unity and MLAgent framework. But if you would like to pursuit this path, you are more than welcome to put together a small working prototype.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants