ViTImageConverter
类keras_hub.layers.ViTImageConverter(
norm_mean=[0.5, 0.5, 0.5], norm_std=[0.5, 0.5, 0.5], **kwargs
)
将图像转换为 ViT 模型所需的格式。
此层使用均值和标准差对图像进行归一化。默认情况下,它使用与 Hugging Face 上的 "google/vit-large-patch16-224" 模型相同的归一化方式:norm_mean=[0.5, 0.5, 0.5]
和 norm_std=[0.5, 0.5, 0.5]
(参考)。这些默认值适用于使用此归一化进行预训练的模型。
参数
[0.5, 0.5, 0.5]
。[0.5, 0.5, 0.5]
。keras_hub.layers.preprocessing.ImageConverter
的额外关键字参数。示例
import keras
import numpy as np
from keras_hub.src.layers import ViTImageConverter
# Example image (replace with your actual image data)
image = np.random.rand(1, 224, 224, 3) # # Example
(B, H, W, C)
# Create a ViTImageConverter instance
converter = ViTImageConverter(
image_size=(28,28),
scale=1/255.
)
# Preprocess the image
preprocessed_image = converter(image)
from_preset
方法ViTImageConverter.from_preset(preset, **kwargs)
从模型预设实例化一个 keras_hub.layers.ImageConverter
。
预设是用于保存和加载预训练模型的配置、权重和其他文件资产的目录。preset
可以是以下之一:
'pali_gemma_3b_224'
'kaggle://user/paligemma/keras/pali_gemma_3b_224'
'hf://user/pali_gemma_3b_224'
'./pali_gemma_3b_224'
您可以运行 cls.presets.keys()
来列出该类中所有可用的内置预设。
参数
True
,权重将被加载到模型架构中。如果为 False
,权重将被随机初始化。示例
batch = np.random.randint(0, 256, size=(2, 512, 512, 3))
# Resize images for `"pali_gemma_3b_224"`.
converter = keras_hub.layers.ImageConverter.from_preset(
"pali_gemma_3b_224"
)
converter(batch) # # Output shape (2, 224, 224, 3)
# Resize images for `"pali_gemma_3b_448"` without cropping.
converter = keras_hub.layers.ImageConverter.from_preset(
"pali_gemma_3b_448",
crop_to_aspect_ratio=False,
)
converter(batch) # # Output shape (2, 448, 448, 3)
预设 | 参数 | 描述 |
---|---|---|
vit_base_patch16_224_imagenet | 85.80M | 在 ImageNet 1k 数据集上预训练的 ViT-B16 模型,图像分辨率为 224x224 |
vit_base_patch16_224_imagenet21k | 85.80M | 在 ImageNet 21k 数据集上预训练的 ViT-B16 主干模型,图像分辨率为 224x224 |
vit_base_patch16_384_imagenet | 86.09M | 在 ImageNet 1k 数据集上预训练的 ViT-B16 模型,图像分辨率为 384x384 |
vit_base_patch32_224_imagenet21k | 87.46M | 在 ImageNet 21k 数据集上预训练的 ViT-B32 主干模型,图像分辨率为 224x224 |
vit_base_patch32_384_imagenet | 87.53M | 在 ImageNet 1k 数据集上预训练的 ViT-B32 模型,图像分辨率为 384x384 |
vit_large_patch16_224_imagenet | 303.30M | 在 ImageNet 1k 数据集上预训练的 ViT-L16 模型,图像分辨率为 224x224 |
vit_large_patch16_224_imagenet21k | 303.30M | 在 ImageNet 21k 数据集上预训练的 ViT-L16 主干模型,图像分辨率为 224x224 |
vit_large_patch16_384_imagenet | 303.69M | 在 ImageNet 1k 数据集上预训练的 ViT-L16 模型,图像分辨率为 384x384 |
vit_large_patch32_224_imagenet21k | 305.51M | 在 ImageNet 21k 数据集上预训练的 ViT-L32 主干模型,图像分辨率为 224x224 |
vit_large_patch32_384_imagenet | 305.61M | 在 ImageNet 1k 数据集上预训练的 ViT-L32 模型,图像分辨率为 384x384 |
vit_huge_patch14_224_imagenet21k | 630.76M | 在 ImageNet 21k 数据集上预训练的 ViT-H14 主干模型,图像分辨率为 224x224 |