快捷方式

自定義影片渲染

調整影片渲染設定

TorchRL 在其影片記錄功能上嚴重依賴 torchvision.ioPyAV 模組。儘管這些庫非常方便且功能強大,但要訪問可用的各種選項和設定並不容易。

本指南旨在闡明自定義影片渲染的通用原則,並向您展示如何手動調整您的 rollout 的渲染設定以滿足您的需求。

通用原則

最終,torchvision.ioPyAV 呼叫 FFmpeg 庫來渲染影片。

換句話說

  • 任何可以輸入到 FFmpeg 的內容,我們也可以將其輸入到 TorchRL 的 Loggers 中。

  • 對於我們希望使用的任何自定義設定,我們必須參考 FFmpeg 的文件

影片渲染自定義示例

假設以下程式碼片段生成的影片非常模糊,即使我們提供了清晰的逐幀影像來拼接它們

from torchrl.envs import GymEnv, TransformedEnv
from torchrl.record import CSVLogger, VideoRecorder

logger = CSVLogger(exp_name="my_exp")
env = GymEnv("CartPole-v1", from_pixels=True, pixels_only=False)

recorder = VideoRecorder(logger, tag="my_video")
record_env = TransformedEnv(env, recorder)
rollout = record_env.rollout(max_steps=3)
recorder.dump()

由於 TorchRL 的預設影片編碼器是 H264,因此我們必須更改的設定應包含在此類中。

在本示例中,我們選擇 恆定速率因子 (CRF)17,預設為 slow,如文件所述。

我們可以透過將所有所需的設定(作為關鍵字引數)附加到 recorder 中來提高影片質量,如下所示

recorder = VideoRecorder(logger, tag = "my_video", options = {"crf": "17", "preset": "slow"})

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源