Skip to content

Conversation

@fisher2470
Copy link

Resolves an error on p005 and includes the JavaScript solution for p006

- Layer_Dense function set to (2,5), resolved shape issue
- Still working on a solution for max along axis with keepdims
@D4veDev
Copy link

D4veDev commented Aug 30, 2022

The "p006-Softmax-Activation in Javascript.js" implementation has a major problem in the Softmax class implementation. Instead of calculation "batch-by-batch", it just combines all values in a single array and calculates the percentage in this single array.

This is not the intended purpose of this class, and I suggest changing it to my implementation:

class Activation_Softmax {
    constructor () {}

    forward (inputs) {
        var exp_values = math.matrix(inputs._data.map(batch => batch.map(i => math.exp(i - math.max(batch)))));
        var probabilities = math.matrix(exp_values._data.map(batch => batch.map(i => i / math.sum(batch))));
        this.output = probabilities;
    }
}

Furthermore, it is advisable to only display the first 5 batches, as this is what the YouTube series does too.

console.log(activation2.output._data.slice(0,5));

The only issue I have is that all calculations assume a predefined matrix shape, which is 3 by whatever.

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