📌  相关文章
📜  Tensorflow.js tf.image.resizeBilinear()函数

📅  最后修改于: 2022-05-13 01:56:30.979000             🧑  作者: Mango

Tensorflow.js tf.image.resizeBilinear()函数

Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。

.image.resizeBilinear()函数用于将单个 3D 图像或一堆 3D 图像双线性重新缩放为不同的配置。

句法:

tf.image.resizeBilinear(images, size, alignCorners?, halfPixelCenters?)

参数:

  • images:指定的 rank 4 或 rank 3 的图像,配置为 [batch, height, width, inChannels]。此外,如果它的等级为 3,则假定批次为 1。它可以是 tf.Tensor3D、tf.Tensor4D、TypedArray 或 Array 类型。
  • 尺寸:不同的配置 [newHeight, newWidth] 以重新缩放图像。每个通道都被一一重新缩放。它的类型是 [number, number]。
  • alignCorners:可选参数,默认值为false。如果它是真的,输入被(new_height - 1)/(height - 1)调整大小,这绝对将所述图像的四个角以及重新缩放的图像排队。但是,如果它是假的,那么它会被 new_height / height 重新缩放。它以相同的方式处理宽度尺寸。它是Boolean类型。
  • halfPixelCenters:可选参数,默认值为false。它是Boolean类型。

返回值:返回 tf.Tensor3D 或 tf.Tensor4D。

示例 1:在此示例中,我们将在 tf.image.resizeBilinear()函数中使用 4d 张量和大小参数。

Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling image.resizeBilinear() method and
// Printing output
tf.image.resizeBilinear(tf.tensor4d([[
  
  [[4, 7], [21, 9]],
  
  [[8, 9], [1, 33]]
  
]]), [3, 4]).print();


Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining an array of floats
const arr = [[
  
  [[1.1, 1.7, 1.5, 1.1], 
  [1.7, 1.9, 8.1, 6.3]],
  [[3.3, 3.4, 3.7, 4.0], 
  [5.1, 5.2, 5.3, 5.9]]
  
]];
  
// Calling image.resizeBilinear() method and
// Printing output
tf.image.resizeBilinear(arr, [1, 2], true, false).print();


输出:

Tensor
    [[[[4        , 7        ],
       [12.5     , 8        ],
       [21       , 9        ],
       [21       , 9        ]],

      [[6.666667 , 8.333333 ],
       [7.1666665, 16.666666],
       [7.666666 , 25       ],
       [7.666666 , 25       ]],

      [[8        , 9        ],
       [4.5      , 21       ],
       [1        , 33       ],
       [1        , 33       ]]]]

示例 2:在此示例中,我们将使用浮点数组、alignCorners 以及 halfPixelCenters。

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining an array of floats
const arr = [[
  
  [[1.1, 1.7, 1.5, 1.1], 
  [1.7, 1.9, 8.1, 6.3]],
  [[3.3, 3.4, 3.7, 4.0], 
  [5.1, 5.2, 5.3, 5.9]]
  
]];
  
// Calling image.resizeBilinear() method and
// Printing output
tf.image.resizeBilinear(arr, [1, 2], true, false).print();

输出:

Tensor
    [[[[1.1, 1.7, 1.5      , 1.1      ],
       [1.7, 1.9, 8.1000004, 6.3000002]]]]

参考: https://js.tensorflow.org/api/latest/#image.resizeBilinear