RapidLib issues
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues
2020-05-04T08:36:46Z
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/126
Crash with multiple hidden layers and more hidden nodes
2020-05-04T08:36:46Z
Michael Zbyszyński
Crash 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ński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/125
seriesClassification needs JSON functions
2019-11-29T08:46:33Z
Michael Zbyszyński
seriesClassification needs JSON 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.
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 API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/124
Set window for rapidStream
2018-04-18T13:20:56Z
Michael Zbyszyński
Set window for rapidStream
Users 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/123
More epochs when numNodes/Layers is changed
2018-02-13T18:04:08Z
Michael Zbyszyński
More epochs when numNodes/Layers is changed
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.
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 API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/122
Experiment with web workers
2018-01-19T14:11:33Z
Michael Zbyszyński
Experiment with web workers
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 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 API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/121
Build a library
2020-07-13T15:24:27Z
Michael Zbyszyński
Build a library
The includes for RapidLib are a bit of a pain. Use CMake to build a dynamic library.
The includes for RapidLib are a bit of a pain. Use CMake to build a dynamic library.
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/120
Android fails with json_cpp
2018-01-15T11:08:08Z
Michael Zbyszyński
Android fails with json_cpp
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 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/119
Zero crossings for rapidStream?
2017-12-08T17:14:35Z
Michael Zbyszyński
Zero crossings for rapidStream?
The number of zero crossings in a buffer might be an interesting thing to add?
The number of zero crossings in a buffer might be an interesting thing to add?
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/118
Expose numHiddenNodes
2017-12-08T10:23:03Z
Michael Zbyszyński
Expose numHiddenNodes
numHiddenNodes would be a useful parameter to expose.
numHiddenNodes would be a useful parameter to expose.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/117
Multiple hidden layers not working with one input
2017-12-04T14:49:10Z
Michael Zbyszyński
Multiple 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 API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/116
Add Decision trees
2018-01-22T09:44:12Z
Michael Zbyszyński
Add Decision trees
This would be step one for Random Forest.
This would be step one for Random Forest.
Future API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/115
Implement exceptions for malformed data
2017-11-22T11:29:11Z
Michael Zbyszyński
Implement exceptions for malformed data
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, ...
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, unit tests should make sure this works.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/114
Try web assembly
2017-11-14T14:18:51Z
Michael Zbyszyński
Try web assembly
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.
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/113
Explore nbind
2017-11-04T13:04:30Z
Michael Zbyszyński
Explore nbind
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.
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 API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/112
seriesClassifcation crash in Node
2017-11-15T16:32:39Z
Michael Zbyszyński
seriesClassifcation crash in Node
This code crashes in NodeJS:
```javascript
var rapidMix = require('rapidlib');
var testDTW = new rapidMix.SeriesClassification();
testSet2 = [];
for (let i = 0; i < 5; ++i) {
testSet2.push([0.1, 0.1, 0.1]);
}
let series2 = {input: ...
This code crashes in NodeJS:
```javascript
var rapidMix = require('rapidlib');
var testDTW = new rapidMix.SeriesClassification();
testSet2 = [];
for (let i = 0; i < 5; ++i) {
testSet2.push([0.1, 0.1, 0.1]);
}
let series2 = {input: testSet2, label: "yyy"};
let series1 = {input: testSet2, label: "zzz"};
let sset = [series1, series2];
console.log(testDTW.train(sset));
console.log(testDTW.run(testSet2));
```
It doesn't crash in the browser here:
https://live.codecircle.com/d/oma4nGEEk8SXvZ6hg
It doesn't crash in C++.
It doesn't crash if the feature vector has 2 or 4 members. It also doesn't crash for many power of two, or similar, set lengths.
It calls ```_abort``` from the emscripten ``_free()`` method.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/111
NN: combine inputNeurons[] and hiddenNeurons[]
2017-09-25T11:20:15Z
Michael Zbyszyński
NN: 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 API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/110
Copyright assertions on all files
2017-09-25T12:59:41Z
Michael Zbyszyński
Copyright assertions on all files
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/109
JS seriesClassification fails with large series
2017-09-21T13:33:58Z
Michael Zbyszyński
JS seriesClassification fails with large series
Testing on this page:
https://live.codecircle.com/d/87dKNLQorohuER84X
seriesClassification seems to fail when either the learned series or the input series is long. This is inconsistent, though.
Testing on this page:
https://live.codecircle.com/d/87dKNLQorohuER84X
seriesClassification seems to fail when either the learned series or the input series is long. This is inconsistent, though.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/108
API methods for training data quantification
2018-01-19T14:25:20Z
Francisco Bernardo
API methods for training data quantification
The quantity of data should be made visible on the high level interfaces — quantity of data can have multiple aspects to it — (e.g., #recorded Rounds, #examples per round, #total memory consumption). In one instance, one participant no...
The quantity of data should be made visible on the high level interfaces — quantity of data can have multiple aspects to it — (e.g., #recorded Rounds, #examples per round, #total memory consumption). In one instance, one participant noticed the memory of the browser was reaching 3GB, and found this unusual, and also observed the consequences in training time.
Recommendation: Participants would benefit from API methods (namely in the training data class) that provide metrics about quantity or volume of data. This should help developers in design by making them explicit through the visual interface metaphors they develop. It should also be explained in the documentation the consequences of dealing with large data sets (e.g., training time, impact on the classification results outcomes, etc.)
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/107
Classification/regression model training - Progress and termination feedback
2018-01-19T14:11:33Z
Francisco Bernardo
Classification/regression model training - Progress and termination feedback
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 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 API