RapidLib issueshttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues2020-05-04T08:36:46Zhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/126Crash with multiple hidden layers and more hidden nodes2020-05-04T08:36:46ZMichael ZbyszyńskiCrash with multiple hidden layers and more hidden nodes
[This line in the neural network code assumes that weight vectors are the lenght of the input](https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/blob/master/src/neuralNetwork.cpp#L22) It causes a crash if there are multiple hidden lay...
[This line in the neural network code assumes that weight vectors are the lenght of the input](https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/blob/master/src/neuralNetwork.cpp#L22) It causes a crash if there are multiple hidden layers that have more nodes than the nuber of inputs. Fix it.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/125seriesClassification needs JSON functions2019-11-29T08:46:33ZMichael ZbyszyńskiseriesClassification needs JSON functionsI never got around to writing the JSON functions for seriesClassification. Training every time isn't really that bad, but it would be nice to have these functions.I never got around to writing the JSON functions for seriesClassification. Training every time isn't really that bad, but it would be nice to have these functions.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/124Set window for rapidStream2018-04-18T13:20:56ZMichael ZbyszyńskiSet window for rapidStreamUsers would like to resize the rapidStream window. Make it happen.Users would like to resize the rapidStream window. Make it happen.https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/123More epochs when numNodes/Layers is changed2018-02-13T18:04:08ZMichael ZbyszyńskiMore epochs when numNodes/Layers is changedThe default number of epochs isn't enough when more nodes and layers are added. Is there a sensible way to adjust this so that the default is higher in those cases? It doesn't need to be perfect, but maybe closer to a plausible value.The default number of epochs isn't enough when more nodes and layers are added. Is there a sensible way to adjust this so that the default is higher in those cases? It doesn't need to be perfect, but maybe closer to a plausible value.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/122Experiment with web workers2018-01-19T14:11:33ZMichael ZbyszyńskiExperiment with web workersTraining and running functions are currently blocking the main UI thread. I suspect they're fighting with maxiLib, too.
It would be nicer to use web workers and callbacks. But, that will take some design and make the API significantly l...Training and running functions are currently blocking the main UI thread. I suspect they're fighting with maxiLib, too.
It would be nicer to use web workers and callbacks. But, that will take some design and make the API significantly less cross-platform than it is now.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/120Android fails with json_cpp2018-01-15T11:08:08ZMichael ZbyszyńskiAndroid fails with json_cppWhen @jfrin001 was making an Android project, he found that Android Studio/NDK didn't understand locale, which json_cpp is using in getDecimalPoint().
It looks like a newer version of json_cpp uses locale, too. So, maybe we need to com...When @jfrin001 was making an Android project, he found that Android Studio/NDK didn't understand locale, which json_cpp is using in getDecimalPoint().
It looks like a newer version of json_cpp uses locale, too. So, maybe we need to comment JSON out for Android use.https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/117Multiple hidden layers not working with one input2017-12-04T14:49:10ZMichael ZbyszyńskiMultiple hidden layers not working with one input@jfrin001 reported a reproducible case where single input neural networks with multiple hidden layers don't give very good results.@jfrin001 reported a reproducible case where single input neural networks with multiple hidden layers don't give very good results.Future APIMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/116Add Decision trees2018-01-22T09:44:12ZMichael ZbyszyńskiAdd Decision treesThis would be step one for Random Forest.This would be step one for Random Forest.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/114Try web assembly2017-11-14T14:18:51ZMichael ZbyszyńskiTry web assemblyWeb assembly is smaller and potentially faster than asm.js.
It's possible that em++ will compile to wasm with the ```-s WASM=1``` flag? It's worth a try. We should do some real benchmarking some time.Web assembly is smaller and potentially faster than asm.js.
It's possible that em++ will compile to wasm with the ```-s WASM=1``` flag? It's worth a try. We should do some real benchmarking some time.https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/113Explore nbind2017-11-04T13:04:30ZMichael ZbyszyńskiExplore nbindThis nbind project:
https://github.com/charto/nbind#readme
Seems to combine native Node libraries with Emscripten-transpiled browser libraries. It might be just the thing for RapidLib. We should experiment with it if we ever have time.This nbind project:
https://github.com/charto/nbind#readme
Seems to combine native Node libraries with Emscripten-transpiled browser libraries. It might be just the thing for RapidLib. We should experiment with it if we ever have time.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/111NN: combine inputNeurons[] and hiddenNeurons[]2017-09-25T11:20:15ZMichael ZbyszyńskiNN: combine inputNeurons[] and hiddenNeurons[]These two things could be combined into one array, which might make a neater implementation. I don't think it would be noticeably more efficient, though.These two things could be combined into one array, which might make a neater implementation. I don't think it would be noticeably more efficient, though.Future APIMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/107Classification/regression model training - Progress and termination feedback2018-01-19T14:11:33ZFrancisco BernardoClassification/regression model training - Progress and termination feedbackUsers have found the training process cumbersome mainly concerning visibility of system status. This is a major usability problem that has been observed across different user interventions.
In many occurrences in which the users recor...Users have found the training process cumbersome mainly concerning visibility of system status. This is a major usability problem that has been observed across different user interventions.
In many occurrences in which the users recorded a medium-to-large amount of data, they could not understand whether the training process was crashing or just taking to long. In some cases it led them to terminated the browser window.
Recommendation: Implement asynchronous event notification in the training method (e.g., client code should subscribe to an event with a handler that reports progress and/or termination)Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/106Thread hogging behaviour when training a classification/regression model2018-01-19T14:11:31ZFrancisco BernardoThread hogging behaviour when training a classification/regression modelThe "thread hogging" behaviour of the JS client API is problematic as it blocks the whole interface. This is a problem with a severity level between Major Usability problem and Usability catastrophe (Nielsen), observed with high frequenc...The "thread hogging" behaviour of the JS client API is problematic as it blocks the whole interface. This is a problem with a severity level between Major Usability problem and Usability catastrophe (Nielsen), observed with high frequency between different actions and users.
For instance, one participant, decided to move away from using the JS client library to trying to use a server side implementation (which also was problematic on its own). It would be beneficial to explore a Web-worker implementation to surpass this problem.
Recommendation:
Pursue a design pattern in which there are two learning modules (i.e., two classification modules, or two regression modules) one on the regular JS client code, another on the web-worker code. The web worker code receives training data from regular code, trains the model, and exports the JSON model to the regular JS code model, that loads it and runs test data with it.Future APIFrancisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/97Using RapidLib in a React/Webpack application2017-10-08T08:16:06ZFrancisco BernardoUsing RapidLib in a React/Webpack applicationI've been trying to use RapidLib in a React/Webpack application and haven't been able to do it.
I tried to use both versions of RapidLib. The one in code circle, supposedly client side JS library,
https://www.doc.gold.ac.uk/eavi/rapid...I've been trying to use RapidLib in a React/Webpack application and haven't been able to do it.
I tried to use both versions of RapidLib. The one in code circle, supposedly client side JS library,
https://www.doc.gold.ac.uk/eavi/rapidmix/RapidLib.js
and the "node" one (which I just learned that it isn't a node module, but unsure of what it really is)
http://doc.gold.ac.uk/eavi/rapidmixapi.com/examples/RapidLib.js.zip
So far I've had errors while trying to figure out what had a constructor and what is a function (given that this doesn't seem to be documented anywhere) referring that there is no constructor for RapidLib, Regression/Classification is not a function, or there is no constructor
`Failed to compile.
./src/rapidLib/RapidLib.js
Line 2: 'RapidLib' is not defined no-undef
Line 26: 'path' is not defined no-undef
Line 41: 'read' is not defined no-undef
Line 63: Unexpected use of 'print' no-restricted-globals
Line 64: 'printErr' is not defined no-undef
Line 66: 'read' is not defined no-undef
Line 74: 'readbuffer' is not defined no-undef
Line 76: 'read' is not defined no-undef
Line 81: 'scriptArgs' is not defined no-undef
Line 105: 'dump' is not defined no-undef
Line 109: 'importScripts' is not defined no-undef
Line 367: 'EmterpreterAsync' is not defined no-undef
Line 373: 'EmterpreterAsync' is not defined no-undef
Line 2536: 'readline' is not defined no-undef
Line 3460: 'FileReaderSync' is not defined no-undef
Line 4598: 'path' is not defined no-undef
Line 4609: 'node' is not defined no-undef
Line 5426: 'SOCKFS' is not defined no-undef
Line 5433: '__read_sockaddr' is not defined no-undef
Line 5435: 'DNS' is not defined no-undef
Line 5670: 'FUNCTION_TABLE' is not defined no-undef
Line 6396: 'SDL' is not defined no-undef
Line 6396: 'SDL' is not defined no-undef
Line 6396: 'SDL' is not defined no-undef
Line 6484: 'MozBlobBuilder' is not defined no-undef
Line 6484: 'WebKitBlobBuilder' is not defined no-undef
Line 6647: 'GL' is not defined no-undef
Line 6649: 'GL' is not defined no-undef
Line 6659: 'GL' is not defined no-undef
Line 6846: 'SDL' is not defined no-undef
Line 6847: 'SDL' is not defined no-undef
Line 6937: 'SDL' is not defined no-undef
Line 6939: 'SDL' is not defined no-undef
Line 6945: 'SDL' is not defined no-undef
Line 6947: 'SDL' is not defined no-undef
Line 6968: Unexpected use of 'screen' no-restricted-globals
Line 6969: Unexpected use of 'screen' no-restricted-globals
Line 6969: Unexpected use of 'screen' no-restricted-globals
Line 29674: 'quit' is not defined no-undef
`Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/93Minimum number of hidden nodes?2017-08-18T10:53:48ZMichael ZbyszyńskiMinimum number of hidden nodes?I've noticed that a one input neural network isn't very effective. It can't express a very complex curve, since it only has a series of two sigmoid nodes to work with.
Maybe the hidden layer should have a minimum number of nodes?I've noticed that a one input neural network isn't very effective. It can't express a very complex curve, since it only has a series of two sigmoid nodes to work with.
Maybe the hidden layer should have a minimum number of nodes?https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/87DTW "normalisation"2017-08-30T11:52:39ZMichael ZbyszyńskiDTW "normalisation"This is probably more complex than can be addressed in RapidLib.
Some kinds of normalisation could be useful for certain DTW matching. Shifting a gesture in space and/or in size will increase the matching cost in DTW. Location and siz...This is probably more complex than can be addressed in RapidLib.
Some kinds of normalisation could be useful for certain DTW matching. Shifting a gesture in space and/or in size will increase the matching cost in DTW. Location and size could be normalized. For example, a user might want to match the letter "Z" no matter where it is drawn on a canvas, or whether it's big or small.Future APIhttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/85Downsampling for DTW2017-10-08T08:03:32ZMichael ZbyszyńskiDownsampling for DTWThe DTW in Wekinator does some downsampling. This would be a nice feature to implement in RapidLib.The DTW in Wekinator does some downsampling. This would be a nice feature to implement in RapidLib.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/83Logistic Regression2017-07-24T20:16:37ZMichael ZbyszyńskiLogistic RegressionByron Becker expressed interest in a logistic regression model.Byron Becker expressed interest in a logistic regression model.https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/80SVM not working properly yet2017-09-27T11:31:37ZMichael ZbyszyńskiSVM not working properly yetlibSVM is wrapped, but I've yet to get sensible results out of SVM. It always returns the last class that was added.
This could be a bug in the wrapper code, or it could be a problem with the default parameters. SVM is apparently not so...libSVM is wrapped, but I've yet to get sensible results out of SVM. It always returns the last class that was added.
This could be a bug in the wrapper code, or it could be a problem with the default parameters. SVM is apparently not so great with few examples, so it might take some effort to design a reasonable test suite for it.
But, SVM might not be a good match for RapidLib. Too many confusing parameters, bad with few examples, etc. It might be better to implement Random Forest, rather than sink time into making SVM work.https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/89Pass column_names to RapidLib2017-08-30T12:19:29ZMichael ZbyszyńskiPass column_names to RapidLibColumn names are nice. RapidLib would like to have nameable inputs. Pass these data through to RapidLib so they can be used.Column names are nice. RapidLib would like to have nameable inputs. Pass these data through to RapidLib so they can be used.Future APIMichael ZbyszyńskiMichael Zbyszyński