Shape Checking
One of the challenges that developers face when building AI models is to make sure that the shapes that flow from different parts of their networks match on both ends, otherwise errors can be introduced in the computation.
Typically developers either get runtime errors in the best case scenarios, or just meaningless results in the worst case scenarios, and it can consume a lot of time to spot those problems.
To address this problem, Don Syme prototyped a dynamic type checker for F# in Visual Studio. To an end-user this feels like Intellisense, but for tensor shapes. Under the hood, this integrates deeply with TensorFlow (or other frameworks) to dynamically extract shapes as they are being computed.
We propose to bring this shape checking to C# as well.
This shows how this works for the simplest type (click on link for video):

And this example shows it in action with a DNN (click on link for video):

Shape Checking
One of the challenges that developers face when building AI models is to make sure that the shapes that flow from different parts of their networks match on both ends, otherwise errors can be introduced in the computation.
Typically developers either get runtime errors in the best case scenarios, or just meaningless results in the worst case scenarios, and it can consume a lot of time to spot those problems.
To address this problem, Don Syme prototyped a dynamic type checker for F# in Visual Studio. To an end-user this feels like Intellisense, but for tensor shapes. Under the hood, this integrates deeply with TensorFlow (or other frameworks) to dynamically extract shapes as they are being computed.
We propose to bring this shape checking to C# as well.
This shows how this works for the simplest type (click on link for video):
And this example shows it in action with a DNN (click on link for video):
