About neural2d

Neural2d is a neural net simulator in C++. It is a command line console program, easy to learn and modify.


  • 1D or 2D arrangement of neurons
  • flexible network topology is defined in a text file
  • input data can come from image files or explicit data
  • convolution filtering and convolution networking
  • full or sparse connections
  • graphic visualizations (with the optional GUI)
  • simple, heavily-commented code, suitable for prototyping, learning, and experimentation

The only dependencies are a C++11 compiler and CMake. POSIX networking is required only for the optional GUI.

Quick links (all on Github):

This website administrator:

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Before you post, please demonstrate that you are a live, honest person:

How many degrees are in a full circle?


  1. Peter says:

    Hello David,
    I think we once talked before about blender, but yesterday i got into something that reminded me about your other work.
    And so i wondered Neural2D, can it do future detection ?, like finding all circles on a rgb map and as output paint them red in the map?

    I know there are other filters who can do this, but.. i wonder your network could do it, and if it could improve on hard to detect circles. more like spots / dust.

    And also for another thing i wonder if it could denoise Blender renders.

    • David Miller says:

      Hi Peter, I would think that a neural net could be trained to identify many kinds of image features with the proper training. Denoising Blender renders might be fairly easy, because the noise from Cycles rendering is most commonly single pixels, but then a simple convolution filter should work just as well for that. It’s the smudgy spots and dust that would be most challenging, because the net would have to be trained to distinguish between the unintentional dust and the smudgy parts of the image that should be there, and that might depend on image context. you might have to train several neural nets for different kinds of images. For example, images with intentional high-frequency content might have dust that looks different than the dust on images with little high-frequency content. Let us know what you find out if you experiment with this.