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

Python & Getting outside of GH

While Owl contains some small-scale methods for machine learning, you might want to use more recent deep-learning methods like the ones available in TensorFlow.

The solution is:

  1. Get the data from GH
  2. Pack it all in TensorSets
  3. Export these as IDX file
  4. Import them in Python
  5. Learn/Teach
  6. Move back to GH via IDX as well

IDX is a file format used by the MNIST dataset and majority of machine learning libraries have IDX readers/writers implemented.

You can also read the IDX as numpy arrays via the idx2numpy package.

  • up

    Winsion Liang

    Hello , I feel interest on Owl , 

    I hope to get some example to research what can it do ,  :-)  Thanks

    1
    • up

      Sam Gregson

      Hi Mateusz,

      I would be interested to learn more about implementing TensorFlow as it appears to give more options. For step 4 that you describe above couldn't this feasibly be done within GH with the python scripting component?

      Sam
      2