Tensorflow.js tf.data.Dataset class.mapAsync() 方法
Tensorflow.js 是一个由谷歌开发的开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。
.mapAsync() 方法用于将所述数据集映射到异步一对一转换。
句法:
mapAsync(transform)
参数:
- 转换:它是将项目数据集映射到转换后的项目数据集的Promise的声明函数。此外,这种转换负责丢弃一些中间张量,如 tf.tidy() 方法中的计算被包装,并且不能在此处编程,因为它在同步类型 map() 情况下。它可以是类型 (value: T) => Promise(tf.void, number, 字符串, TypedArray, tf.Tensor, tf.Tensor[], {[key: 字符串]:tf.Tensor, number, or 字符串} )。
返回值:返回 tf.data.Dataset。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Defining dataset formed of an array of
// numbers and calling mapAsync() method
const res = tf.data.array([16, 12, 13]).mapAsync(
y => new Promise(function(rsol){
setTimeout(() => {
rsol(y + y);
}, Math.sqrt()*400 + 300);
}));
// Calling toArray() method and
// Printing output
console.log(await res.toArray());
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling mapAsync() method and
// Printing output
console.log(await tf.data.array([4.5, 8.5])
.mapAsync(y => new Promise(function(tm) {
setTimeout(() => {
tm(y * y);
})
})).toArray());
输出:
32, 24, 26
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling mapAsync() method and
// Printing output
console.log(await tf.data.array([4.5, 8.5])
.mapAsync(y => new Promise(function(tm) {
setTimeout(() => {
tm(y * y);
})
})).toArray());
输出:
20.25, 72.25
参考: https://js.tensorflow.org/api/latest/#tf.data.Dataset.mapAsync