如何将灰度图像数据集加载到移动网络模型
How to load grayscale image dataset to Mobile net model
我正在尝试将灰度图像数据集 (fashion-mnist) 加载到 MobileNet 模型以预测手写数字,但根据 this 教程,只能将 RGB 图像加载到模型。当我尝试提供 fashion-mnist 样本时,出现以下错误
Error when checking input: expected keras_layer_13_input to have shape
(224, 224, 3) but got array with shape (224, 224, 1)
如何解决这个问题?
可能预训练的 MobileNet 不适合这个任务。你有两个不同的问题。 Mobilenet 是为 Imagenet 图像制作的,它们是具有 3 个颜色通道的 224x224 图像,而 MNIST 数据集是具有一个颜色通道的 28x28 图像。您可以在 RGB 中重复颜色通道:
# data.shape [70000, 224, 224, 1] -> [70000, 224, 224, 3]
data = np.repeat(data, 3, -1)
但在此之前,您需要调整图像大小。例如,您可以使用 PIL
来调整图像大小:
from PIL import Image
data = np.array([Image.fromarray(x).resize([224,224]) for x in data])
这里有一些小细节需要你自己去琢磨。例如 dtype
的图像,如果你已经从数据集中加载为 numpy。您可能需要使用 np.uint8()
.
将 numpy 类型转换为整数
试试这个,x = np.stack((x,)*3, axis=-1)
。详情请参考link:https://github.com/malnakli/ML/blob/master/tf_serving_keras_mobilenetv2/main.ipynb
Mobilenet v2 需要 RGB。您也许还可以使用 PIL 的转换功能。
试试这个:
from PIL import Image
x= Image.open(input_image).resize((96,96)).convert("RGB")
文档在这里:https://pillow.readthedocs.io/en/stable/reference/Image.html
我正在尝试将灰度图像数据集 (fashion-mnist) 加载到 MobileNet 模型以预测手写数字,但根据 this 教程,只能将 RGB 图像加载到模型。当我尝试提供 fashion-mnist 样本时,出现以下错误
Error when checking input: expected keras_layer_13_input to have shape (224, 224, 3) but got array with shape (224, 224, 1)
如何解决这个问题?
可能预训练的 MobileNet 不适合这个任务。你有两个不同的问题。 Mobilenet 是为 Imagenet 图像制作的,它们是具有 3 个颜色通道的 224x224 图像,而 MNIST 数据集是具有一个颜色通道的 28x28 图像。您可以在 RGB 中重复颜色通道:
# data.shape [70000, 224, 224, 1] -> [70000, 224, 224, 3]
data = np.repeat(data, 3, -1)
但在此之前,您需要调整图像大小。例如,您可以使用 PIL
来调整图像大小:
from PIL import Image
data = np.array([Image.fromarray(x).resize([224,224]) for x in data])
这里有一些小细节需要你自己去琢磨。例如 dtype
的图像,如果你已经从数据集中加载为 numpy。您可能需要使用 np.uint8()
.
试试这个,x = np.stack((x,)*3, axis=-1)
。详情请参考link:https://github.com/malnakli/ML/blob/master/tf_serving_keras_mobilenetv2/main.ipynb
Mobilenet v2 需要 RGB。您也许还可以使用 PIL 的转换功能。
试试这个:
from PIL import Image
x= Image.open(input_image).resize((96,96)).convert("RGB")
文档在这里:https://pillow.readthedocs.io/en/stable/reference/Image.html