jabacat / jml Goto Github PK
View Code? Open in Web Editor NEWJABACAT-created machine learning library from scratch.
JABACAT-created machine learning library from scratch.
Preferable: use CMake to create a single object file, or similar. The problem is that (obviously) there's no main function in the library, so we need to build to an object file instead of to an executable. Update scripts/build.sh
for this, once PR #9 has been merged.
We would like to randomly set the initial matrix weights and bias vectors.
We need some way to load data formats, such as CSV, Apache Parquet, HDF. There's libraries for these in C++, but I'm not sure how well they integrate. I don't know if there's a ubiquitous data science data library like pandas for C++, which might be preferable to use.
Assign yourself to this issue if you'd be interested in helping
Right now, when a vector is disposed of through the C API, its slots in the vectors
array just keeps wasting memory.
We want it to be the case that when a new vector is made, it takes up the first free spot in the array if there is any and only extends the array if it needs to.
This is a minor one, to be completed after #3 is merged.
Waiting on #18.
We should be able to see the performance of the neural network on its training data. To that end, we need a function to show the neural network average loss over the testing data, using the mean squared error at first.
This is to implement the functions get_input_size
, get_output_size
, set_input_size
, set_output_size
,and is_specified
.
As per the API document:
get_input_size
Scope: jml::Model::
Arguments:
Expected constraints:
Returns:
unsigned
Description:
This function queries the input size for a model.
get_output_size
Scope: jml::Model::
Arguments:
Expected constraints:
Returns:
unsigned
Description:
This function queries the output size for a model.
set_input_size
Scope: jml::Model::
Arguments:
unsigned size
Expected constraints:
size > 0
Returns: void
Description:
This function sets the input size for a model. This function errors if the model already has attached layers or training data.
set_output_size
Scope: jml::Model::
Arguments:
unsigned size
Expected constraints:
size > 0
Returns: void
Description:
This function sets the output size for a model. This function errors if the model already has attached layers or training data.
is_specified
Scope: jml::Model::
Arguments:
Expected constraints:
Returns:
bool
Description:
This function queries whether a given model is fully specified, and ready to be given training data and layers. This should return true
if input and output size have been specified, and false
otherwise.
We need to add layers to matrices and make an implementation for the "apply" function. Could anyone do this by Wednesday?
Do this after #33. Add more loss functions than just mean squared error.
Correct activation functions
Make a graph of each function and display it
Use this thread to discuss how we want to design the multithreading capabilities. Thread pool? API choices? Etc
The current build and test workflow that I wrote is broken in a few regards.
Because of course it is. See here. This seems like a real mess to fix (having to add this weird compiler internal attribute to every symbol).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.