Tensorflow.js tf.Tensor转JS号
Tensorflow.js tf.Tensor to JS number
我正在使用 Tensorflow.js 进行一些工作,我想绘制一些存储为 tf.Tensors 的数据。我找不到将它们转换为普通JS数字的方法。
const a = tf.Scalar(1)
const b = tf.Scalar(2)
var array = []
// Now o want to push the numbers 1 and 2 to mye array
array.push(a)
array.push(b)
此代码为我提供了一个张量对象数组。我想要一个数字数组。知道如何进行吗?谢谢。
.dataSync()
下载 GPU 的值和 returns 一个 Float32Array
Tensor 中包含的值。因此,如果您想将值作为张量存储在数组中并希望从中获取数字数组,您可以使用 map()
映射它以创建下载值的数组,因为您在例如,您可以直接映射到 Float32Array
中的第一个元素以获取其值:
let values = array.map(t => t.dataSync()[0])
示例:
const a = tf.scalar(1)
const b = tf.scalar(2)
var array = []
array.push(a)
array.push(b)
let values = array.map(t => t.dataSync()[0])
console.log(values);
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.11.2">
</script>
您可以使用 a.get()
和 b.get()
来获取它们的值。
工作代码是:
const a = tf.scalar(1)
const b = tf.scalar(2)
var array = []
// Now o want to push the numbers 1 and 2 to mye array
array.push(a.get())
array.push(b.get())
console.log(array) // Outputs [1,2]
您可以尝试Codepen
中的工作代码
标量.get()
const a = tf.scalar(1)
const b = tf.scalar(2)
const array = [a, b].map(s => s.get()); // array [1, 2]
我正在使用 Tensorflow.js 进行一些工作,我想绘制一些存储为 tf.Tensors 的数据。我找不到将它们转换为普通JS数字的方法。
const a = tf.Scalar(1)
const b = tf.Scalar(2)
var array = []
// Now o want to push the numbers 1 and 2 to mye array
array.push(a)
array.push(b)
此代码为我提供了一个张量对象数组。我想要一个数字数组。知道如何进行吗?谢谢。
.dataSync()
下载 GPU 的值和 returns 一个 Float32Array
Tensor 中包含的值。因此,如果您想将值作为张量存储在数组中并希望从中获取数字数组,您可以使用 map()
映射它以创建下载值的数组,因为您在例如,您可以直接映射到 Float32Array
中的第一个元素以获取其值:
let values = array.map(t => t.dataSync()[0])
示例:
const a = tf.scalar(1)
const b = tf.scalar(2)
var array = []
array.push(a)
array.push(b)
let values = array.map(t => t.dataSync()[0])
console.log(values);
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.11.2">
</script>
您可以使用 a.get()
和 b.get()
来获取它们的值。
工作代码是:
const a = tf.scalar(1)
const b = tf.scalar(2)
var array = []
// Now o want to push the numbers 1 and 2 to mye array
array.push(a.get())
array.push(b.get())
console.log(array) // Outputs [1,2]
您可以尝试Codepen
中的工作代码标量.get()
const a = tf.scalar(1)
const b = tf.scalar(2)
const array = [a, b].map(s => s.get()); // array [1, 2]