TensorFlow 中图像张量的形状是什么
What is the shape of an image tensor in TensorFlow
最近开始学习Tensorflow,特别想用卷积神经网络做图像分类。我一直在查看官方存储库中的 android 演示,特别是这个例子:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java
在第 145 行,它使用图像的输入数据创建一个张量,如下所示:
inferenceInterface.feed(inputName, floatValues, 1, inputSize, inputSize, 3);
现在,我一直在试图理解它在做什么,它最终调用了这个方法:Tensor.create。我不明白的是为什么这个函数的输入参数给出的张量的形状(也称为 "dimensions")是 {1, inputSize, inputSize, 3}
。第二个和第三个维度是图像的宽度和高度,第四个维度是图像的RGB数据。但是为什么它的第一个维度是 1 呢?这个 Tensor 的形状不应该是 {inputSize, inputSize, 3}
吗?我想因为维度是 1,所以没有什么区别,但我想这个符号一定是有原因的,我不明白。
Tensorflow 处理成批图像。
因此,该模型接受一批图像,每个图像的形状为 inputSize x inputSize x 3
.
1
是批量大小。因此,在实践中,您正在为网络提供一个批次,其中包含一个图像,该图像是一个形状为 1 x inputSize x inputSize x 3
的张量
最近开始学习Tensorflow,特别想用卷积神经网络做图像分类。我一直在查看官方存储库中的 android 演示,特别是这个例子:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java
在第 145 行,它使用图像的输入数据创建一个张量,如下所示:
inferenceInterface.feed(inputName, floatValues, 1, inputSize, inputSize, 3);
现在,我一直在试图理解它在做什么,它最终调用了这个方法:Tensor.create。我不明白的是为什么这个函数的输入参数给出的张量的形状(也称为 "dimensions")是 {1, inputSize, inputSize, 3}
。第二个和第三个维度是图像的宽度和高度,第四个维度是图像的RGB数据。但是为什么它的第一个维度是 1 呢?这个 Tensor 的形状不应该是 {inputSize, inputSize, 3}
吗?我想因为维度是 1,所以没有什么区别,但我想这个符号一定是有原因的,我不明白。
Tensorflow 处理成批图像。
因此,该模型接受一批图像,每个图像的形状为 inputSize x inputSize x 3
.
1
是批量大小。因此,在实践中,您正在为网络提供一个批次,其中包含一个图像,该图像是一个形状为 1 x inputSize x inputSize x 3