algorithmic modeling for Rhino



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:

Core libraries, open-sourced:

NuGet packages: 

Install-Package Owl.Core

Install-Package Owl.GH.Common 

Some parts of the plug-in depend on the Accord framework:

Members: 145
Latest Activity: Jul 21, 2023

Autoencoded MNIST

Discussion Forum

More than one output node not possible? 5 Replies

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…Continue

Started by Sam Gregson. Last reply by GabrielaSullivan Jul 21, 2023.

Python & Getting outside of GH 5 Replies

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:Get the data from…Continue

Tags: idx

Started by Mateusz Zwierzycki. Last reply by Sam Gregson Jun 7, 2018.

Examples discussion 10 Replies

Placeholder for the examples to come.Continue

Started by Mateusz Zwierzycki. Last reply by Samuel Wilkinson Jan 26, 2018.

Hungarian Algorithm - T-SNE to grid assignment problem 2 Replies

Hi everyone & Mateusz - Owl is brilliant, and thanks for creating it.I wanted to represent the T-SNE data in grid form, so I've copy-pasted and hooked some things up implemented …Continue

Started by Dan Taeyoung. Last reply by Pablogomez Dec 22, 2017.

Comment Wall


You need to be a member of Owl to add comments!

Comment by Radul Shishkov on March 26, 2019 at 2:11am

Hi everyone , 

I have a problem with the "compute" component: after doing one computation it seems to get stuck and the output wouldn't change after changing the input tensor.  It seems like the calculation of any network doesn't work properly. I have this problem on two different computers , using Rhino 5 and Owl 1.0. Anyone with same problem or idea that am I doing wrong ? Thanks in advance ! 

Comment by Ángel Linares on August 7, 2017 at 2:01am

Hi Ortler,

Yes, that is what I meant by using scripting. But I just wanted to know if was there any built-in component doing the work ;) looks like there is no :P

Thanks for the reply.

Comment by Ortler Mark on August 7, 2017 at 1:53am

@Ángel Linares...
you could split the tensor in its nummeric parts and then use the same method as for euclidean vectors to calculate the distance:
sqrt(a²+b²+c²+d²+e²+...) u see? simple pythagoras...

If u need more operations like "dotproduct" or "crossproduct" for tensors let me know...


Comment by Ángel Linares on August 7, 2017 at 1:41am

Hi all,

Has anyone try to calculate the distance between several tensors in nD? As far as I can see there is no component for that straight away. If scripting is the only way I will go that way, but just wanted to check first in here.

Thanks in advance.


Members (145)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service