Javascript 如何使用Tensorflow.js+;Node.js?

Javascript 如何使用Tensorflow.js+;Node.js?,javascript,node.js,tensorflow,tensor,tensorflow.js,Javascript,Node.js,Tensorflow,Tensor,Tensorflow.js,假设我有这样一个张量: 让myTensor=tf.tensor([ [1,2,3], [4,5,6], [7,8,9] ]); 根据Tensorflow.js API文档,我可以使用将张量转换为PNG。文件声称其参数如下: 参数: 图像(Tensor3D)形状[高度、宽度、通道]的三维uint8张量 压缩(数字)可选整数。默认为-1。压缩级别。可选的 在这种情况下,我假设我可以将张量编码为PNG,如下所示: let myImage=wait tf.node.encodePng(myTens

假设我有这样一个张量:

让myTensor=tf.tensor([
[1,2,3],
[4,5,6],
[7,8,9]
]);
根据Tensorflow.js API文档,我可以使用将张量转换为PNG。文件声称其参数如下:

参数:

  • 图像
    (Tensor3D)形状[高度、宽度、通道]的三维uint8张量
  • 压缩
    (数字)可选整数。默认为-1。压缩级别。可选的
在这种情况下,我假设我可以将张量编码为PNG,如下所示:

let myImage=wait tf.node.encodePng(myTensor.cast(“uint8”);
但是,这会导致以下崩溃:

Uncaught Error: Failed to cast to unknown dtype uint8
    at cast_ (.../node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js:5093:15)
    at Object.cast (.../ingester/node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js:4186:29)
    at Tensor.cast (.../ingester/node_modules/@tensorflow/tfjs-core/dist/tf-core.node.js:2181:26)
根据uint8不是张量的有效类型


如何将类型为
float32
的2D张量转换为PNG图像?
uint8
不支持
tf张量的类型。但是,当从后端下载数据时,它可以是
uint8
类型的类型Darray

tf.node.encodePng
的参数是一个3d张量。所以2d张量首先需要被重塑为3d