快捷方式

自定義影片渲染

微調影片渲染設定

TorchRL 的影片日誌記錄功能高度依賴於 torchvision.ioPyAV 模組。儘管這些庫非常方便且功能強大,但要訪問各種可用的引數和設定並不容易。

本指南旨在闡明自定義影片渲染背後的一些一般原則,並向您展示如何根據您的喜好手動調整 rollouts 的渲染設定。

一般原則

最終,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 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源