For a comprehensive guide check the Wiki!
Disclaimer: Iam in no way an expert on machine learning or neural networks. I do not guarantee that all information provided or gained through using JNetVisualFX is right. I made this application to learn about these topics myself by implementing them.
JNetVisualFX is a terminal based NeuralNetwork visualizer with the focus on testing, training and playing around with Neural Networks. In the end its also meant as an educational application.
Windows
The application comes already prepackaged in a .zip-archive with a runtime included. Just unzip it and start JNetVisualFX.exe
. Download
Unix
Downlaod the v.x.x.x-LINUX.jar and run it. You will need a basic Java Runtime (19) installed.
- Intuitive controls through a custom command line
- 35 different commands ranging from
print()
,theme
,set
,jnet_train()
, togetStat
. - Visual Training: While training each actively used connection is visualized for both forward pass and backpropagation
- Each connection is rendered dynamically based on the correlating weight
- Guided exercises and lots of information inside the application
- Local Save and User Statistics: Look up how many commands you used!
Upon starting, you won't have a built network yet. For building your first Network you need a NetBuilder, which is a reusable building block for your network.
Create a new NetBuilder with new NetBuilder([2,2,1],sigmoid)
, the first argument being a list of numbers representing the neuronCount each layer. Second is a activationFunction.
You can customize your NetBuilder with further commands to your liking.
When you have your desired NetBuilder call new Network
to create a new Network with your NetBuilder.
VoilĂ , you made your first Network now you can play around with it!
The terminal is the central part of JNetVisualFX allowing you to get information, customize the application and interact with networks.
It supports:
- Adding and deleting characters
- Scrolling through past commands using UP and DOWN (if there's no autocompletion)
- changing cursor position with LEFT and RIGHT
- Code completion with TAB (if there's only 1 suggestion)
- Pasting text from the clipboard
- Parsing of arithmetic expressions from the command line e.g
2+3
- Printing variables (lists) with
$<var-name>
There's lots of useful commands but these here will get you started:
help
- displays helpful informationhelpall
- lists all commands in the logman
- used as prefix for methods to display their manual page e.g.man print
Feel free to experiment around there's a lot of small commands to explore.