Lower Level api
See original GitHub issueHi i want to use BrightWire to implement the following simple interface.
The problem is that the library is very strongly coupled with data source.
interface IBaseTrainableProbabilisticMulticategoryModel
{
//Construct with NumClasses and NumFeatures
int[] NumClasses { get; }
int NumFeatures { get; }
/// <summary>
/// Train a batch
/// </summary>
/// <param name="batchData"> [N,numfeatures]</param>
/// <param name="batchLabels"> [N,subclasses] = clas id</param>
/// <param name="weights"> [N,subclasses] = weight for subclass. used to balance classes. weights each data point contribution to the loss for each subclass</param>
/// <returns>Loss</returns>
float Train(float[][] batchData, int[][] batchLabels, float[][] weights);
/// <summary>
/// predict a batch
/// </summary>
/// <returns>[subclasses,N,probability distribution]</returns>
float[][][] Predict(float[][] batchData);
}
Is there a lower level api where i can implement a feed forward neural network model , that holds its state(weights) , can be serializable , and is always ready for training and prediction.
This is easily achievable with CNTK and Tenroflow. Their problem is that they only suppoort 64 bit.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (4 by maintainers)
Top Results From Across the Web
What is the difference between a high-level and low- ...
And a low-level API is a very close-to-the-metal API that is more verbose so to speak or more complicated. I had it backwards...
Read more >The different types of APIs - Linx
Low -level APIs are much more detailed and specific due to a low level of abstraction. Low-level APIs allow for finer control over...
Read more >Low-Level vs High-Level API Solutions for Shopping Cart ...
Well-elaborated low-level APIs are more powerful and detailed, though more intricate in use. They are meant for vendors with experienced ...
Read more >Low-Level API Architecture
The low-level API is the collection of basic classes that implement SNMP according to v1, v2c, and v3 standards. The low-level API consists...
Read more >Lower Level APIs Overview
Learnosity does have certain lower level APIs, which are APIs that are used as part of the Author, Items and Reports APIs, providing...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I see your point - the current design is that everything is created through indirection and the classes themselves are not public from the assembly. The drawback of this is that the usage is less obvious.
For example in BrightWire.Net4 you create a data table builder like this:
In BrightWire (,net core) you do it like this:
BrightWire (.net core) is a more consistent in that everything is available through the context, which acts as an extension point via extension methods in other assemblies. I suppose this approach is one of framework rather than library, but perhaps the better design is to be both.
Ok, I found out how it works, thank you very much! Here it is with BrightWire.Net4 in VB .NET: