如何将函数应用于张量的每个元素,如
var new_tensor = old_tensor.map(map_function)
答案 0 :(得分:2)
如果您使用dataSync
的{{1}}方法,则可以获得可以映射的oldTensor
。
TypedArray
答案 1 :(得分:0)
如果你的map_function
足够具体,你只需使用张量数学即可。
以下功能是:
的实施old => Math.random()>chance?Math.random():old;
const old = tf.randomUniform([10], 0, 10);
const chance = 0.75;
const mapped = tf.tidy(() => {
const max = Math.round(100 * chance);
const min = max - 1;
const random = tf.randomUniform([old.shape[0]], 0, 100).floor();
const ones = random.clipByValue(min, max).sub(tf.scalar(min));
ones.print();
const zeros = ones.sub(tf.scalar(1)).neg();
zeros.print();
const newValues = tf.randomUniform([old.shape[0]]); //or whatever you want
//newValues.print();
return old.mul(ones).add(newValues.mul(zeros));
});
old.print();
mapped.print();
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.10.0">
</script>