Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Fixes for before class #581

Merged
merged 6 commits into from
Sep 25, 2019
Merged

Conversation

shiffman
Copy link
Member

Saying little now because I am deep in this to get ready for class, but we can review after!

shiffman added a commit to ml5js/ml5-examples that referenced this pull request Sep 25, 2019
]
} else {
modelFitCallbacks = []
modelFitCallbacks = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah cool! Thanks for catching this!

@@ -556,7 +556,7 @@ class NeuralNetwork {
results.tensor = ys;
} else {
results = {
value: await ys.data(),
values: await ys.data(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes this is also something to address what we call the outputs of the model.
Just some ideas in addition to the above:

  • values
  • outputs
  • data
  • classifications/guesses
  • estimations

I think estimations is interesting in that it relates to things like "pose estimation".

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I picked value originally as it matches the Feature Extractor, but then I realized (a) it's an array and (b) should be one b/c you can have more than one output. I guess in our image regression example we only allowed one output?

https://github.com/ml5js/ml5-examples/blob/release/p5js/FeatureExtractor/FeatureExtractor_Image_Regression/sketch.js#L86

I like outputs since it is very literal, I think estimation might not fit for all scenarios as it means something more specific? The simplest thing right now would be to go with values and update the image feature extractor regression to match with an array? Not sure at all!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, cool. Let's stick to outputs then. It definitely is the most literal!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will update the examples!

joeyklee and others added 4 commits September 25, 2019 14:03
@joeyklee joeyklee merged commit 64b7ffd into generic-neural-network Sep 25, 2019
@joeyklee
Copy link
Contributor

@shiffman - merged!

@joeyklee joeyklee deleted the shiffman-lastminute branch September 25, 2019 19:34
joeyklee added a commit that referenced this pull request Oct 8, 2019
* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs
joeyklee added a commit that referenced this pull request Oct 8, 2019
* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch
shiffman added a commit that referenced this pull request Oct 11, 2019
* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models
joeyklee pushed a commit to ml5js/ml5-examples that referenced this pull request Oct 11, 2019
* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example
joeyklee added a commit that referenced this pull request Oct 15, 2019
* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* updates docs on loading model and adds contributors

* updates neural network docs with .load docs

* fix paths in examples

* adds nn src and adds placeholder
joeyklee added a commit that referenced this pull request Oct 17, 2019
* Updates dev with release and Removes /dist from past commits and future dev (#479)

* Remove unnecessary tf.tidy call

* Implement (err, value) callback style, add test for LSTMGenerator

* Callbackify Mobilenet.classify and Mobilenet.regressor

* Add events dep

* add travis.yml

* remove circleci

* removing test script

* removing package-lock.json

* update yarn.lock

* set up browserstack

* snapshot

* yarn test-travis from .travis.yml

* chmod +x trest-travis

* shebang

* bs launcher

* access key

* add a log

* kick travis

* snapshot

* change browserstack env names

* Added Browserstack badge

* Resolve https://github.com/ml5js/ml5-library/pull/151#discussion_r196475143

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196484426

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196517984

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196518890

* Add license to callCallback, return this from ImageClassifier#loadModel

* Add mocha reporter back, try to make classes thenable

* Update karma configuration

- Fixes a weird bug where tensors were spuriously disposed by tfjs in testing environment due to there being multiple tfjs instances present on the page from the different builds
- Improves stack traces to make debugging easier by disabling minification in karma webpack.
- Only webpack the main package, this means that the test files have to use the global ml5 object.

* Add tests for Word2Vec

- validates that there are no leaked tensors
- validates basic functionality of nearest
- validates that add, subtract and average return things

- Fixes memory leaks in add, subtract, average, and addOrSubtract functions
- Adds a general dispose to the Word2Vec class

* Remove console.log

* Add an easy way to run test suite once

* Handle rejected promises

* fix eslint errors in lstm and w2v

* Support for callbacks in word2vec and fix tests.
Moved the YOLO weights to the examples repo.
Fix eslint in some files

* Add tests to imageclassifier
fix video issue in imageclassifier

* - Add test for YOLO
- Add test for Imageclassifier
- Resize img if necessary in utils

* - Add license to test files
- Style transfer test
- remove .test file in posenet

* - Update poseNet version to 0.1.3
- Add posnet test

* test commit

* - Fix issues in imageclassifier

* - update pitch detection to #158
- fix event emmiter in posenet
- fix constructor in yolo
- async video util

* temp fix to test leak

* Fix posenet on video ready

* refactor pix2pix to support promises

* support promise when create a new styletransfer method

* bump to version 0.1.0

* bump to 0.1.1

* update readme

* clarification and formatting changes to ensure steps are easy to follow

* ImageClassifier: predict: handle unsupported input

* add proper attributions for models

* Update index.js

* fix eslint for links

* Update index.js

* Update index.js

* Update index.js

* Update README.md (#207)

* Support canvas elements and canvases from p5.js in ImageClassifier (#206)

* Bugfix: PitchDetection returning the wrong pitch (#187)

When converted to the current syntax, the operation was the wrong way around.
See https://github.com/marl/crepe/blob/gh-pages/crepe.js#L141 for the original.

*  fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video) (#191)

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with v

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video

* added darknet reference and darknet tiny classifiers (#201)

* added darknet reference and darknet tiny classifiers

* fixed linting stuff

* edits..

* edits2.0

* clean comments

* SketchRNN  (#189)

* init sketchrnn

* strokes

* add models

* stylefixes

* some more bugfixes

* comments

* update dependencies

* Load and save a custom model created with FeatureExtractor  (#219)

* load and save feature extractor model

* update learning rate

* add string an callback

* KNN Classifier (#171)

* added KNNClassifier class, and getFeatures method in ImageClassifier

* added knnclassifer.loaddataset, and savedataset from/as json file

* added featureExtractor.infer() to take in p5 videoelement

* support callback, and add 'label' for each class

* added getClassExampleCountByLabel, support label when save/load dataset

* update function naming, predictClass to classify, classLabel to label

* updates to way of handling strokes (#228)

* Fixing up SketchRNN (#232)

* Code of Conduct (#225)

Just noticing we don't have a code of conduct so adding to the main library repo (we can discuss whether we should put this across all repos -- probably, yes?) This is the [Contributor Covenant](https://www.contributor-covenant.org/).

* saving feature extrctor model with ml5Specs (#233)

* Stateful LSTM (#234)

* allow passing in of lstm state c and h. return more lstm info (c, h, probabilities)

* fix LSTM Stateful ness and other tweaks

* LSTM probabilities class property

* remove weird ind<100 check

* remove unnessecary initCells

* add LSTM methods state getter, setter and reset

* rename to charRNN and update stateful to match discussed api

* add callback to feed

* fix bug in predict

* adding new probabilites object

* new build

* Additional arguments option for SketchRNN (#237)

* Fixing up SketchRNN

* arguments fix for SketchRNN interactive

* adding build

* update version

* KNN update (#256)

* let knn.addExample() and classify() accept a plain array as input

* simplify and shorten knn api function names

* rename a variable in clearlabel()

* knn.save checks if file name has .json

* remove timestamp in the filename for .save()

* update package-loack to fix travis test on node 10

* update yarn lock

* fix - adds callback support for single functions in posenet re: #244 (#254)

* fix(adds callback support for single functions in posenet https://github.com/ml5js/ml5-library/issue

adds callback support for single functions in posenet
https://github.com/ml5js/ml5-library/issues/244

https://github.com/ml5js/ml5-library/issues/244

* rm package-lock.json

* fix(PoseNet/index.js): Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244

Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244 & updated callback error
handling

#244

* rm error check when returning callback in posenet singlePose & multiPose

* fixed indentation

* temp rm cb function

* added cb function back in

* added yarn and package lock

* added lock files from ml5 master

* updating to version 0.2.0 (#264)

* V0.2.1 Tagged Release (#267)

* updating to version 0.2.0

* run build process and built lib

* Release v0.2.1 - npm publish issue

* added github issue template (#275)

* add different ways of including ml5js on the HTML header (#268)

(We will follow up and update the version to the latest which is v0.2.1)

* updated readme specifying versions for lib (#282)

* fix: Use Blobs to save files of larger sizes (#271)

* fix: Use Blobs to save files of larger sizes

fix #270

* use saveBlob() to save knn models, delete io.saveFile(), because saveBlob does the same thing and can handle big files

* Show the version number of the library. (#283)

Adds the library version from the package.json for each build.

* fix issue that server fails to listen dev folder (#287)

*     feat(KNNClassifier): Add loadData() that enables user to load dat… (#279)

*     feat(KNNClassifier): Add loadData() that enables user to load dataset from raw data instead of file

    With load(), file path needs to be provided to load dataset. This means that JSON file that has
    dataset needs to be located on the server. You can give a way to download dataset using save(), but
    you cannot give a way to upload that file and load the dataset. This commit adds loadData() that
    enables user to load dataset from raw data. By combining this method and <INPUT type="file"> tag,
    you can give a way for user to upload dataset file.

* Merge load(path, callback) and loadData(data, callback) into load(pathOrJson, callback).

* Merge load() and loadData() in a cleaner way without using Symbol.

Ref. https://github.com/ml5js/ml5-library/pull/279#issuecomment-465890231

* feat(src/PoseNet/index.js): Ability to access parts of pose by name.

Now can simply do pose.nose.x or pose.nose.confidence. Using original PoseNet naming scheme (i.e.
rightShoulder).

re #245

* Update ImageClassifier and FeatureExtractor to return [{label, confidence}] (#292)

* change imageClassifier.predict() to classify(), keep predict until later version

* update imageclassifier.classify results to [{label: .., confidence: ..}]

* update featureExtractor regressor return {value: 0-1}

* update featureextractor.classify to return [{label, confidence}]

* Support p5 preload with ml5 functions (#288)

* support p5 preload with ml5 functions

* make withPreload object clean

* an automatic script to initialize experiments dir (#295)

* an alternative way to test with experiments dir

* revert change for webpack.dev

* Change experiments to manual-test

* rename folder to manual-test

* update .gitignore

* patch style transfer for non-square and canvas-derived inputs (#311)

* fix preload bugs (#305)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* Release v0.2.2 🎉 (#331)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* added latest v0.2.2

* Some minor README adjustments (#334)

* I am de-emphasizing `@latest` as in my experience this can lead to confusion.
* I don't think my name needs to be referenced!

* V0.2.3 (#341)

* ran npm install, added new package json version, and built dist

* updated package lock

* updated package lock and ran build

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* added ml5.imageClassifier(doodleNet)

* doodlenet: transfer input img to black white image

* warm up model, comments

* added ml5.soundClassifier(speech-command)

* Revert "added ml5.soundClassifier(speech-command)"

This reverts commit 317c146450d65aa1ad9f1ef67bf912a792b0d8a0.

* update darknet link to use jsdelivr instead (#391)

* changed cdn link to doodlenet model (#390)

* adding ml5.soundClassifier(speech-commands) (#389)

* added ml5.soundClassifier(speech-commands)

* not require fs node module for testing

* Reuse getTopKClasses in doodlenet, darkneet and speech-commands

* fix: getTopKClasses return className and probability

* DCGAN refactor + preload (#398)

* restructure dcgan to accept path to manifest.json

* added check for absolute or relative url path

* rm console.log

* added DEFAULT if modelPath is null or undefined in jsonLoader

* use async/await in loadModel

* add dcgan to preload

* fixed breaking change

* updated index

* added modelReady prop

* shows preload working without additional async call to load manifest

* allows for preload

* added a bird image for testing purpose

* update bird image link from ml5-library for testing (#403)

* renaming model names to ml5.soundClassifier(SpeechCommands18w) (#404)

* ml5.featureExtractor loading models from the new teachable machine (#395)

* load model from new teachable machine

* featureExtractor use jointModel

* only train custom model but save the joint model

* Bodypix (#400)

* added BodyPix placeholder

* "@tensorflow-models/body-pix": "1.0.1",

* initial commit placeholder for bodypix

* added bodypix as bp and loadModel()

* added segment and segmentInternal

* change promise to async

* return result maskPerson and maskBackground

* adds part segmentation

* rm log

* add segmentation as result.raw

* add function to create bodyParts spec object

* added test

* added optional segmentationOptions param to segment() and segmentWithParts()

* added package.lock

* updated DEFAULTS to BODYPIX_DEFAULTS

* code cleanup

* added comments

* added jsdoc comments

* add check p5 color()

* updated bodyPartSpec image color handling for p5

* changed palette spec to object

* ml5.imageClassifier() loads pre-trained custom model (#408)

* imageClassifier load a model from url

* added options to local model from local files

* supports imageClassifier.classify(video)

* ml5.soundClassifier(url)

* docs: add shiffman as a contributor (#410)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#414)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* rm files to start fresh (#417)

* docs: add shiffman as a contributor (#418)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#419)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add yining1023 as a contributor (#421)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add handav as a contributor (#423)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add joeyklee as a contributor (#424)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AshleyJaneLewis as a contributor (#425)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add ellennickles as a contributor (#426)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add itayniv as a contributor (#427)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nikitahuggins as a contributor (#428)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AbolTaabol as a contributor (#429)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AidanNelson as a contributor (#430)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add WenheLI as a contributor (#431)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add dariusk as a contributor (#432)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Derek-Wds as a contributor (#433)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add garym140 as a contributor (#434)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add genekogan as a contributor (#435)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hhayley as a contributor (#436)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lisajamhoury as a contributor (#437)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add matamalaortiz as a contributor (#438)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add mayaman as a contributor (#439)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MimiOnuoha as a contributor (#440)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add NHibiki as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add oveddan as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add stephkoltun as a contributor (#443)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add viztopia as a contributor (#444)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add wenqili as a contributor (#446)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add brondle as a contributor (#447)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Jonarod as a contributor (#448)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add JazzTap as a contributor (#449)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add zaidalyafeai as a contributor (#450)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AlcaDesign as a contributor (#451)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add memo as a contributor (#452)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add TheHidden1 as a contributor (#453)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add meiamsome as a contributor (#454)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add marshalhayes as a contributor (#455)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add reiinakano as a contributor (#456)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nsthorat as a contributor (#457)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add irealva as a contributor (#458)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add vndrewlee as a contributor (#459)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add fjcamillo as a contributor (#460)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add achimkoh as a contributor (#461)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hx2A as a contributor (#462)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add champierre as a contributor (#465)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add micuat as a contributor (#466)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add montoyamoraga as a contributor (#467)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add b2renger as a contributor (#468)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add adityaas26 as a contributor (#469)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add okuna291 as a contributor (#470)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xujenna as a contributor (#471)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nicoleflloyd as a contributor (#472)

* docs: update README.md

* docs: update .all-contributorsrc

* updated package-lock

* pass vector to dcgan compute

* Adds face-api.js to ml5.js (#482)

* initial commit - add classifyExpressions

* added classifyExpressionsMultiple() and classifyExpressionsSingle()

* remove modelPath requirement in favor of defaults

* updated index with links to tiny landmarks

* adds option to add relative path or absolute url

* updated url checking for models

* changed function names

* updated functions to .detect() and .detectSingle()

* check undefined, otherwise assign

* added resize function to results by default

* code cleanup

* added test to faceapi

* added tests

* added face parts to result.parts

* code cleanup

* changed options from withFaceX to withX

* code cleanup

* code cleanup

* fixed conditional to include face .withFaceDescriptor(s)

* docs: add jepster-dk as a contributor (#489)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xanderjakeq as a contributor (#490)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add catarak as a contributor (#491)

* docs: update README.md

* docs: update .all-contributorsrc

* [WIP]Change p5Utils into a class

* dcgan: use random vector if no latent vector is given

* dcgan check if arg is array

* updated code of conduct with adapted p5 community statement (#492)

* updated code of conduct with adapted p5 community statement

* Update CODE_OF_CONDUCT.md

rm coding train from donation // todo - add other relevant orgs next

Co-Authored-By: Daniel Shiffman <[email protected]>

* updated enforcement with ashley and dan

* rm redundant all contributors badge (#497)

* Readme updates (#505)

* added package.lock

* updates links to latest website

* rm 'with no external deps'

* set correct url to image (#507)

* docs: add dcbriccetti as a contributor (#506)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Sblob1 as a contributor (#513)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* Fu

* add command line arguments for testing single model

* Handling p5 Image in PoseNet singlePose

I have changed singlePose function in order to handle p5 Image types. 

However I'm not sure if the check is thorough enough. Any pointers are welcome.

* Adds ImageData support for all image handling functions (#525)

* added ImageData support to YOLO

* adds ImageData support to UNET

* adds ImageData support to StyleTransfer

* adds ImageData support to PoseNet

* adds ImageData support for ImageClassifier/darknet

* adds ImageData support for ImageClassifier/doodlenet

* adds ImageData support for BodyPix and cleans up conditionals

* adds ImageData support to faceApi and cleans up conditionals

* adds ImageData support for imageclassifier and cleans up conditional

* fix image handling for bodypix faceapi and imageclassifier

* update mobilenet imageData support

* check imagedata in yolo

* adds ImageData test to BodyPix

* adds check for canvas (#526)

* Fixes Posenet input arguments and related issues (#529)

* adds this.multiPose() to else{}

* fixes conditional check on object or string

* added kmeans

* added randomSample function

* re-ordered name placement

* fixed weird indentation error

* indentation

* removed optional keyword in docstring

* updates issue and pull request templates (#530)

* Created config class attribute to store instance params

* Adds release script helper (#534)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* Adds release script helper (#535)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* adds tagging to release:publish

* fixes typo

* added test to kmeans (#536)

* docs: add jwilber as a contributor (#537)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add tezzutezzu as a contributor (#538)

* docs: update README.md

* docs: update .all-contributorsrc

* Update Contributing and Github docs (#539)

* updated issue template:

* update PR template

* added new release how to

* docs: add EmmaGoodliffe as a contributor (#545)

* docs: update README.md

* docs: update .all-contributorsrc

* Update tfjs ~v1.2.2 (#544)

* updated tfjs to 1.2.2 and bumped face-api to 0.20.1

* bump tensorflow models

* bump body-pix version

* adds version 2 to feature extractor

* updated to mobilenetv2 api

* updates to posenet 2 api

* always process and resize images in mobilenet

* update test with version 2

* update posenet inputs and test

* fix issue with params in posenet

* updates conditional in p5Utils

* add loadImage test (#549)

* Update npm helper scripts for making releases (#552)

* updating release process scripts and docs

* updated release proces npm scripts and docs

* added release:sync and developement:sync"
"

* set fe to mobilenet v1 - use layers model (#554)

* Adds Docsify to consolidate documentation (#556)

* add docsify-cli as dev dep

* adds docs structure for docsify

* adds bodyPix documentation example

* update bodypix documentation

* adds imageClassifer docs

* added styleguide template and updated docs

* changed name of reference template

* added dev guidelines

* update dev guidelines

* adds posenet docs

* adds tutorials and faq

* add dev:docs npm script

* adds char rnn to docs

* Adds documentation for references to docsify docs (#557)

* add note on all contributors bot

* adds faceapi header img"

* adds design guidelines

* adds design guidelines to sidebar

* adds section for p5 web editor examples

* adds cvae refs

* update bodypix and charrnn docs

* added dcgan docs

* adds pitch detection docs

* adds featureExtractor docs

* adds knn classifier

* update tutorial refs

* adds pix2pix doc

* adds sentiment docs

* adds sketchrnn ref

* adds sound classifier

* adds styletransfer docs

* adds unet docs

* adds word2vec docs

* adds yolo docs

* adds acknowledgements section

* adds acknowledgements section

* Fixes Doodlenet - set new axes and .floor() (#559)

* change split axis to 3 axes

* use floor() instead of round()

* adds options for detection confidence (#561)

* Adds labels to custom image classification model from Teachable Machine output

* Addressing issue #590 part 1 (#592)
>The saved labels from Teachable Machine should be loaded by ml5. I believe this is working for sound classification, but not for images.

Fetching labels from metadata.json when loading models from the new Teachable Machine.

* docs: add EonYang as a contributor (#593)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lydiajessup as a contributor (#594)

* docs: update README.md

* docs: update .all-contributorsrc

* set alias for sidebar (#598)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* [Docs] Uses gh-pages to serve docsify docs (#599)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* adds header nav to docs

* updates alt text and image url

* adds getting started url

* adds reference index

* updates href to reference in nav (#601)

* [face-api] Removes expressions support from face-api in ml5.js (#602)

* rm faceapi expressions support

* rm expression ref in comment

* updates tests for faceapi

* fixes single detection and tests

* Update docs (#603)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* Revert "Update docs (#603)" (#604)

This reverts commit c6b78d0a7aedc7050a095386ad88300d91a761b2.

* Updates docsify docs (#605)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch

* moves bodyPix to support preload() (#610)

* Adds preload support to faceApi  (#611)

* moves bodyPix to support preload()

* adds faceapi to preload

* Updates Docs with latest features (#612)

* adds face-api updates and neural network docs updates

* adds docs for nn functions

* adds save and load docs

* adds neural Network documentation

* fixes backticks

* adds sidebar dividers

* adds docs on model loading and contributors (#616)

* Updates gh templates (#617)

* updates PR template

* updates gh issues template

* updates template

* Generic Neural Network class (#485)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models

* allows user to add video to .segment() and .segmentWithParts() (#619)

* updates unet docs (#620)

* adds basic test for defaults (#621)

* docs: add EmmaGoodliffe as a contributor (#622)

* docs: update README.md

* docs: update .all-contributorsrc

* adds fix for unet image return for p5 (#625)

* updates webpack dev server to 3.1.11 (#629)

* Fixes vulnerabilities noted by npm (#630)

* run npm audit fix

* bumps commitizen dep

* updated readme and readme updater (#632)

* Update NeuralNetwork docs (#631)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

…
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Oct 17, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Oct 24, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0

* sets localhost

* Revising Teachable Machine Snippets (#218)

* matching proposed TM snippets for image classification

* sound example and refactoring to new TM folder

* changing name to include URL

* fix typo

* adds flipped video (#219)

* bumps version

* updates ml5 version ref

* updates example index

* adds merge release accept all our changes
joeyklee added a commit that referenced this pull request Nov 4, 2019
…ch (#676)

* ml5 release v0.4.0 (#640)

* Updates dev with release and Removes /dist from past commits and future dev (#479)

* Remove unnecessary tf.tidy call

* Implement (err, value) callback style, add test for LSTMGenerator

* Callbackify Mobilenet.classify and Mobilenet.regressor

* Add events dep

* add travis.yml

* remove circleci

* removing test script

* removing package-lock.json

* update yarn.lock

* set up browserstack

* snapshot

* yarn test-travis from .travis.yml

* chmod +x trest-travis

* shebang

* bs launcher

* access key

* add a log

* kick travis

* snapshot

* change browserstack env names

* Added Browserstack badge

* Resolve https://github.com/ml5js/ml5-library/pull/151#discussion_r196475143

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196484426

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196517984

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196518890

* Add license to callCallback, return this from ImageClassifier#loadModel

* Add mocha reporter back, try to make classes thenable

* Update karma configuration

- Fixes a weird bug where tensors were spuriously disposed by tfjs in testing environment due to there being multiple tfjs instances present on the page from the different builds
- Improves stack traces to make debugging easier by disabling minification in karma webpack.
- Only webpack the main package, this means that the test files have to use the global ml5 object.

* Add tests for Word2Vec

- validates that there are no leaked tensors
- validates basic functionality of nearest
- validates that add, subtract and average return things

- Fixes memory leaks in add, subtract, average, and addOrSubtract functions
- Adds a general dispose to the Word2Vec class

* Remove console.log

* Add an easy way to run test suite once

* Handle rejected promises

* fix eslint errors in lstm and w2v

* Support for callbacks in word2vec and fix tests.
Moved the YOLO weights to the examples repo.
Fix eslint in some files

* Add tests to imageclassifier
fix video issue in imageclassifier

* - Add test for YOLO
- Add test for Imageclassifier
- Resize img if necessary in utils

* - Add license to test files
- Style transfer test
- remove .test file in posenet

* - Update poseNet version to 0.1.3
- Add posnet test

* test commit

* - Fix issues in imageclassifier

* - update pitch detection to #158
- fix event emmiter in posenet
- fix constructor in yolo
- async video util

* temp fix to test leak

* Fix posenet on video ready

* refactor pix2pix to support promises

* support promise when create a new styletransfer method

* bump to version 0.1.0

* bump to 0.1.1

* update readme

* clarification and formatting changes to ensure steps are easy to follow

* ImageClassifier: predict: handle unsupported input

* add proper attributions for models

* Update index.js

* fix eslint for links

* Update index.js

* Update index.js

* Update index.js

* Update README.md (#207)

* Support canvas elements and canvases from p5.js in ImageClassifier (#206)

* Bugfix: PitchDetection returning the wrong pitch (#187)

When converted to the current syntax, the operation was the wrong way around.
See https://github.com/marl/crepe/blob/gh-pages/crepe.js#L141 for the original.

*  fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video) (#191)

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with v

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video

* added darknet reference and darknet tiny classifiers (#201)

* added darknet reference and darknet tiny classifiers

* fixed linting stuff

* edits..

* edits2.0

* clean comments

* SketchRNN  (#189)

* init sketchrnn

* strokes

* add models

* stylefixes

* some more bugfixes

* comments

* update dependencies

* Load and save a custom model created with FeatureExtractor  (#219)

* load and save feature extractor model

* update learning rate

* add string an callback

* KNN Classifier (#171)

* added KNNClassifier class, and getFeatures method in ImageClassifier

* added knnclassifer.loaddataset, and savedataset from/as json file

* added featureExtractor.infer() to take in p5 videoelement

* support callback, and add 'label' for each class

* added getClassExampleCountByLabel, support label when save/load dataset

* update function naming, predictClass to classify, classLabel to label

* updates to way of handling strokes (#228)

* Fixing up SketchRNN (#232)

* Code of Conduct (#225)

Just noticing we don't have a code of conduct so adding to the main library repo (we can discuss whether we should put this across all repos -- probably, yes?) This is the [Contributor Covenant](https://www.contributor-covenant.org/).

* saving feature extrctor model with ml5Specs (#233)

* Stateful LSTM (#234)

* allow passing in of lstm state c and h. return more lstm info (c, h, probabilities)

* fix LSTM Stateful ness and other tweaks

* LSTM probabilities class property

* remove weird ind<100 check

* remove unnessecary initCells

* add LSTM methods state getter, setter and reset

* rename to charRNN and update stateful to match discussed api

* add callback to feed

* fix bug in predict

* adding new probabilites object

* new build

* Additional arguments option for SketchRNN (#237)

* Fixing up SketchRNN

* arguments fix for SketchRNN interactive

* adding build

* update version

* KNN update (#256)

* let knn.addExample() and classify() accept a plain array as input

* simplify and shorten knn api function names

* rename a variable in clearlabel()

* knn.save checks if file name has .json

* remove timestamp in the filename for .save()

* update package-loack to fix travis test on node 10

* update yarn lock

* fix - adds callback support for single functions in posenet re: #244 (#254)

* fix(adds callback support for single functions in posenet https://github.com/ml5js/ml5-library/issue

adds callback support for single functions in posenet
https://github.com/ml5js/ml5-library/issues/244

https://github.com/ml5js/ml5-library/issues/244

* rm package-lock.json

* fix(PoseNet/index.js): Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244

Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244 & updated callback error
handling

#244

* rm error check when returning callback in posenet singlePose & multiPose

* fixed indentation

* temp rm cb function

* added cb function back in

* added yarn and package lock

* added lock files from ml5 master

* updating to version 0.2.0 (#264)

* V0.2.1 Tagged Release (#267)

* updating to version 0.2.0

* run build process and built lib

* Release v0.2.1 - npm publish issue

* added github issue template (#275)

* add different ways of including ml5js on the HTML header (#268)

(We will follow up and update the version to the latest which is v0.2.1)

* updated readme specifying versions for lib (#282)

* fix: Use Blobs to save files of larger sizes (#271)

* fix: Use Blobs to save files of larger sizes

fix #270

* use saveBlob() to save knn models, delete io.saveFile(), because saveBlob does the same thing and can handle big files

* Show the version number of the library. (#283)

Adds the library version from the package.json for each build.

* fix issue that server fails to listen dev folder (#287)

*     feat(KNNClassifier): Add loadData() that enables user to load dat… (#279)

*     feat(KNNClassifier): Add loadData() that enables user to load dataset from raw data instead of file

    With load(), file path needs to be provided to load dataset. This means that JSON file that has
    dataset needs to be located on the server. You can give a way to download dataset using save(), but
    you cannot give a way to upload that file and load the dataset. This commit adds loadData() that
    enables user to load dataset from raw data. By combining this method and <INPUT type="file"> tag,
    you can give a way for user to upload dataset file.

* Merge load(path, callback) and loadData(data, callback) into load(pathOrJson, callback).

* Merge load() and loadData() in a cleaner way without using Symbol.

Ref. https://github.com/ml5js/ml5-library/pull/279#issuecomment-465890231

* feat(src/PoseNet/index.js): Ability to access parts of pose by name.

Now can simply do pose.nose.x or pose.nose.confidence. Using original PoseNet naming scheme (i.e.
rightShoulder).

re #245

* Update ImageClassifier and FeatureExtractor to return [{label, confidence}] (#292)

* change imageClassifier.predict() to classify(), keep predict until later version

* update imageclassifier.classify results to [{label: .., confidence: ..}]

* update featureExtractor regressor return {value: 0-1}

* update featureextractor.classify to return [{label, confidence}]

* Support p5 preload with ml5 functions (#288)

* support p5 preload with ml5 functions

* make withPreload object clean

* an automatic script to initialize experiments dir (#295)

* an alternative way to test with experiments dir

* revert change for webpack.dev

* Change experiments to manual-test

* rename folder to manual-test

* update .gitignore

* patch style transfer for non-square and canvas-derived inputs (#311)

* fix preload bugs (#305)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* Release v0.2.2 🎉 (#331)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* added latest v0.2.2

* Some minor README adjustments (#334)

* I am de-emphasizing `@latest` as in my experience this can lead to confusion.
* I don't think my name needs to be referenced!

* V0.2.3 (#341)

* ran npm install, added new package json version, and built dist

* updated package lock

* updated package lock and ran build

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* added ml5.imageClassifier(doodleNet)

* doodlenet: transfer input img to black white image

* warm up model, comments

* added ml5.soundClassifier(speech-command)

* Revert "added ml5.soundClassifier(speech-command)"

This reverts commit 317c146450d65aa1ad9f1ef67bf912a792b0d8a0.

* update darknet link to use jsdelivr instead (#391)

* changed cdn link to doodlenet model (#390)

* adding ml5.soundClassifier(speech-commands) (#389)

* added ml5.soundClassifier(speech-commands)

* not require fs node module for testing

* Reuse getTopKClasses in doodlenet, darkneet and speech-commands

* fix: getTopKClasses return className and probability

* DCGAN refactor + preload (#398)

* restructure dcgan to accept path to manifest.json

* added check for absolute or relative url path

* rm console.log

* added DEFAULT if modelPath is null or undefined in jsonLoader

* use async/await in loadModel

* add dcgan to preload

* fixed breaking change

* updated index

* added modelReady prop

* shows preload working without additional async call to load manifest

* allows for preload

* added a bird image for testing purpose

* update bird image link from ml5-library for testing (#403)

* renaming model names to ml5.soundClassifier(SpeechCommands18w) (#404)

* ml5.featureExtractor loading models from the new teachable machine (#395)

* load model from new teachable machine

* featureExtractor use jointModel

* only train custom model but save the joint model

* Bodypix (#400)

* added BodyPix placeholder

* "@tensorflow-models/body-pix": "1.0.1",

* initial commit placeholder for bodypix

* added bodypix as bp and loadModel()

* added segment and segmentInternal

* change promise to async

* return result maskPerson and maskBackground

* adds part segmentation

* rm log

* add segmentation as result.raw

* add function to create bodyParts spec object

* added test

* added optional segmentationOptions param to segment() and segmentWithParts()

* added package.lock

* updated DEFAULTS to BODYPIX_DEFAULTS

* code cleanup

* added comments

* added jsdoc comments

* add check p5 color()

* updated bodyPartSpec image color handling for p5

* changed palette spec to object

* ml5.imageClassifier() loads pre-trained custom model (#408)

* imageClassifier load a model from url

* added options to local model from local files

* supports imageClassifier.classify(video)

* ml5.soundClassifier(url)

* docs: add shiffman as a contributor (#410)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#414)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* rm files to start fresh (#417)

* docs: add shiffman as a contributor (#418)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#419)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add yining1023 as a contributor (#421)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add handav as a contributor (#423)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add joeyklee as a contributor (#424)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AshleyJaneLewis as a contributor (#425)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add ellennickles as a contributor (#426)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add itayniv as a contributor (#427)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nikitahuggins as a contributor (#428)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AbolTaabol as a contributor (#429)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AidanNelson as a contributor (#430)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add WenheLI as a contributor (#431)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add dariusk as a contributor (#432)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Derek-Wds as a contributor (#433)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add garym140 as a contributor (#434)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add genekogan as a contributor (#435)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hhayley as a contributor (#436)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lisajamhoury as a contributor (#437)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add matamalaortiz as a contributor (#438)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add mayaman as a contributor (#439)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MimiOnuoha as a contributor (#440)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add NHibiki as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add oveddan as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add stephkoltun as a contributor (#443)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add viztopia as a contributor (#444)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add wenqili as a contributor (#446)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add brondle as a contributor (#447)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Jonarod as a contributor (#448)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add JazzTap as a contributor (#449)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add zaidalyafeai as a contributor (#450)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AlcaDesign as a contributor (#451)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add memo as a contributor (#452)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add TheHidden1 as a contributor (#453)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add meiamsome as a contributor (#454)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add marshalhayes as a contributor (#455)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add reiinakano as a contributor (#456)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nsthorat as a contributor (#457)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add irealva as a contributor (#458)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add vndrewlee as a contributor (#459)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add fjcamillo as a contributor (#460)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add achimkoh as a contributor (#461)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hx2A as a contributor (#462)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add champierre as a contributor (#465)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add micuat as a contributor (#466)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add montoyamoraga as a contributor (#467)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add b2renger as a contributor (#468)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add adityaas26 as a contributor (#469)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add okuna291 as a contributor (#470)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xujenna as a contributor (#471)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nicoleflloyd as a contributor (#472)

* docs: update README.md

* docs: update .all-contributorsrc

* updated package-lock

* pass vector to dcgan compute

* Adds face-api.js to ml5.js (#482)

* initial commit - add classifyExpressions

* added classifyExpressionsMultiple() and classifyExpressionsSingle()

* remove modelPath requirement in favor of defaults

* updated index with links to tiny landmarks

* adds option to add relative path or absolute url

* updated url checking for models

* changed function names

* updated functions to .detect() and .detectSingle()

* check undefined, otherwise assign

* added resize function to results by default

* code cleanup

* added test to faceapi

* added tests

* added face parts to result.parts

* code cleanup

* changed options from withFaceX to withX

* code cleanup

* code cleanup

* fixed conditional to include face .withFaceDescriptor(s)

* docs: add jepster-dk as a contributor (#489)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xanderjakeq as a contributor (#490)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add catarak as a contributor (#491)

* docs: update README.md

* docs: update .all-contributorsrc

* [WIP]Change p5Utils into a class

* dcgan: use random vector if no latent vector is given

* dcgan check if arg is array

* updated code of conduct with adapted p5 community statement (#492)

* updated code of conduct with adapted p5 community statement

* Update CODE_OF_CONDUCT.md

rm coding train from donation // todo - add other relevant orgs next

Co-Authored-By: Daniel Shiffman <[email protected]>

* updated enforcement with ashley and dan

* rm redundant all contributors badge (#497)

* Readme updates (#505)

* added package.lock

* updates links to latest website

* rm 'with no external deps'

* set correct url to image (#507)

* docs: add dcbriccetti as a contributor (#506)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Sblob1 as a contributor (#513)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* Fu

* add command line arguments for testing single model

* Handling p5 Image in PoseNet singlePose

I have changed singlePose function in order to handle p5 Image types. 

However I'm not sure if the check is thorough enough. Any pointers are welcome.

* Adds ImageData support for all image handling functions (#525)

* added ImageData support to YOLO

* adds ImageData support to UNET

* adds ImageData support to StyleTransfer

* adds ImageData support to PoseNet

* adds ImageData support for ImageClassifier/darknet

* adds ImageData support for ImageClassifier/doodlenet

* adds ImageData support for BodyPix and cleans up conditionals

* adds ImageData support to faceApi and cleans up conditionals

* adds ImageData support for imageclassifier and cleans up conditional

* fix image handling for bodypix faceapi and imageclassifier

* update mobilenet imageData support

* check imagedata in yolo

* adds ImageData test to BodyPix

* adds check for canvas (#526)

* Fixes Posenet input arguments and related issues (#529)

* adds this.multiPose() to else{}

* fixes conditional check on object or string

* added kmeans

* added randomSample function

* re-ordered name placement

* fixed weird indentation error

* indentation

* removed optional keyword in docstring

* updates issue and pull request templates (#530)

* Created config class attribute to store instance params

* Adds release script helper (#534)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* Adds release script helper (#535)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* adds tagging to release:publish

* fixes typo

* added test to kmeans (#536)

* docs: add jwilber as a contributor (#537)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add tezzutezzu as a contributor (#538)

* docs: update README.md

* docs: update .all-contributorsrc

* Update Contributing and Github docs (#539)

* updated issue template:

* update PR template

* added new release how to

* docs: add EmmaGoodliffe as a contributor (#545)

* docs: update README.md

* docs: update .all-contributorsrc

* Update tfjs ~v1.2.2 (#544)

* updated tfjs to 1.2.2 and bumped face-api to 0.20.1

* bump tensorflow models

* bump body-pix version

* adds version 2 to feature extractor

* updated to mobilenetv2 api

* updates to posenet 2 api

* always process and resize images in mobilenet

* update test with version 2

* update posenet inputs and test

* fix issue with params in posenet

* updates conditional in p5Utils

* add loadImage test (#549)

* Update npm helper scripts for making releases (#552)

* updating release process scripts and docs

* updated release proces npm scripts and docs

* added release:sync and developement:sync"
"

* set fe to mobilenet v1 - use layers model (#554)

* Adds Docsify to consolidate documentation (#556)

* add docsify-cli as dev dep

* adds docs structure for docsify

* adds bodyPix documentation example

* update bodypix documentation

* adds imageClassifer docs

* added styleguide template and updated docs

* changed name of reference template

* added dev guidelines

* update dev guidelines

* adds posenet docs

* adds tutorials and faq

* add dev:docs npm script

* adds char rnn to docs

* Adds documentation for references to docsify docs (#557)

* add note on all contributors bot

* adds faceapi header img"

* adds design guidelines

* adds design guidelines to sidebar

* adds section for p5 web editor examples

* adds cvae refs

* update bodypix and charrnn docs

* added dcgan docs

* adds pitch detection docs

* adds featureExtractor docs

* adds knn classifier

* update tutorial refs

* adds pix2pix doc

* adds sentiment docs

* adds sketchrnn ref

* adds sound classifier

* adds styletransfer docs

* adds unet docs

* adds word2vec docs

* adds yolo docs

* adds acknowledgements section

* adds acknowledgements section

* Fixes Doodlenet - set new axes and .floor() (#559)

* change split axis to 3 axes

* use floor() instead of round()

* adds options for detection confidence (#561)

* Adds labels to custom image classification model from Teachable Machine output

* Addressing issue #590 part 1 (#592)
>The saved labels from Teachable Machine should be loaded by ml5. I believe this is working for sound classification, but not for images.

Fetching labels from metadata.json when loading models from the new Teachable Machine.

* docs: add EonYang as a contributor (#593)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lydiajessup as a contributor (#594)

* docs: update README.md

* docs: update .all-contributorsrc

* set alias for sidebar (#598)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* [Docs] Uses gh-pages to serve docsify docs (#599)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* adds header nav to docs

* updates alt text and image url

* adds getting started url

* adds reference index

* updates href to reference in nav (#601)

* [face-api] Removes expressions support from face-api in ml5.js (#602)

* rm faceapi expressions support

* rm expression ref in comment

* updates tests for faceapi

* fixes single detection and tests

* Update docs (#603)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* Revert "Update docs (#603)" (#604)

This reverts commit c6b78d0a7aedc7050a095386ad88300d91a761b2.

* Updates docsify docs (#605)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch

* moves bodyPix to support preload() (#610)

* Adds preload support to faceApi  (#611)

* moves bodyPix to support preload()

* adds faceapi to preload

* Updates Docs with latest features (#612)

* adds face-api updates and neural network docs updates

* adds docs for nn functions

* adds save and load docs

* adds neural Network documentation

* fixes backticks

* adds sidebar dividers

* adds docs on model loading and contributors (#616)

* Updates gh templates (#617)

* updates PR template

* updates gh issues template

* updates template

* Generic Neural Network class (#485)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models

* allows user to add video to .segment() and .segmentWithParts() (#619)

* updates unet docs (#620)

* adds basic test for defaults (#621)

* docs: add EmmaGoodliffe as a contributor (#622)

* docs: update README.md

* docs: update .all-contributorsrc

* adds fix for unet image return for p5 (#625)

* updates webpack dev server to 3.1.11 (#629)

* Fixes vulnerabilities noted by npm (#630)

* run npm audit fix

* bumps commitizen dep

* updated readme and readme updater (#632)

* Update NeuralNetwork docs (#631)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] …
joeyklee added a commit that referenced this pull request Nov 6, 2019
* [neural net fix] Merges neural net fix in release to development branch (#676)

* ml5 release v0.4.0 (#640)

* Updates dev with release and Removes /dist from past commits and future dev (#479)

* Remove unnecessary tf.tidy call

* Implement (err, value) callback style, add test for LSTMGenerator

* Callbackify Mobilenet.classify and Mobilenet.regressor

* Add events dep

* add travis.yml

* remove circleci

* removing test script

* removing package-lock.json

* update yarn.lock

* set up browserstack

* snapshot

* yarn test-travis from .travis.yml

* chmod +x trest-travis

* shebang

* bs launcher

* access key

* add a log

* kick travis

* snapshot

* change browserstack env names

* Added Browserstack badge

* Resolve https://github.com/ml5js/ml5-library/pull/151#discussion_r196475143

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196484426

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196517984

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196518890

* Add license to callCallback, return this from ImageClassifier#loadModel

* Add mocha reporter back, try to make classes thenable

* Update karma configuration

- Fixes a weird bug where tensors were spuriously disposed by tfjs in testing environment due to there being multiple tfjs instances present on the page from the different builds
- Improves stack traces to make debugging easier by disabling minification in karma webpack.
- Only webpack the main package, this means that the test files have to use the global ml5 object.

* Add tests for Word2Vec

- validates that there are no leaked tensors
- validates basic functionality of nearest
- validates that add, subtract and average return things

- Fixes memory leaks in add, subtract, average, and addOrSubtract functions
- Adds a general dispose to the Word2Vec class

* Remove console.log

* Add an easy way to run test suite once

* Handle rejected promises

* fix eslint errors in lstm and w2v

* Support for callbacks in word2vec and fix tests.
Moved the YOLO weights to the examples repo.
Fix eslint in some files

* Add tests to imageclassifier
fix video issue in imageclassifier

* - Add test for YOLO
- Add test for Imageclassifier
- Resize img if necessary in utils

* - Add license to test files
- Style transfer test
- remove .test file in posenet

* - Update poseNet version to 0.1.3
- Add posnet test

* test commit

* - Fix issues in imageclassifier

* - update pitch detection to #158
- fix event emmiter in posenet
- fix constructor in yolo
- async video util

* temp fix to test leak

* Fix posenet on video ready

* refactor pix2pix to support promises

* support promise when create a new styletransfer method

* bump to version 0.1.0

* bump to 0.1.1

* update readme

* clarification and formatting changes to ensure steps are easy to follow

* ImageClassifier: predict: handle unsupported input

* add proper attributions for models

* Update index.js

* fix eslint for links

* Update index.js

* Update index.js

* Update index.js

* Update README.md (#207)

* Support canvas elements and canvases from p5.js in ImageClassifier (#206)

* Bugfix: PitchDetection returning the wrong pitch (#187)

When converted to the current syntax, the operation was the wrong way around.
See https://github.com/marl/crepe/blob/gh-pages/crepe.js#L141 for the original.

*  fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video) (#191)

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with v

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video

* added darknet reference and darknet tiny classifiers (#201)

* added darknet reference and darknet tiny classifiers

* fixed linting stuff

* edits..

* edits2.0

* clean comments

* SketchRNN  (#189)

* init sketchrnn

* strokes

* add models

* stylefixes

* some more bugfixes

* comments

* update dependencies

* Load and save a custom model created with FeatureExtractor  (#219)

* load and save feature extractor model

* update learning rate

* add string an callback

* KNN Classifier (#171)

* added KNNClassifier class, and getFeatures method in ImageClassifier

* added knnclassifer.loaddataset, and savedataset from/as json file

* added featureExtractor.infer() to take in p5 videoelement

* support callback, and add 'label' for each class

* added getClassExampleCountByLabel, support label when save/load dataset

* update function naming, predictClass to classify, classLabel to label

* updates to way of handling strokes (#228)

* Fixing up SketchRNN (#232)

* Code of Conduct (#225)

Just noticing we don't have a code of conduct so adding to the main library repo (we can discuss whether we should put this across all repos -- probably, yes?) This is the [Contributor Covenant](https://www.contributor-covenant.org/).

* saving feature extrctor model with ml5Specs (#233)

* Stateful LSTM (#234)

* allow passing in of lstm state c and h. return more lstm info (c, h, probabilities)

* fix LSTM Stateful ness and other tweaks

* LSTM probabilities class property

* remove weird ind<100 check

* remove unnessecary initCells

* add LSTM methods state getter, setter and reset

* rename to charRNN and update stateful to match discussed api

* add callback to feed

* fix bug in predict

* adding new probabilites object

* new build

* Additional arguments option for SketchRNN (#237)

* Fixing up SketchRNN

* arguments fix for SketchRNN interactive

* adding build

* update version

* KNN update (#256)

* let knn.addExample() and classify() accept a plain array as input

* simplify and shorten knn api function names

* rename a variable in clearlabel()

* knn.save checks if file name has .json

* remove timestamp in the filename for .save()

* update package-loack to fix travis test on node 10

* update yarn lock

* fix - adds callback support for single functions in posenet re: #244 (#254)

* fix(adds callback support for single functions in posenet https://github.com/ml5js/ml5-library/issue

adds callback support for single functions in posenet
https://github.com/ml5js/ml5-library/issues/244

https://github.com/ml5js/ml5-library/issues/244

* rm package-lock.json

* fix(PoseNet/index.js): Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244

Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244 & updated callback error
handling

#244

* rm error check when returning callback in posenet singlePose & multiPose

* fixed indentation

* temp rm cb function

* added cb function back in

* added yarn and package lock

* added lock files from ml5 master

* updating to version 0.2.0 (#264)

* V0.2.1 Tagged Release (#267)

* updating to version 0.2.0

* run build process and built lib

* Release v0.2.1 - npm publish issue

* added github issue template (#275)

* add different ways of including ml5js on the HTML header (#268)

(We will follow up and update the version to the latest which is v0.2.1)

* updated readme specifying versions for lib (#282)

* fix: Use Blobs to save files of larger sizes (#271)

* fix: Use Blobs to save files of larger sizes

fix #270

* use saveBlob() to save knn models, delete io.saveFile(), because saveBlob does the same thing and can handle big files

* Show the version number of the library. (#283)

Adds the library version from the package.json for each build.

* fix issue that server fails to listen dev folder (#287)

*     feat(KNNClassifier): Add loadData() that enables user to load dat… (#279)

*     feat(KNNClassifier): Add loadData() that enables user to load dataset from raw data instead of file

    With load(), file path needs to be provided to load dataset. This means that JSON file that has
    dataset needs to be located on the server. You can give a way to download dataset using save(), but
    you cannot give a way to upload that file and load the dataset. This commit adds loadData() that
    enables user to load dataset from raw data. By combining this method and <INPUT type="file"> tag,
    you can give a way for user to upload dataset file.

* Merge load(path, callback) and loadData(data, callback) into load(pathOrJson, callback).

* Merge load() and loadData() in a cleaner way without using Symbol.

Ref. https://github.com/ml5js/ml5-library/pull/279#issuecomment-465890231

* feat(src/PoseNet/index.js): Ability to access parts of pose by name.

Now can simply do pose.nose.x or pose.nose.confidence. Using original PoseNet naming scheme (i.e.
rightShoulder).

re #245

* Update ImageClassifier and FeatureExtractor to return [{label, confidence}] (#292)

* change imageClassifier.predict() to classify(), keep predict until later version

* update imageclassifier.classify results to [{label: .., confidence: ..}]

* update featureExtractor regressor return {value: 0-1}

* update featureextractor.classify to return [{label, confidence}]

* Support p5 preload with ml5 functions (#288)

* support p5 preload with ml5 functions

* make withPreload object clean

* an automatic script to initialize experiments dir (#295)

* an alternative way to test with experiments dir

* revert change for webpack.dev

* Change experiments to manual-test

* rename folder to manual-test

* update .gitignore

* patch style transfer for non-square and canvas-derived inputs (#311)

* fix preload bugs (#305)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* Release v0.2.2 🎉 (#331)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* added latest v0.2.2

* Some minor README adjustments (#334)

* I am de-emphasizing `@latest` as in my experience this can lead to confusion.
* I don't think my name needs to be referenced!

* V0.2.3 (#341)

* ran npm install, added new package json version, and built dist

* updated package lock

* updated package lock and ran build

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* added ml5.imageClassifier(doodleNet)

* doodlenet: transfer input img to black white image

* warm up model, comments

* added ml5.soundClassifier(speech-command)

* Revert "added ml5.soundClassifier(speech-command)"

This reverts commit 317c146450d65aa1ad9f1ef67bf912a792b0d8a0.

* update darknet link to use jsdelivr instead (#391)

* changed cdn link to doodlenet model (#390)

* adding ml5.soundClassifier(speech-commands) (#389)

* added ml5.soundClassifier(speech-commands)

* not require fs node module for testing

* Reuse getTopKClasses in doodlenet, darkneet and speech-commands

* fix: getTopKClasses return className and probability

* DCGAN refactor + preload (#398)

* restructure dcgan to accept path to manifest.json

* added check for absolute or relative url path

* rm console.log

* added DEFAULT if modelPath is null or undefined in jsonLoader

* use async/await in loadModel

* add dcgan to preload

* fixed breaking change

* updated index

* added modelReady prop

* shows preload working without additional async call to load manifest

* allows for preload

* added a bird image for testing purpose

* update bird image link from ml5-library for testing (#403)

* renaming model names to ml5.soundClassifier(SpeechCommands18w) (#404)

* ml5.featureExtractor loading models from the new teachable machine (#395)

* load model from new teachable machine

* featureExtractor use jointModel

* only train custom model but save the joint model

* Bodypix (#400)

* added BodyPix placeholder

* "@tensorflow-models/body-pix": "1.0.1",

* initial commit placeholder for bodypix

* added bodypix as bp and loadModel()

* added segment and segmentInternal

* change promise to async

* return result maskPerson and maskBackground

* adds part segmentation

* rm log

* add segmentation as result.raw

* add function to create bodyParts spec object

* added test

* added optional segmentationOptions param to segment() and segmentWithParts()

* added package.lock

* updated DEFAULTS to BODYPIX_DEFAULTS

* code cleanup

* added comments

* added jsdoc comments

* add check p5 color()

* updated bodyPartSpec image color handling for p5

* changed palette spec to object

* ml5.imageClassifier() loads pre-trained custom model (#408)

* imageClassifier load a model from url

* added options to local model from local files

* supports imageClassifier.classify(video)

* ml5.soundClassifier(url)

* docs: add shiffman as a contributor (#410)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#414)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* rm files to start fresh (#417)

* docs: add shiffman as a contributor (#418)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#419)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add yining1023 as a contributor (#421)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add handav as a contributor (#423)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add joeyklee as a contributor (#424)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AshleyJaneLewis as a contributor (#425)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add ellennickles as a contributor (#426)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add itayniv as a contributor (#427)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nikitahuggins as a contributor (#428)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AbolTaabol as a contributor (#429)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AidanNelson as a contributor (#430)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add WenheLI as a contributor (#431)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add dariusk as a contributor (#432)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Derek-Wds as a contributor (#433)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add garym140 as a contributor (#434)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add genekogan as a contributor (#435)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hhayley as a contributor (#436)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lisajamhoury as a contributor (#437)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add matamalaortiz as a contributor (#438)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add mayaman as a contributor (#439)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MimiOnuoha as a contributor (#440)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add NHibiki as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add oveddan as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add stephkoltun as a contributor (#443)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add viztopia as a contributor (#444)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add wenqili as a contributor (#446)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add brondle as a contributor (#447)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Jonarod as a contributor (#448)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add JazzTap as a contributor (#449)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add zaidalyafeai as a contributor (#450)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AlcaDesign as a contributor (#451)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add memo as a contributor (#452)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add TheHidden1 as a contributor (#453)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add meiamsome as a contributor (#454)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add marshalhayes as a contributor (#455)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add reiinakano as a contributor (#456)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nsthorat as a contributor (#457)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add irealva as a contributor (#458)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add vndrewlee as a contributor (#459)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add fjcamillo as a contributor (#460)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add achimkoh as a contributor (#461)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hx2A as a contributor (#462)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add champierre as a contributor (#465)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add micuat as a contributor (#466)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add montoyamoraga as a contributor (#467)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add b2renger as a contributor (#468)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add adityaas26 as a contributor (#469)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add okuna291 as a contributor (#470)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xujenna as a contributor (#471)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nicoleflloyd as a contributor (#472)

* docs: update README.md

* docs: update .all-contributorsrc

* updated package-lock

* pass vector to dcgan compute

* Adds face-api.js to ml5.js (#482)

* initial commit - add classifyExpressions

* added classifyExpressionsMultiple() and classifyExpressionsSingle()

* remove modelPath requirement in favor of defaults

* updated index with links to tiny landmarks

* adds option to add relative path or absolute url

* updated url checking for models

* changed function names

* updated functions to .detect() and .detectSingle()

* check undefined, otherwise assign

* added resize function to results by default

* code cleanup

* added test to faceapi

* added tests

* added face parts to result.parts

* code cleanup

* changed options from withFaceX to withX

* code cleanup

* code cleanup

* fixed conditional to include face .withFaceDescriptor(s)

* docs: add jepster-dk as a contributor (#489)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xanderjakeq as a contributor (#490)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add catarak as a contributor (#491)

* docs: update README.md

* docs: update .all-contributorsrc

* [WIP]Change p5Utils into a class

* dcgan: use random vector if no latent vector is given

* dcgan check if arg is array

* updated code of conduct with adapted p5 community statement (#492)

* updated code of conduct with adapted p5 community statement

* Update CODE_OF_CONDUCT.md

rm coding train from donation // todo - add other relevant orgs next

Co-Authored-By: Daniel Shiffman <[email protected]>

* updated enforcement with ashley and dan

* rm redundant all contributors badge (#497)

* Readme updates (#505)

* added package.lock

* updates links to latest website

* rm 'with no external deps'

* set correct url to image (#507)

* docs: add dcbriccetti as a contributor (#506)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Sblob1 as a contributor (#513)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* Fu

* add command line arguments for testing single model

* Handling p5 Image in PoseNet singlePose

I have changed singlePose function in order to handle p5 Image types. 

However I'm not sure if the check is thorough enough. Any pointers are welcome.

* Adds ImageData support for all image handling functions (#525)

* added ImageData support to YOLO

* adds ImageData support to UNET

* adds ImageData support to StyleTransfer

* adds ImageData support to PoseNet

* adds ImageData support for ImageClassifier/darknet

* adds ImageData support for ImageClassifier/doodlenet

* adds ImageData support for BodyPix and cleans up conditionals

* adds ImageData support to faceApi and cleans up conditionals

* adds ImageData support for imageclassifier and cleans up conditional

* fix image handling for bodypix faceapi and imageclassifier

* update mobilenet imageData support

* check imagedata in yolo

* adds ImageData test to BodyPix

* adds check for canvas (#526)

* Fixes Posenet input arguments and related issues (#529)

* adds this.multiPose() to else{}

* fixes conditional check on object or string

* added kmeans

* added randomSample function

* re-ordered name placement

* fixed weird indentation error

* indentation

* removed optional keyword in docstring

* updates issue and pull request templates (#530)

* Created config class attribute to store instance params

* Adds release script helper (#534)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* Adds release script helper (#535)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* adds tagging to release:publish

* fixes typo

* added test to kmeans (#536)

* docs: add jwilber as a contributor (#537)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add tezzutezzu as a contributor (#538)

* docs: update README.md

* docs: update .all-contributorsrc

* Update Contributing and Github docs (#539)

* updated issue template:

* update PR template

* added new release how to

* docs: add EmmaGoodliffe as a contributor (#545)

* docs: update README.md

* docs: update .all-contributorsrc

* Update tfjs ~v1.2.2 (#544)

* updated tfjs to 1.2.2 and bumped face-api to 0.20.1

* bump tensorflow models

* bump body-pix version

* adds version 2 to feature extractor

* updated to mobilenetv2 api

* updates to posenet 2 api

* always process and resize images in mobilenet

* update test with version 2

* update posenet inputs and test

* fix issue with params in posenet

* updates conditional in p5Utils

* add loadImage test (#549)

* Update npm helper scripts for making releases (#552)

* updating release process scripts and docs

* updated release proces npm scripts and docs

* added release:sync and developement:sync"
"

* set fe to mobilenet v1 - use layers model (#554)

* Adds Docsify to consolidate documentation (#556)

* add docsify-cli as dev dep

* adds docs structure for docsify

* adds bodyPix documentation example

* update bodypix documentation

* adds imageClassifer docs

* added styleguide template and updated docs

* changed name of reference template

* added dev guidelines

* update dev guidelines

* adds posenet docs

* adds tutorials and faq

* add dev:docs npm script

* adds char rnn to docs

* Adds documentation for references to docsify docs (#557)

* add note on all contributors bot

* adds faceapi header img"

* adds design guidelines

* adds design guidelines to sidebar

* adds section for p5 web editor examples

* adds cvae refs

* update bodypix and charrnn docs

* added dcgan docs

* adds pitch detection docs

* adds featureExtractor docs

* adds knn classifier

* update tutorial refs

* adds pix2pix doc

* adds sentiment docs

* adds sketchrnn ref

* adds sound classifier

* adds styletransfer docs

* adds unet docs

* adds word2vec docs

* adds yolo docs

* adds acknowledgements section

* adds acknowledgements section

* Fixes Doodlenet - set new axes and .floor() (#559)

* change split axis to 3 axes

* use floor() instead of round()

* adds options for detection confidence (#561)

* Adds labels to custom image classification model from Teachable Machine output

* Addressing issue #590 part 1 (#592)
>The saved labels from Teachable Machine should be loaded by ml5. I believe this is working for sound classification, but not for images.

Fetching labels from metadata.json when loading models from the new Teachable Machine.

* docs: add EonYang as a contributor (#593)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lydiajessup as a contributor (#594)

* docs: update README.md

* docs: update .all-contributorsrc

* set alias for sidebar (#598)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* [Docs] Uses gh-pages to serve docsify docs (#599)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* adds header nav to docs

* updates alt text and image url

* adds getting started url

* adds reference index

* updates href to reference in nav (#601)

* [face-api] Removes expressions support from face-api in ml5.js (#602)

* rm faceapi expressions support

* rm expression ref in comment

* updates tests for faceapi

* fixes single detection and tests

* Update docs (#603)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* Revert "Update docs (#603)" (#604)

This reverts commit c6b78d0a7aedc7050a095386ad88300d91a761b2.

* Updates docsify docs (#605)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch

* moves bodyPix to support preload() (#610)

* Adds preload support to faceApi  (#611)

* moves bodyPix to support preload()

* adds faceapi to preload

* Updates Docs with latest features (#612)

* adds face-api updates and neural network docs updates

* adds docs for nn functions

* adds save and load docs

* adds neural Network documentation

* fixes backticks

* adds sidebar dividers

* adds docs on model loading and contributors (#616)

* Updates gh templates (#617)

* updates PR template

* updates gh issues template

* updates template

* Generic Neural Network class (#485)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models

* allows user to add video to .segment() and .segmentWithParts() (#619)

* updates unet docs (#620)

* adds basic test for defaults (#621)

* docs: add EmmaGoodliffe as a contributor (#622)

* docs: update README.md

* docs: update .all-contributorsrc

* adds fix for unet image return for p5 (#625)

* updates webpack dev server to 3.1.11 (#629)

* Fixes vulnerabilities noted by npm (#630)

* run npm audit fix

* bumps commitizen dep

* updated readme and readme updater (#632)

* Update NeuralNetwork docs (#631)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extract…
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Nov 6, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0

* sets localhost

* Revising Teachable Machine Snippets (#218)

* matching proposed TM snippets for image classification

* sound example and refactoring to new TM folder

* changing name to include URL

* fix typo

* adds flipped video (#219)

* updates bodypix examples to reflect updated api (#225)

* adds p5 batch uploader script

* adds p5 batch uploader script (#227)

* set ml to dev

* adds background to unet

* bumps version
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Nov 7, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Nov 7, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0

* sets localhost

* Revising Teachable Machine Snippets (#218)

* matching proposed TM snippets for image classification

* sound example and refactoring to new TM folder

* changing name to include URL

* fix typo

* adds flipped video (#219)

* bumps version

* updates ml5 version ref

* updates example index

* adds merge release accept all our changes
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Nov 7, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0

* sets localhost

* Revising Teachable Machine Snippets (#218)

* matching proposed TM snippets for image classification

* sound example and refactoring to new TM folder

* changing name to include URL

* fix typo

* adds flipped video (#219)

* updates bodypix examples to reflect updated api (#225)

* adds p5 batch uploader script

* adds p5 batch uploader script (#227)

* set ml to dev

* adds background to unet

* bumps version
joeyklee added a commit that referenced this pull request Nov 14, 2019
* [v0.4.2] v0.4.2 (#685)

* [neural net fix] Merges neural net fix in release to development branch (#676)

* ml5 release v0.4.0 (#640)

* Updates dev with release and Removes /dist from past commits and future dev (#479)

* Remove unnecessary tf.tidy call

* Implement (err, value) callback style, add test for LSTMGenerator

* Callbackify Mobilenet.classify and Mobilenet.regressor

* Add events dep

* add travis.yml

* remove circleci

* removing test script

* removing package-lock.json

* update yarn.lock

* set up browserstack

* snapshot

* yarn test-travis from .travis.yml

* chmod +x trest-travis

* shebang

* bs launcher

* access key

* add a log

* kick travis

* snapshot

* change browserstack env names

* Added Browserstack badge

* Resolve https://github.com/ml5js/ml5-library/pull/151#discussion_r196475143

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196484426

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196517984

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196518890

* Add license to callCallback, return this from ImageClassifier#loadModel

* Add mocha reporter back, try to make classes thenable

* Update karma configuration

- Fixes a weird bug where tensors were spuriously disposed by tfjs in testing environment due to there being multiple tfjs instances present on the page from the different builds
- Improves stack traces to make debugging easier by disabling minification in karma webpack.
- Only webpack the main package, this means that the test files have to use the global ml5 object.

* Add tests for Word2Vec

- validates that there are no leaked tensors
- validates basic functionality of nearest
- validates that add, subtract and average return things

- Fixes memory leaks in add, subtract, average, and addOrSubtract functions
- Adds a general dispose to the Word2Vec class

* Remove console.log

* Add an easy way to run test suite once

* Handle rejected promises

* fix eslint errors in lstm and w2v

* Support for callbacks in word2vec and fix tests.
Moved the YOLO weights to the examples repo.
Fix eslint in some files

* Add tests to imageclassifier
fix video issue in imageclassifier

* - Add test for YOLO
- Add test for Imageclassifier
- Resize img if necessary in utils

* - Add license to test files
- Style transfer test
- remove .test file in posenet

* - Update poseNet version to 0.1.3
- Add posnet test

* test commit

* - Fix issues in imageclassifier

* - update pitch detection to #158
- fix event emmiter in posenet
- fix constructor in yolo
- async video util

* temp fix to test leak

* Fix posenet on video ready

* refactor pix2pix to support promises

* support promise when create a new styletransfer method

* bump to version 0.1.0

* bump to 0.1.1

* update readme

* clarification and formatting changes to ensure steps are easy to follow

* ImageClassifier: predict: handle unsupported input

* add proper attributions for models

* Update index.js

* fix eslint for links

* Update index.js

* Update index.js

* Update index.js

* Update README.md (#207)

* Support canvas elements and canvases from p5.js in ImageClassifier (#206)

* Bugfix: PitchDetection returning the wrong pitch (#187)

When converted to the current syntax, the operation was the wrong way around.
See https://github.com/marl/crepe/blob/gh-pages/crepe.js#L141 for the original.

*  fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video) (#191)

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with v

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video

* added darknet reference and darknet tiny classifiers (#201)

* added darknet reference and darknet tiny classifiers

* fixed linting stuff

* edits..

* edits2.0

* clean comments

* SketchRNN  (#189)

* init sketchrnn

* strokes

* add models

* stylefixes

* some more bugfixes

* comments

* update dependencies

* Load and save a custom model created with FeatureExtractor  (#219)

* load and save feature extractor model

* update learning rate

* add string an callback

* KNN Classifier (#171)

* added KNNClassifier class, and getFeatures method in ImageClassifier

* added knnclassifer.loaddataset, and savedataset from/as json file

* added featureExtractor.infer() to take in p5 videoelement

* support callback, and add 'label' for each class

* added getClassExampleCountByLabel, support label when save/load dataset

* update function naming, predictClass to classify, classLabel to label

* updates to way of handling strokes (#228)

* Fixing up SketchRNN (#232)

* Code of Conduct (#225)

Just noticing we don't have a code of conduct so adding to the main library repo (we can discuss whether we should put this across all repos -- probably, yes?) This is the [Contributor Covenant](https://www.contributor-covenant.org/).

* saving feature extrctor model with ml5Specs (#233)

* Stateful LSTM (#234)

* allow passing in of lstm state c and h. return more lstm info (c, h, probabilities)

* fix LSTM Stateful ness and other tweaks

* LSTM probabilities class property

* remove weird ind<100 check

* remove unnessecary initCells

* add LSTM methods state getter, setter and reset

* rename to charRNN and update stateful to match discussed api

* add callback to feed

* fix bug in predict

* adding new probabilites object

* new build

* Additional arguments option for SketchRNN (#237)

* Fixing up SketchRNN

* arguments fix for SketchRNN interactive

* adding build

* update version

* KNN update (#256)

* let knn.addExample() and classify() accept a plain array as input

* simplify and shorten knn api function names

* rename a variable in clearlabel()

* knn.save checks if file name has .json

* remove timestamp in the filename for .save()

* update package-loack to fix travis test on node 10

* update yarn lock

* fix - adds callback support for single functions in posenet re: #244 (#254)

* fix(adds callback support for single functions in posenet https://github.com/ml5js/ml5-library/issue

adds callback support for single functions in posenet
https://github.com/ml5js/ml5-library/issues/244

https://github.com/ml5js/ml5-library/issues/244

* rm package-lock.json

* fix(PoseNet/index.js): Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244

Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244 & updated callback error
handling

#244

* rm error check when returning callback in posenet singlePose & multiPose

* fixed indentation

* temp rm cb function

* added cb function back in

* added yarn and package lock

* added lock files from ml5 master

* updating to version 0.2.0 (#264)

* V0.2.1 Tagged Release (#267)

* updating to version 0.2.0

* run build process and built lib

* Release v0.2.1 - npm publish issue

* added github issue template (#275)

* add different ways of including ml5js on the HTML header (#268)

(We will follow up and update the version to the latest which is v0.2.1)

* updated readme specifying versions for lib (#282)

* fix: Use Blobs to save files of larger sizes (#271)

* fix: Use Blobs to save files of larger sizes

fix #270

* use saveBlob() to save knn models, delete io.saveFile(), because saveBlob does the same thing and can handle big files

* Show the version number of the library. (#283)

Adds the library version from the package.json for each build.

* fix issue that server fails to listen dev folder (#287)

*     feat(KNNClassifier): Add loadData() that enables user to load dat… (#279)

*     feat(KNNClassifier): Add loadData() that enables user to load dataset from raw data instead of file

    With load(), file path needs to be provided to load dataset. This means that JSON file that has
    dataset needs to be located on the server. You can give a way to download dataset using save(), but
    you cannot give a way to upload that file and load the dataset. This commit adds loadData() that
    enables user to load dataset from raw data. By combining this method and <INPUT type="file"> tag,
    you can give a way for user to upload dataset file.

* Merge load(path, callback) and loadData(data, callback) into load(pathOrJson, callback).

* Merge load() and loadData() in a cleaner way without using Symbol.

Ref. https://github.com/ml5js/ml5-library/pull/279#issuecomment-465890231

* feat(src/PoseNet/index.js): Ability to access parts of pose by name.

Now can simply do pose.nose.x or pose.nose.confidence. Using original PoseNet naming scheme (i.e.
rightShoulder).

re #245

* Update ImageClassifier and FeatureExtractor to return [{label, confidence}] (#292)

* change imageClassifier.predict() to classify(), keep predict until later version

* update imageclassifier.classify results to [{label: .., confidence: ..}]

* update featureExtractor regressor return {value: 0-1}

* update featureextractor.classify to return [{label, confidence}]

* Support p5 preload with ml5 functions (#288)

* support p5 preload with ml5 functions

* make withPreload object clean

* an automatic script to initialize experiments dir (#295)

* an alternative way to test with experiments dir

* revert change for webpack.dev

* Change experiments to manual-test

* rename folder to manual-test

* update .gitignore

* patch style transfer for non-square and canvas-derived inputs (#311)

* fix preload bugs (#305)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* Release v0.2.2 🎉 (#331)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* added latest v0.2.2

* Some minor README adjustments (#334)

* I am de-emphasizing `@latest` as in my experience this can lead to confusion.
* I don't think my name needs to be referenced!

* V0.2.3 (#341)

* ran npm install, added new package json version, and built dist

* updated package lock

* updated package lock and ran build

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* added ml5.imageClassifier(doodleNet)

* doodlenet: transfer input img to black white image

* warm up model, comments

* added ml5.soundClassifier(speech-command)

* Revert "added ml5.soundClassifier(speech-command)"

This reverts commit 317c146450d65aa1ad9f1ef67bf912a792b0d8a0.

* update darknet link to use jsdelivr instead (#391)

* changed cdn link to doodlenet model (#390)

* adding ml5.soundClassifier(speech-commands) (#389)

* added ml5.soundClassifier(speech-commands)

* not require fs node module for testing

* Reuse getTopKClasses in doodlenet, darkneet and speech-commands

* fix: getTopKClasses return className and probability

* DCGAN refactor + preload (#398)

* restructure dcgan to accept path to manifest.json

* added check for absolute or relative url path

* rm console.log

* added DEFAULT if modelPath is null or undefined in jsonLoader

* use async/await in loadModel

* add dcgan to preload

* fixed breaking change

* updated index

* added modelReady prop

* shows preload working without additional async call to load manifest

* allows for preload

* added a bird image for testing purpose

* update bird image link from ml5-library for testing (#403)

* renaming model names to ml5.soundClassifier(SpeechCommands18w) (#404)

* ml5.featureExtractor loading models from the new teachable machine (#395)

* load model from new teachable machine

* featureExtractor use jointModel

* only train custom model but save the joint model

* Bodypix (#400)

* added BodyPix placeholder

* "@tensorflow-models/body-pix": "1.0.1",

* initial commit placeholder for bodypix

* added bodypix as bp and loadModel()

* added segment and segmentInternal

* change promise to async

* return result maskPerson and maskBackground

* adds part segmentation

* rm log

* add segmentation as result.raw

* add function to create bodyParts spec object

* added test

* added optional segmentationOptions param to segment() and segmentWithParts()

* added package.lock

* updated DEFAULTS to BODYPIX_DEFAULTS

* code cleanup

* added comments

* added jsdoc comments

* add check p5 color()

* updated bodyPartSpec image color handling for p5

* changed palette spec to object

* ml5.imageClassifier() loads pre-trained custom model (#408)

* imageClassifier load a model from url

* added options to local model from local files

* supports imageClassifier.classify(video)

* ml5.soundClassifier(url)

* docs: add shiffman as a contributor (#410)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#414)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* rm files to start fresh (#417)

* docs: add shiffman as a contributor (#418)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#419)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add yining1023 as a contributor (#421)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add handav as a contributor (#423)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add joeyklee as a contributor (#424)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AshleyJaneLewis as a contributor (#425)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add ellennickles as a contributor (#426)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add itayniv as a contributor (#427)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nikitahuggins as a contributor (#428)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AbolTaabol as a contributor (#429)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AidanNelson as a contributor (#430)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add WenheLI as a contributor (#431)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add dariusk as a contributor (#432)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Derek-Wds as a contributor (#433)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add garym140 as a contributor (#434)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add genekogan as a contributor (#435)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hhayley as a contributor (#436)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lisajamhoury as a contributor (#437)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add matamalaortiz as a contributor (#438)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add mayaman as a contributor (#439)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MimiOnuoha as a contributor (#440)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add NHibiki as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add oveddan as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add stephkoltun as a contributor (#443)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add viztopia as a contributor (#444)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add wenqili as a contributor (#446)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add brondle as a contributor (#447)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Jonarod as a contributor (#448)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add JazzTap as a contributor (#449)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add zaidalyafeai as a contributor (#450)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AlcaDesign as a contributor (#451)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add memo as a contributor (#452)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add TheHidden1 as a contributor (#453)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add meiamsome as a contributor (#454)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add marshalhayes as a contributor (#455)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add reiinakano as a contributor (#456)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nsthorat as a contributor (#457)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add irealva as a contributor (#458)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add vndrewlee as a contributor (#459)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add fjcamillo as a contributor (#460)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add achimkoh as a contributor (#461)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hx2A as a contributor (#462)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add champierre as a contributor (#465)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add micuat as a contributor (#466)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add montoyamoraga as a contributor (#467)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add b2renger as a contributor (#468)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add adityaas26 as a contributor (#469)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add okuna291 as a contributor (#470)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xujenna as a contributor (#471)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nicoleflloyd as a contributor (#472)

* docs: update README.md

* docs: update .all-contributorsrc

* updated package-lock

* pass vector to dcgan compute

* Adds face-api.js to ml5.js (#482)

* initial commit - add classifyExpressions

* added classifyExpressionsMultiple() and classifyExpressionsSingle()

* remove modelPath requirement in favor of defaults

* updated index with links to tiny landmarks

* adds option to add relative path or absolute url

* updated url checking for models

* changed function names

* updated functions to .detect() and .detectSingle()

* check undefined, otherwise assign

* added resize function to results by default

* code cleanup

* added test to faceapi

* added tests

* added face parts to result.parts

* code cleanup

* changed options from withFaceX to withX

* code cleanup

* code cleanup

* fixed conditional to include face .withFaceDescriptor(s)

* docs: add jepster-dk as a contributor (#489)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xanderjakeq as a contributor (#490)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add catarak as a contributor (#491)

* docs: update README.md

* docs: update .all-contributorsrc

* [WIP]Change p5Utils into a class

* dcgan: use random vector if no latent vector is given

* dcgan check if arg is array

* updated code of conduct with adapted p5 community statement (#492)

* updated code of conduct with adapted p5 community statement

* Update CODE_OF_CONDUCT.md

rm coding train from donation // todo - add other relevant orgs next

Co-Authored-By: Daniel Shiffman <[email protected]>

* updated enforcement with ashley and dan

* rm redundant all contributors badge (#497)

* Readme updates (#505)

* added package.lock

* updates links to latest website

* rm 'with no external deps'

* set correct url to image (#507)

* docs: add dcbriccetti as a contributor (#506)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Sblob1 as a contributor (#513)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* Fu

* add command line arguments for testing single model

* Handling p5 Image in PoseNet singlePose

I have changed singlePose function in order to handle p5 Image types. 

However I'm not sure if the check is thorough enough. Any pointers are welcome.

* Adds ImageData support for all image handling functions (#525)

* added ImageData support to YOLO

* adds ImageData support to UNET

* adds ImageData support to StyleTransfer

* adds ImageData support to PoseNet

* adds ImageData support for ImageClassifier/darknet

* adds ImageData support for ImageClassifier/doodlenet

* adds ImageData support for BodyPix and cleans up conditionals

* adds ImageData support to faceApi and cleans up conditionals

* adds ImageData support for imageclassifier and cleans up conditional

* fix image handling for bodypix faceapi and imageclassifier

* update mobilenet imageData support

* check imagedata in yolo

* adds ImageData test to BodyPix

* adds check for canvas (#526)

* Fixes Posenet input arguments and related issues (#529)

* adds this.multiPose() to else{}

* fixes conditional check on object or string

* added kmeans

* added randomSample function

* re-ordered name placement

* fixed weird indentation error

* indentation

* removed optional keyword in docstring

* updates issue and pull request templates (#530)

* Created config class attribute to store instance params

* Adds release script helper (#534)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* Adds release script helper (#535)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* adds tagging to release:publish

* fixes typo

* added test to kmeans (#536)

* docs: add jwilber as a contributor (#537)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add tezzutezzu as a contributor (#538)

* docs: update README.md

* docs: update .all-contributorsrc

* Update Contributing and Github docs (#539)

* updated issue template:

* update PR template

* added new release how to

* docs: add EmmaGoodliffe as a contributor (#545)

* docs: update README.md

* docs: update .all-contributorsrc

* Update tfjs ~v1.2.2 (#544)

* updated tfjs to 1.2.2 and bumped face-api to 0.20.1

* bump tensorflow models

* bump body-pix version

* adds version 2 to feature extractor

* updated to mobilenetv2 api

* updates to posenet 2 api

* always process and resize images in mobilenet

* update test with version 2

* update posenet inputs and test

* fix issue with params in posenet

* updates conditional in p5Utils

* add loadImage test (#549)

* Update npm helper scripts for making releases (#552)

* updating release process scripts and docs

* updated release proces npm scripts and docs

* added release:sync and developement:sync"
"

* set fe to mobilenet v1 - use layers model (#554)

* Adds Docsify to consolidate documentation (#556)

* add docsify-cli as dev dep

* adds docs structure for docsify

* adds bodyPix documentation example

* update bodypix documentation

* adds imageClassifer docs

* added styleguide template and updated docs

* changed name of reference template

* added dev guidelines

* update dev guidelines

* adds posenet docs

* adds tutorials and faq

* add dev:docs npm script

* adds char rnn to docs

* Adds documentation for references to docsify docs (#557)

* add note on all contributors bot

* adds faceapi header img"

* adds design guidelines

* adds design guidelines to sidebar

* adds section for p5 web editor examples

* adds cvae refs

* update bodypix and charrnn docs

* added dcgan docs

* adds pitch detection docs

* adds featureExtractor docs

* adds knn classifier

* update tutorial refs

* adds pix2pix doc

* adds sentiment docs

* adds sketchrnn ref

* adds sound classifier

* adds styletransfer docs

* adds unet docs

* adds word2vec docs

* adds yolo docs

* adds acknowledgements section

* adds acknowledgements section

* Fixes Doodlenet - set new axes and .floor() (#559)

* change split axis to 3 axes

* use floor() instead of round()

* adds options for detection confidence (#561)

* Adds labels to custom image classification model from Teachable Machine output

* Addressing issue #590 part 1 (#592)
>The saved labels from Teachable Machine should be loaded by ml5. I believe this is working for sound classification, but not for images.

Fetching labels from metadata.json when loading models from the new Teachable Machine.

* docs: add EonYang as a contributor (#593)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lydiajessup as a contributor (#594)

* docs: update README.md

* docs: update .all-contributorsrc

* set alias for sidebar (#598)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* [Docs] Uses gh-pages to serve docsify docs (#599)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* adds header nav to docs

* updates alt text and image url

* adds getting started url

* adds reference index

* updates href to reference in nav (#601)

* [face-api] Removes expressions support from face-api in ml5.js (#602)

* rm faceapi expressions support

* rm expression ref in comment

* updates tests for faceapi

* fixes single detection and tests

* Update docs (#603)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* Revert "Update docs (#603)" (#604)

This reverts commit c6b78d0a7aedc7050a095386ad88300d91a761b2.

* Updates docsify docs (#605)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch

* moves bodyPix to support preload() (#610)

* Adds preload support to faceApi  (#611)

* moves bodyPix to support preload()

* adds faceapi to preload

* Updates Docs with latest features (#612)

* adds face-api updates and neural network docs updates

* adds docs for nn functions

* adds save and load docs

* adds neural Network documentation

* fixes backticks

* adds sidebar dividers

* adds docs on model loading and contributors (#616)

* Updates gh templates (#617)

* updates PR template

* updates gh issues template

* updates template

* Generic Neural Network class (#485)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models

* allows user to add video to .segment() and .segmentWithParts() (#619)

* updates unet docs (#620)

* adds basic test for defaults (#621)

* docs: add EmmaGoodliffe as a contributor (#622)

* docs: update README.md

* docs: update .all-contributorsrc

* adds fix for unet image return for p5 (#625)

* updates webpack dev server to 3.1.11 (#629)

* Fixes vulnerabilities noted by npm (#630)

* run npm audit fix

* bumps commitizen dep

* updated readme and readme updater (#632)

* Update NeuralNetwork docs (#631)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

…
joeyklee added a commit that referenced this pull request Nov 14, 2019
* [devops] Merges fixes in release to development (#698)

* [v0.4.2] v0.4.2 (#685)

* [neural net fix] Merges neural net fix in release to development branch (#676)

* ml5 release v0.4.0 (#640)

* Updates dev with release and Removes /dist from past commits and future dev (#479)

* Remove unnecessary tf.tidy call

* Implement (err, value) callback style, add test for LSTMGenerator

* Callbackify Mobilenet.classify and Mobilenet.regressor

* Add events dep

* add travis.yml

* remove circleci

* removing test script

* removing package-lock.json

* update yarn.lock

* set up browserstack

* snapshot

* yarn test-travis from .travis.yml

* chmod +x trest-travis

* shebang

* bs launcher

* access key

* add a log

* kick travis

* snapshot

* change browserstack env names

* Added Browserstack badge

* Resolve https://github.com/ml5js/ml5-library/pull/151#discussion_r196475143

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196484426

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196517984

* Address https://github.com/ml5js/ml5-library/pull/151#discussion_r196518890

* Add license to callCallback, return this from ImageClassifier#loadModel

* Add mocha reporter back, try to make classes thenable

* Update karma configuration

- Fixes a weird bug where tensors were spuriously disposed by tfjs in testing environment due to there being multiple tfjs instances present on the page from the different builds
- Improves stack traces to make debugging easier by disabling minification in karma webpack.
- Only webpack the main package, this means that the test files have to use the global ml5 object.

* Add tests for Word2Vec

- validates that there are no leaked tensors
- validates basic functionality of nearest
- validates that add, subtract and average return things

- Fixes memory leaks in add, subtract, average, and addOrSubtract functions
- Adds a general dispose to the Word2Vec class

* Remove console.log

* Add an easy way to run test suite once

* Handle rejected promises

* fix eslint errors in lstm and w2v

* Support for callbacks in word2vec and fix tests.
Moved the YOLO weights to the examples repo.
Fix eslint in some files

* Add tests to imageclassifier
fix video issue in imageclassifier

* - Add test for YOLO
- Add test for Imageclassifier
- Resize img if necessary in utils

* - Add license to test files
- Style transfer test
- remove .test file in posenet

* - Update poseNet version to 0.1.3
- Add posnet test

* test commit

* - Fix issues in imageclassifier

* - update pitch detection to #158
- fix event emmiter in posenet
- fix constructor in yolo
- async video util

* temp fix to test leak

* Fix posenet on video ready

* refactor pix2pix to support promises

* support promise when create a new styletransfer method

* bump to version 0.1.0

* bump to 0.1.1

* update readme

* clarification and formatting changes to ensure steps are easy to follow

* ImageClassifier: predict: handle unsupported input

* add proper attributions for models

* Update index.js

* fix eslint for links

* Update index.js

* Update index.js

* Update index.js

* Update README.md (#207)

* Support canvas elements and canvases from p5.js in ImageClassifier (#206)

* Bugfix: PitchDetection returning the wrong pitch (#187)

When converted to the current syntax, the operation was the wrong way around.
See https://github.com/marl/crepe/blob/gh-pages/crepe.js#L141 for the original.

*  fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video) (#191)

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with v

* fix(addImage, classify, predict): now featureExtractor works with images (it was working only with video

* added darknet reference and darknet tiny classifiers (#201)

* added darknet reference and darknet tiny classifiers

* fixed linting stuff

* edits..

* edits2.0

* clean comments

* SketchRNN  (#189)

* init sketchrnn

* strokes

* add models

* stylefixes

* some more bugfixes

* comments

* update dependencies

* Load and save a custom model created with FeatureExtractor  (#219)

* load and save feature extractor model

* update learning rate

* add string an callback

* KNN Classifier (#171)

* added KNNClassifier class, and getFeatures method in ImageClassifier

* added knnclassifer.loaddataset, and savedataset from/as json file

* added featureExtractor.infer() to take in p5 videoelement

* support callback, and add 'label' for each class

* added getClassExampleCountByLabel, support label when save/load dataset

* update function naming, predictClass to classify, classLabel to label

* updates to way of handling strokes (#228)

* Fixing up SketchRNN (#232)

* Code of Conduct (#225)

Just noticing we don't have a code of conduct so adding to the main library repo (we can discuss whether we should put this across all repos -- probably, yes?) This is the [Contributor Covenant](https://www.contributor-covenant.org/).

* saving feature extrctor model with ml5Specs (#233)

* Stateful LSTM (#234)

* allow passing in of lstm state c and h. return more lstm info (c, h, probabilities)

* fix LSTM Stateful ness and other tweaks

* LSTM probabilities class property

* remove weird ind<100 check

* remove unnessecary initCells

* add LSTM methods state getter, setter and reset

* rename to charRNN and update stateful to match discussed api

* add callback to feed

* fix bug in predict

* adding new probabilites object

* new build

* Additional arguments option for SketchRNN (#237)

* Fixing up SketchRNN

* arguments fix for SketchRNN interactive

* adding build

* update version

* KNN update (#256)

* let knn.addExample() and classify() accept a plain array as input

* simplify and shorten knn api function names

* rename a variable in clearlabel()

* knn.save checks if file name has .json

* remove timestamp in the filename for .save()

* update package-loack to fix travis test on node 10

* update yarn lock

* fix - adds callback support for single functions in posenet re: #244 (#254)

* fix(adds callback support for single functions in posenet https://github.com/ml5js/ml5-library/issue

adds callback support for single functions in posenet
https://github.com/ml5js/ml5-library/issues/244

https://github.com/ml5js/ml5-library/issues/244

* rm package-lock.json

* fix(PoseNet/index.js): Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244

Add support for PoseNet `.singlePose()` & `.multiPose()` callback #244 & updated callback error
handling

#244

* rm error check when returning callback in posenet singlePose & multiPose

* fixed indentation

* temp rm cb function

* added cb function back in

* added yarn and package lock

* added lock files from ml5 master

* updating to version 0.2.0 (#264)

* V0.2.1 Tagged Release (#267)

* updating to version 0.2.0

* run build process and built lib

* Release v0.2.1 - npm publish issue

* added github issue template (#275)

* add different ways of including ml5js on the HTML header (#268)

(We will follow up and update the version to the latest which is v0.2.1)

* updated readme specifying versions for lib (#282)

* fix: Use Blobs to save files of larger sizes (#271)

* fix: Use Blobs to save files of larger sizes

fix #270

* use saveBlob() to save knn models, delete io.saveFile(), because saveBlob does the same thing and can handle big files

* Show the version number of the library. (#283)

Adds the library version from the package.json for each build.

* fix issue that server fails to listen dev folder (#287)

*     feat(KNNClassifier): Add loadData() that enables user to load dat… (#279)

*     feat(KNNClassifier): Add loadData() that enables user to load dataset from raw data instead of file

    With load(), file path needs to be provided to load dataset. This means that JSON file that has
    dataset needs to be located on the server. You can give a way to download dataset using save(), but
    you cannot give a way to upload that file and load the dataset. This commit adds loadData() that
    enables user to load dataset from raw data. By combining this method and <INPUT type="file"> tag,
    you can give a way for user to upload dataset file.

* Merge load(path, callback) and loadData(data, callback) into load(pathOrJson, callback).

* Merge load() and loadData() in a cleaner way without using Symbol.

Ref. https://github.com/ml5js/ml5-library/pull/279#issuecomment-465890231

* feat(src/PoseNet/index.js): Ability to access parts of pose by name.

Now can simply do pose.nose.x or pose.nose.confidence. Using original PoseNet naming scheme (i.e.
rightShoulder).

re #245

* Update ImageClassifier and FeatureExtractor to return [{label, confidence}] (#292)

* change imageClassifier.predict() to classify(), keep predict until later version

* update imageclassifier.classify results to [{label: .., confidence: ..}]

* update featureExtractor regressor return {value: 0-1}

* update featureextractor.classify to return [{label, confidence}]

* Support p5 preload with ml5 functions (#288)

* support p5 preload with ml5 functions

* make withPreload object clean

* an automatic script to initialize experiments dir (#295)

* an alternative way to test with experiments dir

* revert change for webpack.dev

* Change experiments to manual-test

* rename folder to manual-test

* update .gitignore

* patch style transfer for non-square and canvas-derived inputs (#311)

* fix preload bugs (#305)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* Release v0.2.2 🎉 (#331)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Hi! I noticed that the changes made here: https://github.com/ml5js/ml5-library/pull/295 have not made their way into the documentation! (#318) (#319)

* Updated issues template and added PR template (#315)

* added github issue template

* updated issue template

* updated ISSUE_TEMPLATE with friendlier wording and structure

* added pr template

* added branch notes

* Updated CONTRIBUTING.md with npm run manual-test

* Add tests to CharRNN (#307) (#320)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Updated CONTRIBUTING docs and README (#322)

* updated readme specifying versions for lib

* added documentation to contributing.md

* added updates

* added label and confidence as output for yolo results (#316)

* added label and confidence as output

* updates yolo test to use label instead of className

* Increase test timeout (#321)

* added label and confidence as output

* updates yolo test to use label instead of className

* set jasmine.DEFAULT_TIMEOUT_INTERVAL to 60000ms

* Merges in https://github.com/ml5js/ml5-library/pull/313 via master using deprecating-master branch (#323)

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* added v0.2.2 to package.json in anticipation of new release

* Fixing an issue with prettier and eslint (#324)

* Fixing an issue with prettier and eslint

There is a conflict between arrow syntax rules in airbnb eslint
configuration and the way default prettier works in VSCode. These
additional setting should help anyone using VSCode with autoformat +
prettier to not run into problems building the library.

I am open to better ways of handling this of course!

(Note the changes in ImageClassifier are trivial and just testing).

* adding eslint-config-prettier as dev dependency

* trivial change to run tests again

* Adjust charrnn test option length (#326)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* Adjust charrnn length - comment 2nd test for now (#329)

* changed 500 to 100 to shorted test time

* fixed .tobe() to match option

* changed vocab size to 64

* changed timeout to 12000

* comment out second charRNN test for now to allow merging PRs

* Forcing magenta dependency to 0.1.2 (#328)

The SketchRNN example doesn't work with more recent magenta (0.1.4)
probably due to us lagging behind in versions of tf.js?

* SketchRNN creation function should be lowercase (#325)

This is related to the discussion in #297.

* added v0.2.2 to package.json in anticipation of new release (#330)

hooray adding release v0.2.2

* added latest v0.2.2

* Some minor README adjustments (#334)

* I am de-emphasizing `@latest` as in my experience this can lead to confusion.
* I don't think my name needs to be referenced!

* V0.2.3 (#341)

* ran npm install, added new package json version, and built dist

* updated package lock

* updated package lock and ran build

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* 🌈 New Release: ml5.js v0.3.0 🎉 (#386)

* add ImageData as valid image type

* add CVAE

* add latent dim

* add random generate

* fix p5Image support

* fix CVAE parameter

* Added a parameter to the save function so that it is possible to add a custom filename to the model that is saved.

* Unet fix (#357)

Add uNet model and additional fixes

- adds uNet model from @zaidalyafeai ✨
- adds preload() for uNet
- uses loadImage on window.loadImage vs. window.p5.loadImage

* Added sentiment analysis (#339)

* Added sentiment analysis

* delete files

* fixed issues for pull request

* add p5 utils (#358)

* fix charRNN tests (#349)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* Add tests to CharRNN (#307)

* add tests to CharRNN

* test(CharRNN): add tests to CharRNN

added descriptive tests to ensure CharRNN behaves like its example

* remove dist

* check preload support for other nets and classifiers (#313)

Adds specified nets to support preload // TODO: add examples showing appropriate use of preload

* change CharRNN specs to meet time limit, add initial code for videoClassifier

* videoClassifier functioning

* charRNN functional

* fix out of date file

* add preload support for cvae (#360)

* Update TensorFlow.js to 1.0.2 (#336)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* Adds fixes to PR #332 for tfjs 1.0.2 updates (#366)

* upgrade to tfjs1.0.0

* fix loadModel

* fix buffer

* fix getLayer

* updated package lock

* added @tensorflow/tfjs-core as dependency

* add graphmodel for infer (#365)

* Add DCGAN Model into ml5 (#351)

* Create index.js

* updated index.js and DCGAN/index.js

* DCGAN updates and fixes (#362)

* Create index.js

* fixed DCGAN errors

* updates p5Utils destructuring, fixes linting issues, and updates tfjs to 1.0.2 to match dcgan reqs

* fixed cvae

* use this.model instead of using model as param to this.compute()

* Makes UNET compatible with tfjs 1.0.2 (#367)

* added package-lock

* updated UNET for use with tfjs 1.0.2

* Makes Sentiment compatible with tfjs 1.0.2 (#368)

* added package-lock

* rm sentiment-node

* changed loadModel to loadLayersModel

* Makes CVAE compatible with tfjs 1.0.2 (#369)

* added package-lock

* updates cvae to tfjs 1.0.2 api

* update tfjs to 1.1.2 (#373)

* featureExtractor: accept HTML canvas or p5 canvas when addImage(), classify() or predict()

* fix: KNNClassifier accepts a number as class index when addExample(features, number)

* added check for moz browser ref:https://stackoverflow.com/questions/48623376/typeerror-capturestream-is-not-a-function (#375)

This addresses the video capture breaking in YOLO and potentially other video based functions that require the use of .captureStream(). As the .captureStream() function is still experimental, this adds the moz prefix and a browser check to see if we are using firefox or not.

* rm todo

* updated package-lock.json

* Adds label number option to featureExtractor.classification()  (#376)

* changed numClasses to numLabels

* added num label as option to classification()

* updated FeatureExtractor Test with numLabels

* adds object as param to .classificaiton()

* moved options into this.config

* fix feature extractor test - add .config

* added pose:poseWithParts into .singlePose() (#381)

* Adds jsdoc inline-documentation - work in progress (#378)

* added jsdoc documentation for imageClassifier

* adds dcgan documentation - needs checking

* Add jsdoc (#382)

* Add jsdocs for CharRNN

* Add jsdocs for CVAE

* Add jsdocs for FeatureExtractor

* Add jsdocs for KNN

* Add jsdocs for PitchDetection

* Add jsdocs for Pix2pix

* Add jsdocs for posenet

* Add jsdocs for Sentiment

* Add jsdocs for styletransfer

* add linebreaks to long lines

* added basic docs to sketchRnn

* added basic docs to unet

* added basic docs to word2vec

* added basic yolo docs

* Adds V0.3.0 to package.json and Readme for new release (#385)

* changed package.json to v0.3.0

* added latest version reference in readme

* added lib min - will remove after this release

* added ml5.imageClassifier(doodleNet)

* doodlenet: transfer input img to black white image

* warm up model, comments

* added ml5.soundClassifier(speech-command)

* Revert "added ml5.soundClassifier(speech-command)"

This reverts commit 317c146450d65aa1ad9f1ef67bf912a792b0d8a0.

* update darknet link to use jsdelivr instead (#391)

* changed cdn link to doodlenet model (#390)

* adding ml5.soundClassifier(speech-commands) (#389)

* added ml5.soundClassifier(speech-commands)

* not require fs node module for testing

* Reuse getTopKClasses in doodlenet, darkneet and speech-commands

* fix: getTopKClasses return className and probability

* DCGAN refactor + preload (#398)

* restructure dcgan to accept path to manifest.json

* added check for absolute or relative url path

* rm console.log

* added DEFAULT if modelPath is null or undefined in jsonLoader

* use async/await in loadModel

* add dcgan to preload

* fixed breaking change

* updated index

* added modelReady prop

* shows preload working without additional async call to load manifest

* allows for preload

* added a bird image for testing purpose

* update bird image link from ml5-library for testing (#403)

* renaming model names to ml5.soundClassifier(SpeechCommands18w) (#404)

* ml5.featureExtractor loading models from the new teachable machine (#395)

* load model from new teachable machine

* featureExtractor use jointModel

* only train custom model but save the joint model

* Bodypix (#400)

* added BodyPix placeholder

* "@tensorflow-models/body-pix": "1.0.1",

* initial commit placeholder for bodypix

* added bodypix as bp and loadModel()

* added segment and segmentInternal

* change promise to async

* return result maskPerson and maskBackground

* adds part segmentation

* rm log

* add segmentation as result.raw

* add function to create bodyParts spec object

* added test

* added optional segmentationOptions param to segment() and segmentWithParts()

* added package.lock

* updated DEFAULTS to BODYPIX_DEFAULTS

* code cleanup

* added comments

* added jsdoc comments

* add check p5 color()

* updated bodyPartSpec image color handling for p5

* changed palette spec to object

* ml5.imageClassifier() loads pre-trained custom model (#408)

* imageClassifier load a model from url

* added options to local model from local files

* supports imageClassifier.classify(video)

* ml5.soundClassifier(url)

* docs: add shiffman as a contributor (#410)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#414)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* rm files to start fresh (#417)

* docs: add shiffman as a contributor (#418)

* docs: update README.md

* docs: create .all-contributorsrc

* docs: add cvalenzuela as a contributor (#419)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add yining1023 as a contributor (#421)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add handav as a contributor (#423)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add joeyklee as a contributor (#424)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AshleyJaneLewis as a contributor (#425)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add ellennickles as a contributor (#426)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add itayniv as a contributor (#427)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nikitahuggins as a contributor (#428)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AbolTaabol as a contributor (#429)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AidanNelson as a contributor (#430)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add WenheLI as a contributor (#431)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add dariusk as a contributor (#432)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Derek-Wds as a contributor (#433)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add garym140 as a contributor (#434)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add genekogan as a contributor (#435)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hhayley as a contributor (#436)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lisajamhoury as a contributor (#437)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add matamalaortiz as a contributor (#438)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add mayaman as a contributor (#439)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add MimiOnuoha as a contributor (#440)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add NHibiki as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add oveddan as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add stephkoltun as a contributor (#443)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add viztopia as a contributor (#444)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add wenqili as a contributor (#446)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add brondle as a contributor (#447)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Jonarod as a contributor (#448)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add JazzTap as a contributor (#449)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add zaidalyafeai as a contributor (#450)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add AlcaDesign as a contributor (#451)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add memo as a contributor (#452)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add TheHidden1 as a contributor (#453)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add meiamsome as a contributor (#454)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add marshalhayes as a contributor (#455)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add reiinakano as a contributor (#456)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nsthorat as a contributor (#457)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add irealva as a contributor (#458)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add vndrewlee as a contributor (#459)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add fjcamillo as a contributor (#460)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add achimkoh as a contributor (#461)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add hx2A as a contributor (#462)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add champierre as a contributor (#465)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add micuat as a contributor (#466)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add montoyamoraga as a contributor (#467)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add b2renger as a contributor (#468)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add adityaas26 as a contributor (#469)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add okuna291 as a contributor (#470)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xujenna as a contributor (#471)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add nicoleflloyd as a contributor (#472)

* docs: update README.md

* docs: update .all-contributorsrc

* updated package-lock

* pass vector to dcgan compute

* Adds face-api.js to ml5.js (#482)

* initial commit - add classifyExpressions

* added classifyExpressionsMultiple() and classifyExpressionsSingle()

* remove modelPath requirement in favor of defaults

* updated index with links to tiny landmarks

* adds option to add relative path or absolute url

* updated url checking for models

* changed function names

* updated functions to .detect() and .detectSingle()

* check undefined, otherwise assign

* added resize function to results by default

* code cleanup

* added test to faceapi

* added tests

* added face parts to result.parts

* code cleanup

* changed options from withFaceX to withX

* code cleanup

* code cleanup

* fixed conditional to include face .withFaceDescriptor(s)

* docs: add jepster-dk as a contributor (#489)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add xanderjakeq as a contributor (#490)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add catarak as a contributor (#491)

* docs: update README.md

* docs: update .all-contributorsrc

* [WIP]Change p5Utils into a class

* dcgan: use random vector if no latent vector is given

* dcgan check if arg is array

* updated code of conduct with adapted p5 community statement (#492)

* updated code of conduct with adapted p5 community statement

* Update CODE_OF_CONDUCT.md

rm coding train from donation // todo - add other relevant orgs next

Co-Authored-By: Daniel Shiffman <[email protected]>

* updated enforcement with ashley and dan

* rm redundant all contributors badge (#497)

* Readme updates (#505)

* added package.lock

* updates links to latest website

* rm 'with no external deps'

* set correct url to image (#507)

* docs: add dcbriccetti as a contributor (#506)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add Sblob1 as a contributor (#513)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: update README.md

* docs: update .all-contributorsrc

* Fu

* add command line arguments for testing single model

* Handling p5 Image in PoseNet singlePose

I have changed singlePose function in order to handle p5 Image types. 

However I'm not sure if the check is thorough enough. Any pointers are welcome.

* Adds ImageData support for all image handling functions (#525)

* added ImageData support to YOLO

* adds ImageData support to UNET

* adds ImageData support to StyleTransfer

* adds ImageData support to PoseNet

* adds ImageData support for ImageClassifier/darknet

* adds ImageData support for ImageClassifier/doodlenet

* adds ImageData support for BodyPix and cleans up conditionals

* adds ImageData support to faceApi and cleans up conditionals

* adds ImageData support for imageclassifier and cleans up conditional

* fix image handling for bodypix faceapi and imageclassifier

* update mobilenet imageData support

* check imagedata in yolo

* adds ImageData test to BodyPix

* adds check for canvas (#526)

* Fixes Posenet input arguments and related issues (#529)

* adds this.multiPose() to else{}

* fixes conditional check on object or string

* added kmeans

* added randomSample function

* re-ordered name placement

* fixed weird indentation error

* indentation

* removed optional keyword in docstring

* updates issue and pull request templates (#530)

* Created config class attribute to store instance params

* Adds release script helper (#534)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* Adds release script helper (#535)

* adds release helper function

* update name and sep step for release:push

* add release:publish

* adds tagging to release:publish

* fixes typo

* added test to kmeans (#536)

* docs: add jwilber as a contributor (#537)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add tezzutezzu as a contributor (#538)

* docs: update README.md

* docs: update .all-contributorsrc

* Update Contributing and Github docs (#539)

* updated issue template:

* update PR template

* added new release how to

* docs: add EmmaGoodliffe as a contributor (#545)

* docs: update README.md

* docs: update .all-contributorsrc

* Update tfjs ~v1.2.2 (#544)

* updated tfjs to 1.2.2 and bumped face-api to 0.20.1

* bump tensorflow models

* bump body-pix version

* adds version 2 to feature extractor

* updated to mobilenetv2 api

* updates to posenet 2 api

* always process and resize images in mobilenet

* update test with version 2

* update posenet inputs and test

* fix issue with params in posenet

* updates conditional in p5Utils

* add loadImage test (#549)

* Update npm helper scripts for making releases (#552)

* updating release process scripts and docs

* updated release proces npm scripts and docs

* added release:sync and developement:sync"
"

* set fe to mobilenet v1 - use layers model (#554)

* Adds Docsify to consolidate documentation (#556)

* add docsify-cli as dev dep

* adds docs structure for docsify

* adds bodyPix documentation example

* update bodypix documentation

* adds imageClassifer docs

* added styleguide template and updated docs

* changed name of reference template

* added dev guidelines

* update dev guidelines

* adds posenet docs

* adds tutorials and faq

* add dev:docs npm script

* adds char rnn to docs

* Adds documentation for references to docsify docs (#557)

* add note on all contributors bot

* adds faceapi header img"

* adds design guidelines

* adds design guidelines to sidebar

* adds section for p5 web editor examples

* adds cvae refs

* update bodypix and charrnn docs

* added dcgan docs

* adds pitch detection docs

* adds featureExtractor docs

* adds knn classifier

* update tutorial refs

* adds pix2pix doc

* adds sentiment docs

* adds sketchrnn ref

* adds sound classifier

* adds styletransfer docs

* adds unet docs

* adds word2vec docs

* adds yolo docs

* adds acknowledgements section

* adds acknowledgements section

* Fixes Doodlenet - set new axes and .floor() (#559)

* change split axis to 3 axes

* use floor() instead of round()

* adds options for detection confidence (#561)

* Adds labels to custom image classification model from Teachable Machine output

* Addressing issue #590 part 1 (#592)
>The saved labels from Teachable Machine should be loaded by ml5. I believe this is working for sound classification, but not for images.

Fetching labels from metadata.json when loading models from the new Teachable Machine.

* docs: add EonYang as a contributor (#593)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add lydiajessup as a contributor (#594)

* docs: update README.md

* docs: update .all-contributorsrc

* set alias for sidebar (#598)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* [Docs] Uses gh-pages to serve docsify docs (#599)

* update docsify config

* testing pathways

* adds sublevel 2

* rm sidebar comment

* testing sidebar nested list issue

* relative path is false - using gh-pages

* testing - pls ignore

* testing plugin issue

* drop alias

* added no jekyll to root"

* testing pathway for images

* rm dot from path

* set rel path

* changed images to _media

* use _media path for images

* adds header nav to docs

* updates alt text and image url

* adds getting started url

* adds reference index

* updates href to reference in nav (#601)

* [face-api] Removes expressions support from face-api in ml5.js (#602)

* rm faceapi expressions support

* rm expression ref in comment

* updates tests for faceapi

* fixes single detection and tests

* Update docs (#603)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* Revert "Update docs (#603)" (#604)

This reverts commit c6b78d0a7aedc7050a095386ad88300d91a761b2.

* Updates docsify docs (#605)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds face-api and neural-network placeholder

* adds section for web editor

* set to /tree/development and adds posenet examples

* adds link to src code

* updates references to examples

* sets tree/development as path

* updates face-api and neural net docs

* rm neural net class from update-docs branch

* moves bodyPix to support preload() (#610)

* Adds preload support to faceApi  (#611)

* moves bodyPix to support preload()

* adds faceapi to preload

* Updates Docs with latest features (#612)

* adds face-api updates and neural network docs updates

* adds docs for nn functions

* adds save and load docs

* adds neural Network documentation

* fixes backticks

* adds sidebar dividers

* adds docs on model loading and contributors (#616)

* Updates gh templates (#617)

* updates PR template

* updates gh issues template

* updates template

* Generic Neural Network class (#485)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#581)

* changes for class

* values not value, but this does not match feature extractor regression

* [Diy nn] Fixes output reversal and gives unnormalized data as outputs of predict() (#582)

* unnormalize outputs for regression

* use .reverse() - note: we should use .unshift() where order matters

* code cleanup

* updates config inputs learning rate and code cleanup

* changed value to return result.outputs

* adds blob reader for json

* [diy nn] moves tf-vis visualizations to helper class (#583)

* adds tfvis to neuralNetworkVis.js

* adds tfvis to class

* handle text and convert to json (#584)

* allow user more control in the case of classification

* allow user more control in the case of classification (#585)

* Refactoring DIY Neural Network (#591)

* [wip] refactoring data handling and logic separation

* wip adding convertRawToTensor

* adds conversion to tensor

* adds normalization step

* adds train()

* adds predictInternal()

* fixes unique value mapping issue

* comment out .print()

* return all regression results

* adds experimental normalizationOptions object

* quick fix for checking if normalizationOptions exists

* commenting out auto tensor printing

* adds checks for normalizationOptions

* fix obj ref in conditional

* adds .normalizeData() - keeps .normalize() for now

* changes whileTraining function when debug is true

* adds layer options for adding more than 2 layers - experimentalgit add .

* remove .normalize() in favor of .normalizeData()

* adds save() and load()

* adds data.warmUp() to allow training without normalization - handled internally on train

* updates outputs of .predict() and .classify() to be array

* Divide by 0 issue when data is not normalized (#596)

* skipping calculating inputMin and inputMax when data not normalized

* adds check for this.data.meta.isNormalized in predictInternal

* Diy nn code cleanup (#606)

* adds input/output checks to specify number or array of input/output names

* moves model creation to training to compile after input and output units have been calcd

* cleanup code in .trainInternal()

* move vars up to top of function in .trainInternal()

* rm model creation from .createModelFromDataInternal()

* code cleanup and adds comments to .initializeIOUnits()

* code cleanup

* [DIY NN] Adds .saveData() and .loadData() (#607)

* adds saveData function

* updates saveData() with input checks

* adds loadData function

* [Diy NN] Adds .predictMultiple() for batch predictions/classifications (#609)

* adds predictMultiple()

* rm ys.print()

* moves bodypix and faceapi to preload support to match base branch

* [DIY nn] Neural Net Fixes loading pre-trained model (#613)

* adds model_meta.json to savedfiles

* adds loading of model_meta.json - temp fix

* use substring method for url checking

* adds check for if input is JSON

* loadData and text variables mixed up (#615)

* [Diy nn] fix model loading load (Work in progress) (#618)

* adds input object as param to .load()

* adds fetch to retrieve data from urls in .load() based on object

* updates object handler

* fixes check for model.json

* fixes parsing and ordering files

* adds fix for p5 web editor - must use explicit json object to load models

* allows user to add video to .segment() and .segmentWithParts() (#619)

* updates unet docs (#620)

* adds basic test for defaults (#621)

* docs: add EmmaGoodliffe as a contributor (#622)

* docs: update README.md

* docs: update .all-contributorsrc

* adds fix for unet image return for p5 (#625)

* updates webpack dev server to 3.1.11 (#629)

* Fixes vulnerabilities noted by npm (#630)

* run npm audit fix

* bumps commitizen dep

* updated readme and readme updater (#632)

* Update NeuralNetwork docs (#631)

* skeleton of generic Neural Network

* proof of concept for training and prediction

* use ml5 callcallbac to handle callback or promisek

* added activation to options

* load save model

* adds placeholder to test and adds defaults

* DIY Neural Net Updates  (#568)

* begins restructuring

* adds tfjs-vis and adds generic createModel() function

* adds tf viz and adds loadData function

* adds normalization function

* adds train function

* adds predict function

* work on DIY Neural Network (#569)

* fixing output and hidden activations

* moving data fields config to loadData()

Eventually this should be ml5.utils() or ml5.data()

* trimming whitespace

* rename labels to targets for training output

* using camelCase

* moves shuffle out of normalize

* [WIP] DIY Neural Net with focus on handling data internally (#571)

* adds data obj in class

* adds initialization step

* creates nn data class

* moves functions to data class

* working with titanic

* adds tf vis for training

* changes tf viz show on training is debug is true

* changes optimizer for regression

* adds unNormalize function

* fix normalization

* rm log

* refactors out to sep modules

* adds options to train

* adds options to train

* adds comments

* adds input/output array function

* removes i/o label check

* fixes optionOrCallback

* fix test

* adds comments

* updates data handling

* updates normalization data handling

* DIY NN data handling updates (#572)

* set up scaffold for creating inputs

* added output scaffolding - turn into functions todo

* adds function to encode data with ontHot or not

* ensure inputTypes/outputTypes exist

* [In progress] DIY NN - handles json and csv loading (#573)

* adds placeholders for json and csv loader'

* add json parsing

* adds true flag to normalization to fix broken function

* Fixes normalization function for NN (#575)

* adds possible fix - moves norm to external function

* adds correctly ordered data

* DIY Neural Network: Handles onehot() encoding for inputs and outputs in normalization (#576)

* adds correct input structure - accounts for onehot inputs

* code formatting and cleaning

* fixes need for onehot in classification for numeric output

* adds whileTraining cb support to train (#577)

* regression needs to pickup learning rate

* Adds temporary fixes for i/o values given to/output by .predict() (#578)

* adds min and max to meta and checks predict sample and forces array

* adds onehot encoding legend

* updating input handling for predict()

* adds label,confidence output for classification

* fix merge conflicts

* rm log

* need to use inputUnits and not input length

* [WIP] Fixes for before class (#58…
joeyklee added a commit to ml5js/ml5-examples that referenced this pull request Nov 14, 2019
* Adds face-api demos (#161)

* added face-expressions demo

* added classifyExpressionsMultiple

* rm model files and model path requirement

* added face landmarks example

* clean up example

* rm options in example

* added local models example

* changed function names

* updated examples to use .detect()

* rm translation

* added image example of Frida

* added detectSingle

* updated image landmarks with landmarks.parts

* refactored code friendly and changed colors

* made ex friendly

* changed options from withFaceX to withX

* Structure examples directories for consistency (#170)

* moved CVAE example to dir

* moved dcgan to random for random space

* moved sentiment to dir

* moved word2vec to dir

* moved files

* rm p5 lib

* match javascript example folder structure

* Examples index page (#171)

* added placeholder index.html and node script

* adds ml5 index page

* added latent vector example (#175)

* Trying out some new example ideas for DCGAN latent vector

* added simpler demo (#181)

* moved index.html to /public (#182)

* [In progress] Support for p5 Instance mode in ml5.js example (#160)

* added bodypix_p5Instance

* adds p5Instance mode example

* [in progress] Adds plain javascript examples based on the p5 examples (#165)

* added plain js bodypix examples

* added cvae example

* added dcgan example

* added faceapi with landmarks // todo expressions

* stashing changes for now

* moved files

* added yolo webcam plain js

* added yolo image example

* remove text on p5

* rm p5 scripts

* adds bodyPix examples

* wip expressions demo

* adds faceapi expressions demo

* adds charRNN_interactive example

* added charRNN_test

* added charRnn_text_stateful'

* adds ImageClassification_Video_Load

* added ImageClassification_DoodleNet_Canvas

* added sentiment ex

* adds unet example

* add doodlenet_video - NOT WORKING

* added posenet examples - NOT WORKING

* added posenet_image_single

* adds part selection example - NEEDS REVIEW

* adds examples for posnet

* added styletransfer video plainjs

* added word2vec example

* rm p5 ref

* added sketchRnn basic example

* added sketchRnn interactive

* adds pix2pix example

* add pix2pix promise

* adds speech command

* adds speech commands example

* adds plain js pitchDetection

* adds pitch game

* format text

* adds knn video example

* adds knn classifier video example

* adds knn classifier posenet

* adds regressor fe

* adds videosquare

* adds sound example

* adds piano ex

* adds scavenger hunt - works only in chrome for now

* adds video and sound example

* adds doodlenet examples

* adds multiple example

* update bodypix examples

* update cvae

* adds updates to faceapi and dcgan

* updates yolo

* updats examples

* adds teachable machine image classification example (#196)

* rm expressions references in faceapi examples (#202)

* adds live-server to npm scripts (#204)

* update gh templates (#211)

* Generic Neural Net Example (#164)

* added example

* added co2 net - WORK IN PROGRESS

* updated model and loaded data from model

* fix unNormalize

* refactored code

* added axes

* added axes

* added message about log transform

* added legend in html

* adds placeholder for titanic example

* adds data, constructor, and laodData

* adds normalize data function

* adds training function

* updates example

* adds neural network training

* Speculative Ideas about Titanic Example (#187)

* speculative ideas with example

* since it's classification is there a way to mirror other ml5 classification examples?

* refactor of titanic example

* Adds titanic example to match diy-nn-with-data (#188)

* adds experimental csv and specified string as output

* working with titanic

* update examples - TODO: feed in normalized vals for titanic inputs

* adds simple regression example placeholder

* adds simple regression example

* comments train with options

* moves batchSize and epoch options

* change to .classify()

* updates co2 training sketch with predict vals from 0 - 1

* update to classify

* updates basic -- broken

* changes inputs and fixes undef.

* changes data in basic

* whitespace adjustments

* some cleanup and ideas for titanic example

* speculative port of color classifier example

* rm shuffle()

* updates color classifier example

* change vals to arrays in .addData()

* work on neural network color classifier (#190)

* small adjustments for testing code with ml5js/ml5-library#574

* example cleanup todos

* updates color classifier example to reflect current generic nn

* Updating Titanic Example (#191)

* redoing titanic example with final cleaned data from @lydiajessup

* training is working but issue with predict and passing in strings

* working with manually encoding of inputs to predict()

* updates titanic sketch

* porting tf.js XOR example from coding train challenge (#192)

* porting tf.js XOR example from coding train challenge

* adding learning rate

* noting hiddenUnits variable

* updating color classifier see: ml5js/ml5-library#581

* refactor titanic example

* using label directly

* logs not loss

* trying values

* moving sketch.js

* update simple regression

* updates regression sketch

* update co2 example

* update to use results.outputs

* Refactors examples to match diy-nn-refactor branch (#195)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* adds refactoring examples

* updates examples based in refactor

* updates xor"

* rm unused co2net

* updates examples for regression

* updates musical note example

* adds experimental normalizationOptions

* adds example of multi layered network

* changes activations

* adds simple classification example

* changes .normalize() to .normalizeData()

* updates all examples to handle array of .predict() or .classify() output

* Pass over DIY interactive data examples (#198)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* Clean-up of interactive neural network examples (#201)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* low res pixel comments and naming

* comments and cleanup for face example

* normalize automatically face

* DIY Neural Network mouseXY classification example (#199)

* neural noteplayer example

* example inspired by Eyeo 2019 Rebecca Fiebrink talk

* rename musical mouse example

* example tweaks and oscillator

* musical face example

* different interface for face example

* mouse and pixels cleanup

* musical face adjust to new API

* code comments

* attempting DIY classification example

* ?

* fixes outputs and changes function to .classify()

* posenet classification example

* rm console.log

* rm withExpressions in musical face

* [diy nn] Updates examples to use labels for inputs/outputs (#205)

* updates musical mouse and xy classifier with specific input/output labels

* update titles

* update text in co2net

* adds load data function (#206)

* adds xOR example with multiPredict (#207)

* [WIP] DIY NN - examples for loading model (#210)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* Updates model_load example (#212)

* adds loadModel example

* updates example showcasing issues

* updated example to reflect current ml5-lib temp fix

* updates loading model example

* rm faceapi examples with expressions (#213)

* Updates bodypix examples to use preload() for p5js examples (#214)

* adds preload example

* updates bodypix to use preload()

* Kmeans Image Segmentation Example (#215)

* adds simple kmeans clustering example

* code cleanup

* change image size to 30 x 30 to run faster

* changes ml5 version to 0.4.0

* updates public index

* updates ml5 version and updater script

* update npm script name"

* adds 2019

* updates p5 to version 0.9.0

* sets localhost

* Revising Teachable Machine Snippets (#218)

* matching proposed TM snippets for image classification

* sound example and refactoring to new TM folder

* changing name to include URL

* fix typo

* adds flipped video (#219)

* updates bodypix examples to reflect updated api (#225)

* adds p5 batch uploader script

* adds p5 batch uploader script (#227)

* set ml to dev

* adds background to unet

* bumps version

* sets ml5 to dev

* merge release and set ml5 local host

* adds example index json and script (#239)

* sets ml5 url to dev

* adds devops scripts for updating ml5 refs and avoiding merge conflicts

* sets ml5 url to release

* bumps version  v0.4.3

* sets ml version to 0.4.3

* updates examples json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants