TheaNet is an optimized library for deep learning models written in C# and developed at Proxem. The library is inspired by python's theano library and offers similar possibilities. Automatic gradient differentiation allows to create complex models and run them with simple commands with all the backpropagation being taken care of by the library. TheaNet generates readable code in C# with the possibility to step in the generated code and debug it.
TheaNet is developed in .Net standard 2.0 and is compatible with both .Net Framework and .Net Core thus running on any platform.
TheaNet is integrated with our NumNet and BlasNet libraries and require both libraries to work.
We provide a Nuget Package of TheaNet to facilitate its use. It's available on Nuget.org. Symbols are also available to facilitate debugging inside the package.
This section illustrates how you can create a function, compute its gradient and step into the generated code
Start with the following using:
using static Proxem.TheaNet.Op;
Define a scalar variable named "x"
Define a symbolic function "Sqr"
Inspect "Sqr" by hovering the cursor over the variable.
Define a new symbolic function "g" as the gradient of "Sqr" with respect to "x"
Inspect "g" by hovering the cursor over the variable
Build a lambda expression "f" by compiling "g"
Press "F11" and step into the compiled function
Return to the caller and check the result
This is not an official Proxem product.
If you can't make TheaNet work on your computer or if you have any tracks of improvement drop us an e-mail at one of the following address:
TheaNet is Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.