快捷方式

ToTensorImage

class torchrl.envs.transforms.ToTensorImage(from_int: Optional[bool] = None, unsqueeze: bool = False, dtype: Optional[device] = None, *, in_keys: Optional[Sequence[NestedKey]] = None, out_keys: Optional[Sequence[NestedKey]] = None, shape_tolerant: bool = False)[原始碼]

將類似 numpy 的影像(W x H x C)轉換為 pytorch 影像(C x W x H)。

將觀測影像從 (… x W x H x C) 張量轉換為 (… x C x W x H) 張量。選擇性地,將輸入張量從 [0, 255] 範圍縮放到 [0.0, 1.0] 範圍(有關更多詳細資訊,請參閱 from_int)。

在其他情況下,張量會以未縮放的形式傳回。

參數:
  • from_int (bool, optional) – 如果 True,則張量將從 [0, 255] 範圍縮放到 [0.0, 1.0] 範圍。如果 False`,則不會縮放張量。如果 None,如果張量不是浮點數張量,則會縮放它。default=None。

  • unsqueeze (bool) – 如果 True,則觀測張量會沿著第一個維度被壓縮。default=False。

  • dtype (torch.dtype, optional) – 用於結果觀測的 dtype。

關鍵字引數:
  • in_keys (NestedKeys 的清單) – 要處理的鍵。

  • out_keys (NestedKeys 的清單) – 要寫入的鍵。

  • shape_tolerant (bool, optional) – 如果 True,則會檢查輸入圖片的形狀。 如果最後一個通道不是 3,則會忽略置換。 預設值為 False

範例

>>> transform = ToTensorImage(in_keys=["pixels"])
>>> ri = torch.randint(0, 255, (1 , 1, 10, 11, 3), dtype=torch.uint8)
>>> td = TensorDict(
...     {"pixels": ri},
...     [1, 1])
>>> _ = transform(td)
>>> obs = td.get("pixels")
>>> print(obs.shape, obs.dtype)
torch.Size([1, 1, 3, 10, 11]) torch.float32
transform_observation_spec(observation_spec: TensorSpec) TensorSpec[source]

轉換 observation spec,使產生的 spec 符合轉換映射。

參數:

observation_spec (TensorSpec) – 轉換前的 spec

傳回值:

轉換後預期的 spec

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources