Owl

The purpose of the Owl plug-in is to constitute a new data type named Tensor, thanks to which the Grasshopper users will be able to work with so-called "big-data". This will further open up new possibilities to use more sophisticated machine-learning tools, which require big data sets to be effective. 

The core library of the Owl plug-in is open sourced, and provides the developers with methods to read/write and use the Tensor data within the GH (and outside of it).

Additionally the Owl.Accord.GH.gha plug-in is the first extension based on the Owl core, utilizing few of the machine-learning methods sourced from the Accord framework. 

Download at: http://www.food4rhino.com/app/owl

Core libraries, open-sourced: https://github.com/mateuszzwierzycki/Owl

NuGet packages: 

Install-Package Owl.Core

Install-Package Owl.GH.Common 

Some parts of the plug-in depend on the Accord framework: https://github.com/accord-net/framework

More than one output node not possible?

Hi Mateusz,

Firstly thank you for putting this together, what a great way to get stuck into machine learning, through Grasshopper.

I am just having a play with the component at the moment and I am struggling to get good results.

In addition it seems it is not possible to have more than one output node, is this correct?

I am using the MNIST data as a test case and trying 10 output nodes, one for each digit. I tried using one node but this gave poor results.

Thank you in advance,

Sam

  • up

    Sam Gregson

    Apologies, I've just answered my own question... it is possible, I just hadn't matched the no. of outputs correctly.

    Thanks,

    Sam

    3
    • up

      Sam Gregson

      For anyone who finds themselves following my monologue I have managed to get this to work.

      The key problem was that neural networks are very sensitive to their hyper parameters (e.g. learning rate, alpha value for the Sigmoid function).

      I ended up reducing my training data set size (to speed up training) and then used an optimisation algorithm (e.g the Nelder-Mead plugin - shameless plug) to optimise these parameters. This method reasonably quickly gave me decent results (>90% accuracy on my validation set).

      I have since found a slightly different approach here: http://www.grasshopper3d.com/group/owl/forum/topics/examples-discus...