Why*_*ync 5 speech-to-text tensorflow
我正在使用 Electron + ReactJS 和 Tenserflow。
我希望在我说话时能够识别 500-1000 个单词,例如“狗”、“换行符”、“猫”。
而且我对 Tenserflow 还很陌生。这是代码:
const loadModel = async () => {
setLoading(true);
// start loading model
const recognizer = await speech.create('BROWSER_FFT');
// check if model is loaded
await recognizer.ensureModelLoaded();
const transferRecognizer = recognizer.createTransfer('programming');
await transferRecognizer.collectExample('cat');
await transferRecognizer.collectExample('dog');
await transferRecognizer.collectExample('newline');
await transferRecognizer.collectExample('_background_noise_');
await transferRecognizer.collectExample('newline');
await transferRecognizer.collectExample('dog');
await transferRecognizer.collectExample('cat');
await transferRecognizer.collectExample('_background_noise_');
await transferRecognizer.train({
epochs: 25,
callback: {
onEpochEnd: async (epoch, logs) => {
console.log(`Epoch ${epoch}: loss=${logs.loss}, accuracy=${logs.acc}`);
}
}
});
setModel(transferRecognizer);
// store command word list to state
console.log('transferRecognizer.wordLabels():', transferRecognizer.wordLabels());
setLabels(transferRecognizer.wordLabels());
setLoading(false);
};
Run Code Online (Sandbox Code Playgroud)
const recognizeCommands = async () => {
model?.listen(
result => {
// add argMax function
setAction(labels[argMax(Object.values(result.scores))]);
},
{ includeSpectrogram: true, probabilityThreshold: 0.9 }
);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |