jason-whitmore / jpf Goto Github PK
View Code? Open in Web Editor NEWJPF is a machine learning project that implements various parameterized functions using native Java code with no external dependencies.
JPF is a machine learning project that implements various parameterized functions using native Java code with no external dependencies.
Should separate out the project into separate folders:
-root
-jpf: the package source code
-docs: The markdown doc files
-makefile: include functions of creating the jar file, running examples, running tests
-Examples.java
-Tests.java
Much of this may require some create use of the makefile to help make the examples and tests run smoothly
-Include a "core" summary (Just the Model hierarchy)
-Include a "total" summary using most of the classes
-Include an Optimizer summary
-Include a Layer Summary
Something simple would work for the name "JPF"
-Should include an overfitting example to illustrate changing the degree variable
Readme.md:
-Remove redundant "easy" in main docs "easily testable, extendable, as well as easy...." (Complete)
-Explain why Tensorflow/Keras were enjoyable to use, and how it inspired this project. (Complete)
-Get rid of "Important documentation" and just have "Documentation" since all docs are important and also that list contains all of the markdown doc files anyway (other than the readme) (Complete)
-Change the subsection titles of the "how to run" section to line up with earlier reference to those sections (Complete).
-Change the design section to mention that the diagram is only a small part of the entire design BEFORE the image to prevent confusion. (Complete)
-Add started/last commit dates to help show the effort which this project was created with (Complete)
UML diagrams:
-Possibly improve readability with comments/text explaining what the classes/connections are.
Include examples for the NeuralNetwork class. Ideas:
-Fitting f(x)=x^2 and measuring progress on each iteration. (Save/Load model) (Complete)
-Fitting f(x)=x^2 on different sized models, demonstrate overfitting (Complete)
-Construct a resnet and fit on the saddle function f(x, y) = x^2-y^2 (Save/Load model, demonstrate advantages of resnet) (Complete)
-Some binary classification task on generated dataset (Complete)
-Multi class classification task on generated dataset (Complete)
-Multi input/output example (Complete)
-Should mention the computational graph structure (example of the nncomplex model)
-Describe the predict() and calculateGradient() implementation
-Describe constraints (no cycles)
Or IllegalArgumentException. Check online for debates between the two
Idea: throw a AssertError(text) when a parameter is bad which should crash the program (no way to fix via exception catching.
-Describe the layer as the "building block" of the neural network.
-Demonstrate the "connections" system between input and output layers.
Tests for:
-Utility (complete)
-LinearAlgebra (Complete)
The standard javadoc style of documentation should be good at explaining what's happening in the classes, constructors, and methods. These should be completed for most .java files.
Checklist:
-ActivationFunction (Complete)
-Add (Complete)
-CrossEntropy (Complete)
-CSVWriter (Complete)
-Dense (Complete)
-Examples
-Input (Complete)
-Layer (Complete)
-LeakyReLU (Complete)
-LinearAlgebra
-Linear (Complete)
-LinearModel (Complete)
-Loss (Complete)
-Model (Complete)
-MSE (Complete)
-NeuralNetwork (Complete)
-Optimizer (Complete)
-PolynomialModel (Complete)
-RMSProp (Complete)
-SGD (Complete)
-Sigmoid (Complete)
-SimpleModel (Complete)
-SoftmaxLayer (Complete)
-Tanh (Complete)
-Utility (Complete)
Should include sections:
-Introduction
-Motivation
-Overview
-Design
-Examples
-Tests
-Future work
All md files:
In addition to the example class, there should be a markdown file for all of the examples that describes what each example does, possibly with screenshots
Change the add row method to use multiple variable count Strings rather than String arrays to make it easier for users to add rows to the csv row buffer.
Rewrite/comment code to make it more understandable.
Most of the functionality in the NeuralNetwork class is complete, but there are a few concrete things that must be finished before documentation can be written:
-Loss functions (avg scalar vs scalar on each output vector)
-Saving/Loading models properly
-Converting interface to use arrays instead of lists for brevity
-Proper constructor usage, especially when using super constructors.
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.