torchvision.utils¶
-
torchvision.utils.make_grid(tensor: Union[torch.Tensor, List[torch.Tensor]], nrow: int = 8, padding: int = 2, normalize: bool = False, value_range: Optional[Tuple[int, int]] = None, scale_each: bool = False, pad_value: int = 0, **kwargs) → torch.Tensor[source]¶ 制作图像网格。
- Parameters
张量 (张量 或 列表) – 4D mini-batch 张量,形状为 (B x C x H x W) 或一个包含相同大小图像的列表。
nrow (int, 可选) – 每行显示的图像数量。 最终网格大小是
(B / nrow, nrow)。默认值:8。填充 (int, 可选) – 填充量。默认值:
2。normalize (bool, 可选) – 如果为 True,则根据
range指定的最小值和最大值将图像转换到 (0, 1) 范围。默认值:False。value_range (元组, 可选) – 元组 (min, max) 其中 min 和 max 是数字, 然后这些数字用于归一化图像。默认情况下,min 和 max 是从张量中计算得出的。
scale_each (bool, 可选) – 如果为
True,则对批次中的每张图像单独进行缩放,而不是对所有图像的(最小值,最大值)进行缩放。默认值:False。填充值 (float, 可选) – 填充像素的值。默认值:
0。
- Returns
包含图像网格的张量。
- Return type
网格 (张量)
使用
make_grid的示例:
-
torchvision.utils.save_image(tensor: Union[torch.Tensor, List[torch.Tensor]], fp: Union[str, pathlib.Path, BinaryIO], format: Optional[str] = None, **kwargs) → None[source]¶ 将给定的张量保存为图像文件。
- Parameters
张量 (张量 或 列表) – 要保存的图像。如果给定一个迷你批次张量, 则通过调用
make_grid将张量作为图像网格保存。fp (字符串或文件对象) – 文件名或文件对象
格式 (可选) – 如果省略,则根据文件名扩展名确定要使用的格式。 如果使用文件对象而不是文件名,则应始终使用此参数。
**kwargs – 其他参数请参见
make_grid。
-
torchvision.utils.draw_bounding_boxes(image: torch.Tensor, boxes: torch.Tensor, labels: Optional[List[str]] = None, colors: Optional[List[Union[str, Tuple[int, int, int]]]] = None, fill: Optional[bool] = False, width: int = 1, font: Optional[str] = None, font_size: int = 10) → torch.Tensor[source]¶ 在给定图像上绘制边界框。 输入图像的值应在 0 和 255 之间的 uint8。 如果 fill 为 True,则应将结果张量保存为 PNG 图像。
- Parameters
图像 (张量) – 形状为 (C x H x W) 且数据类型为 uint8 的张量。
框 (张量) – 大小为 (N, 4) 的张量,包含以 (xmin, ymin, xmax, ymax) 格式表示的边界框。请注意,这些框是相对于图像的绝对坐标。换句话说:0 <= xmin < xmax < W 和 0 <= ymin < ymax < H。
标签 (列表[字符串]) – 包含边界框标签的列表。
颜色 (List[Union[str, Tuple[int, int, int]]]) – 包含边界框颜色的列表。颜色可以表示为str或Tuple[int, int, int]。
填充 (bool) – 如果为True,则用指定颜色填充边界框。
宽度 (int) – 边界框的宽度。
字体 (str) – 包含TrueType字体的文件名。如果在此文件名中未找到该文件,加载器还可能在其他目录中搜索,例如在Windows上的fonts/目录或在macOS上的/Library/Fonts/, /System/Library/Fonts/和~/Library/Fonts/。
字体大小 (int) – 请求的字体大小(以点为单位)。
- Returns
具有边界框绘制的 dtype 为 uint8 的图像张量。
- Return type
img (张量[C, H, W])
使用
draw_bounding_boxes的示例:
-
torchvision.utils.draw_segmentation_masks(image: torch.Tensor, masks: torch.Tensor, alpha: float = 0.8, colors: Optional[List[Union[str, Tuple[int, int, int]]]] = None) → torch.Tensor[source]¶ 在给定的RGB图像上绘制分割掩码。 输入图像的值应在0到255之间的uint8类型。
- Parameters
图像 (张量) – 形状为 (3, H, W) 且数据类型为 uint8 的张量。
掩码 (张量) – 形状为 (num_masks, H, W) 或 (H, W),数据类型为布尔型的张量。
alpha (float) – 在0和1之间的浮点数,表示掩码的透明度。 0 表示完全透明,1 表示不透明。
颜色 (列表 或 None) – 包含掩码颜色的列表。颜色可以表示为PIL字符串,例如“红色”或“#FF00FF”,或者作为RGB元组,例如
(240, 10, 157)。 当masks具有单个形状为(H, W)的条目时,您可以传递一个单一颜色而不是包含一个元素的列表。默认情况下,为每个掩码生成随机颜色。
- Returns
带有分割掩码的图像张量。
- Return type
img (张量[C, H, W])
使用
draw_segmentation_masks的示例: