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
Source