Source

AI/Metrics/generators.js

import { Order } from 'blockly/javascript';
/**
 * @category AI
 * @module Metrics
 */
/**
 * Categorical accuracy metric function.
 *
 * @param {Tensor} actual Binary Tensor of truth: one-hot encoding of categories.
 * @param {Tensor} predicted Binary Tensor of prediction: probabilities or logits for the same categories as in actual.
 * @returns {Tensor} tf.metrics.categoricalAccuracy(actual, predicted)
 */
function categoricalAccuracy(block, generator) {
    const actual = generator.valueToCode(block, 'ACTUAL', Order.NONE) || ''; //tensor to update
    const predicted = generator.valueToCode(block, 'PREDICTED', Order.NONE) || ''; //indices
    return [`tf.metrics.categoricalAccuracy(${actual}, ${predicted})`, Order.VOID];
}
/**
 * Binary accuracy metric function.
 *
 * @param {Tensor} actual Binary Tensor of truth
 * @param {Tensor} predicted Binary Tensor of prediction
 * @returns {Tensor} tf.metrics.binaryAccuracy(actual, predicted)
 */
function binaryAccuracy(block, generator) {
    const actual = generator.valueToCode(block, 'ACTUAL', Order.NONE) || ''; //tensor to update
    const predicted = generator.valueToCode(block, 'PREDICTED', Order.NONE) || ''; //indices
    return [`tf.metrics.binaryAccuracy(${actual}, ${predicted})`, Order.VOID];
}
export const metricBlockGenerator = {
    ['categorical_accuracy']: categoricalAccuracy,
    ['binary_accuracy']: binaryAccuracy,
};
//# sourceMappingURL=generators.js.map