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。压缩级别。可选的压缩
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