如何将张贴函数应用于张量? (Tensorflow.js)

时间:2018-05-10 07:36:17

标签: tensorflow tensor tensorflow.js

如何将函数应用于张量的每个元素,如

var new_tensor = old_tensor.map(map_function)

2 个答案:

答案 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>