Git Product home page Git Product logo

snn-computing's People

Contributors

hugochateaulaurent avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

snn-computing's Issues

Javafx path issues on Linux

Linux users experienced problems with the java fx path, not all realized how to add
the path to java fx from the terminal.

Neuron first step

Sometimes neurons fire at steps 0 or 1 when in theory they should not.

Run command broken

While creating the network, after running it a couple of times to test and solving some
issues with mistakes I had made, the GUI stopped responding to the RUN command and I
had to restart and fiddle with some of the synapses before it worked again. Multiple times
while using the measurement tools they stopped responding to anything. Recreating them
didn’t help. ”Arrayindexoutofbounds: 2” in the command line log. The solution seemed to be
to reset the delay on a synapse or recreate a synapse.

Fix connection overlap

"When there is a Synapse from A->B, and you try to flip its direction by clicking B
then A, it overlays a neuron B->A overtop the A->B, making things go very wrong"

-> The connection is not flipped, a new connection is created. The problem is that multiple connections between two neurons overlap.

Save as/load error

Save as/load feature does not work. Upon clicking the ”save as” button the following
error appears in the terminal: Calling save as Exception in thread ”JavaFX Application
Thread” java.lang.IllegalArgumentException: Folder parameter must be a valid folder
[for some only save as did not work, for others all options under file did not work]

Add labels

Would be great to have an indicator of which graph represents which node, and which
node is exactly which node

Mac problems

In this assignment the program barely functioned in my computer (macOS mojave 10.14) I was
unable to open it through command line or by using eclipse, even though the times I tried with
different commands and options were numerous, also the advices from the discussion topic and
from the author himself were followed, all of them fruitless. Also when i opened the program
from the jar itself, the file options were not working, as I show in one of the screen recording.
And once the circuit was set up with all parameters from the slides properly placed and checked,
it malfunctioned and the result it provided were wrong and indifferent to changes in the values of
the delays (which are the encoding of the numbers to add) or K (the base for the calculation, if I
understood it properly). I'm also aware that the faulty results given in this part by the adder and
holder neurons were obtained by other classmates, however to get further they add to restart the
program and reload the net, which I could not do it, and even then, they would not get much
further.

Add undo functionality

It would be nice to have an modifications history, and the possibility to undo/redo modifications.

Inconsistent behaviour

Also, when running the network for output tests, it gave a lot of different results with
the same parameters. The way to fix this way running it again with different runtimes and
after that i ran the network again with another runtime to get the same result as the test I did 3
tries ago. Also the graphs were somehow different every time I ran the network. All these
bugs and a lot of smaller ones caused me to not trust the results of the network and therefore i
had to guess each time if the results were correct. This really prevented me from doing any
serious improvement work on the network

Crash when too many neurons

Using more than something like 15 neurons and connections made the measurement
windows crash, showing no measurements.

"Broken" networks

Frustrated Linux user: Networks that I made ran fine the first time, only to “break”
without any discernible reason or warning. Multimeters would stop showing any
measurements. When a network broke in any way, there was no option than to start anew, as
diagnosing one single bug out of the many that were occurring at the same time was nigh
impossible. Knowing in advance, after some time, that every network would break down at
some seemingly random time and that I would have to be ready to remake everything at the
drop of a hat, did help me to make some progress. This time I was lucky to run Linux, as my
fellow students that had Macs or Windows computers could not in any way save their work.

Unexpected scrolling behaviour

The slightest scrolling moves the whole network out of sight and it is impossible to find it again. The only way to recover from that is to quit the GUI and make the network from scratch. Also when moving the network with right click you can put parts of the network outside of screen and never see them again.

[many reported the network being out of the screen and not possible to find again by zooming out, but for some it would only be moved to a corner of the screen]

Plot update

After running the simulation once, then changing the network and rerunning the
simulator, the raster and multimeter plot do not update if the number of simulation steps are
the same. To get updated plots you need to run every time with different steps. Even if the
number of simulation steps is changed every time, still on one occasion the GUI got stuck at
did not update the plots anymore. The only way to update the plots is to quit the program and
build the whole network from scratch.

Remove connections

It appears to be impossible to remove connections between objects once you’ve made
them. You have to just remove the node/lif/etc. in that case and recreate it from scratch.

User guidance / documentation

Include user guidance (how to use the simulator together with outlining current
functionality in terms of undo operations, moving whole graphs, specify what different
mouse click actions can do, etc.)

Write GUI networks with code

On a general note for the future of the GUI, I believe it will be more convenient if there is
a feature to build the network from code, then upon running he code the GUI pops up and
you can do some change in parameters and running simulations. The benefit of building
the network from code is that you can see many of the network parameters and once, you
can define constants like K in this assignment that are used in many places in the
network. Using code would also mean that it will be possible to make custom
abstractions of whole circuit or sub-circuit that can be used in combination to make more
complicated circuits. One more thing that will be very helpful is to add a feature for
labelling the neurons, for example when editing the properties, there is a label field that
later shows up as text on the neuron

Load error

Someone saved a network to disk and got a very lengthy error in the terminal (also
Linux user). The network could not be retrieved (at least the student reported so)

Remove plot when detector is removed

Deleting connecting from raster/multi-meter to a neuron causes the corresponding
plot to disappear, deleting the raster/multi-meter does not result in the plots disappearing

Improve graphing readability and control

It was also confusing that there is no control over the graphs and often one graph
would scale differently than the graph of a similar neuron, making it hard to compare them.
Furthermore, it is very hard to see what is going on at each discrete time step. Especially
when voltage both peaks and is immediately reset at the same time, making it hard to read
out the residual for example.

Save network layout

It would be nice to save the layout of the network instead of generating a random one when loading a project.

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.