Lisp HUG Maillist Archive

fast graphics

i want to write a visual debugger for a neural network, with many interconnected nodes.

graphpane would not work for this because my nodes are interconnected, i will have to draw my own nodes and connections.

the key here is that i want to actually be able to see connections increase in weight, and see numbers and/or colors change on the nodes when they get activated, all in real time...

would realtime calls to draw in an output pane be fast enough to do this?
or maybe i should use a pinboard layout?
or maybe i shouldn't be using capi for this at all?

thanks,

-dan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"A ship in port is safe, but that is not what ships are built for." 
— Benazir Bhutto 


Re: fast graphics

V. D. Veksler wrote:

> i want to write a visual debugger for a neural network, with many 
> interconnected nodes.
>
> graphpane would not work for this because my nodes are interconnected, 
> i will have to draw my own nodes and connections.
>
> the key here is that i want to actually be able to see connections 
> increase in weight, and see numbers and/or colors change on the nodes 
> when they get activated, all in real time...
>
> would realtime calls to draw in an output pane be fast enough to do this?
> or maybe i should use a pinboard layout?
> or maybe i shouldn't be using capi for this at all?

Hi Dan
depending on the size of your NN's you can either use pinboard layouts 
with self-made objects for
neurons, i/o and connections or the CAPI open-gl pane. Both methods have 
advantages and drawbacks.

- pinboard layouts are simpel to handle and provide support for i.e. 
mouse events. So you can display dynamic
  informations about objects under the cursor.
  The major drawback is that the rendering is made by the CPU and that 
will reduce your computing time
  needed for calculating the activation potential of the neurons.

- Open-gl pane uses ffi to send your drawing commands to open-gl. 
Assuming you have an appropriate graphic
  adapter then the rendering is made in the GPUand doesn't need much CPU 
time. Standard game-ready cards
  allow rendering of a few 100K poly's at >60 frames/s.
  The major drawback is that you have to implement picking - as 
described in the redbook - by yourself.

Which of both methods you use is - from my point of view - a matter of 
taste because both is possible and
your major bottleneck is not the drawing but computing the activation 
potentials. Personally i would use
the pinboard layout due to it's simple handling and switch to open-gl 
only if needed.

Regards
AHz


Updated at: 2020-12-10 08:48 UTC