捷徑

自訂影片渲染

調整影片渲染設定

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

檢視文件

教學

取得初學者和進階開發者的深入教學課程

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源