视觉表示

class VisualRepresentation(images: Sequence[str | Path | Tensor], encoder: str | Module, layer_name: str, max_id: int | None = None, shape: int | Sequence[int] | None = None, transforms: Sequence | None = None, encoder_kwargs: Mapping[str, Any] | None = None, batch_size: int = 32, trainable: bool = True, **kwargs)[source]

基础类:Representation

使用torchvision模型进行视觉表示。

初始化表示。

Parameters:
  • images (Sequence[str | Path | Tensor]) – 图像,可以是张量,也可以是图像文件的路径。

  • encoder (str | Module) – 要使用的编码器。如果以字符串形式给出,则在 torchvision.models 中查找

  • layer_name (str) – 用于提取特征的模型层名称,参见 torchvision.models.feature_extraction.create_feature_extractor()

  • max_id (int | None) – 表示的数量。如果给定,它必须与图像的数量匹配。

  • shape (int | Sequence[int] | None) – 单个表示的形状。如果提供,它必须与编码器输出维度匹配

  • transforms (Sequence | None) – 应用于图像的变换。请注意,随机变换也会导致表示结果具有随机性。

  • encoder_kwargs (Mapping[str, Any] | None) – 在实例化时传递给编码器的额外基于关键字的参数。

  • batch_size (int) – 在编码过程中使用的批量大小

  • trainable (bool) – 编码器是否应该可训练

  • kwargs – 传递给 Representation.__init__() 的额外基于关键字的参数。

Raises:

ValueError – 如果提供了 max_id 并且与图像数量不匹配