LeRobot documentation

Bộ dữ liệu

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bộ dữ liệu

LeRobotDataset là định dạng mà mọi script của LeRobot đọc và ghi. Nó nhận biết theo episode, giải mã quan sát video theo thời gian thực và hỗ trợ đưa về Hugging Face Hub.

Xem Sử dụng LeRobotDataset để biết về định dạng và các thao tác phổ biến, Chuyển đổi bộ dữ liệu lớn để biết về quy trình di chuyển, và Công cụ để biết về CLI.

LeRobotDataset

lớp lerobot.datasets.LeRobotDataset

< >

( repo_id: strroot: str | pathlib.Path | None = Noneepisodes: list[int] | None = Noneepisode_filter: collections.abc.Callable[[dict], bool] | None = Noneimage_transforms: collections.abc.Callable | None = Nonedelta_timestamps: dict[str, list[float]] | None = Nonetolerance_s: float = 0.0001revision: str | None = Noneforce_cache_sync: bool = Falsedownload_videos: bool = Truevideo_backend: str | None = Nonereturn_uint8: bool = Falsedepth_output_unit: str = 'mm'batch_encoding_size: int = 1rgb_encoder: lerobot.configs.video.RGBEncoderConfig | None = Nonedepth_encoder: lerobot.configs.video.DepthEncoderConfig | None = Noneencoder_threads: int | None = Nonestreaming_encoding: bool = Falseencoder_queue_maxsize: int = 30repo_type: str = 'dataset'token: str | bool | None = Nonevideo_decoder_cache_size: int | None = None )

add_frame

< >

( frame: dict )

Tham số

  • frame — Dict ánh xạ tên đặc trưng đến giá trị của chúng cho khung này. Phải bao gồm khóa 'task'. Các tensor Torch được chuyển đổi sang numpy.

Gây ra

RuntimeError

  • RuntimeError — Nếu tập dữ liệu chỉ đọc (không có trình ghi).

Thêm một khung hình duy nhất vào bộ đệm tập hiện tại.

Gọi DatasetWriter.add_frame. Dữ liệu phải ở chế độ ghi (được tạo qua create hoặc resume).

clear_episode_buffer

< >

( delete_images: bool = True )

Tham số

  • delete_images — Nếu True, cũng xóa các tệp ảnh tạm thời đã được ghi vào đĩa cho tập hiện tại.

Gây ra

RuntimeError

  • RuntimeError — Nếu tập dữ liệu chỉ đọc (không có trình ghi).

Bỏ qua bộ đệm tập hiện tại mà không lưu.

Gọi DatasetWriter.clear_episode_buffer. Hữu ích để loại bỏ một phiên ghi âm thất bại hoặc bị gián đoạn.

clear_image_transforms

< >

( )

Xóa transform được áp dụng cho các quan sát thị giác.

tạo

< >

( repo_id: strfps: intfeatures: dictroot: str | pathlib.Path | None = Nonerobot_type: str | None = Noneuse_videos: bool = Truetolerance_s: float = 0.0001image_writer_processes: int = 0image_writer_threads: int = 0video_backend: str | None = Nonebatch_encoding_size: int = 1rgb_encoder: lerobot.configs.video.RGBEncoderConfig | None = Nonedepth_encoder: lerobot.configs.video.DepthEncoderConfig | None = Nonemetadata_buffer_size: int = 10streaming_encoding: bool = Falseencoder_queue_maxsize: int = 30encoder_threads: int | None = Nonevideo_files_size_in_mb: int | None = Nonedata_files_size_in_mb: int | None = None )

Tham số

  • repo_id — Định danh kho, thường là '{hf_user}/{dataset_name}'.
  • fps — Số khung hình mỗi giây được sử dụng trong quá trình thu thập dữ liệu.
  • features — Từ điển đặc tả tính năng ánh xạ tên tính năng sang metadata kiểu/shape của chúng.
  • root — Thư mục cục bộ để lưu trữ bộ dữ liệu. Mặc định là $HF_LEROBOT_HOME/{repo_id}.
  • robot_type — Chuỗi loại robot tùy chọn được lưu trong metadata.
  • use_videos — Nếu True, các phương thức thị giác được lưu dưới dạng video MP4. Nếu False, chúng được lưu dưới dạng hình ảnh.
  • tolerance_s — Dung sai đồng bộ hóa dấu thời gian, tính bằng giây.
  • image_writer_processes — Số lượng tiến trình con để ghi ảnh bất đồng bộ. 0 có nghĩa là chỉ sử dụng luồng.
  • image_writer_threads — Số lượng luồng cho việc ghi ảnh bất đồng bộ.
  • video_backend — Backend giải mã video (được sử dụng khi đọc lại).
  • batch_encoding_size — Số tập (episodes) cần tích lũy trước khi mã hóa video theo lô (batch-encoding). 1 có nghĩa là mã hóa ngay lập tức.
  • rgb_encoder — Cài đặt bộ mã hóa video cho camera (codec, chất lượng, v.v.). Khi None, rgb_encoder_defaults() sẽ được sử dụng.
  • depth_encoder — Cài đặt bộ mã hóa video cho camera đo độ sâu (codec, chất lượng, v.v.). Khi None, depth_encoder_defaults() sẽ được sử dụng.
  • encoder_threads — Số luồng encoder (toàn cục). None để codec tự quyết định.
  • metadata_buffer_size — Số lượng bản ghi metadata của episode được đệm trước khi ghi vào parquet.
  • streaming_encoding — Nếu True, mã hóa các khung hình video theo thời gian thực trong quá trình thu thập thay vì ghi các hình ảnh trước.
  • encoder_queue_maxsize — Số khung hình đệm tối đa cho mỗi camera khi sử dụng mã hóa dạng luồng.

Tạo một LeRobotDataset mới từ đầu để ghi lại dữ liệu.

Trả về một dataset ở chế độ ghi với một DatasetWriter đang hoạt động. Sử dụng add_frame / save_episode để nạp dữ liệu, sau đó gọi finalize khi hoàn tất.

finalize

< >

( )

Xử lý tất cả công việc đang chờ và đóng các trình ghi.

Phải được gọi sau khi thu thập/chuyển đổi dữ liệu, nếu không thì metadata của footer sẽ không được ghi vào các tệp parquet và tập dữ liệu sẽ không hợp lệ.

Idempotent — an toàn khi gọi nhiều lần. del của DatasetWriter đóng vai trò là lưới an toàn nếu điều này không bao giờ được gọi một cách tường minh.

get_raw_item

< >

( idx )

Lấy một khung hình thô mà không áp dụng các phép biến đổi hình ảnh.

Khác với __getitem__, hàm này trả về hàng dữ liệu thô của bộ dữ liệu HF tại chỉ số cho trước, không có mở rộng delta-timestamp, giải mã video hay biến đổi ảnh.

has_pending_frames

< >

( )

Kiểm tra xem có khung hình chưa được lưu trong bộ đệm tập không.

push_to_hub

< >

( branch: str | None = Nonetags: list | None = Nonelicense: str | None = 'apache-2.0'tag_version: bool = Truepush_videos: bool = Trueprivate: bool | None = Noneallow_patterns: list[str] | str | None = Noneupload_large_folder: bool = False**card_kwargs )

Tham số

  • branch — Nhánh tùy chọn để đẩy lên. Nhánh sẽ được tạo từ bản sửa đổi hiện tại nếu nó chưa tồn tại.
  • tags — Danh sách các thẻ tùy chọn cho thẻ mô tả bộ dữ liệu.
  • license — Định danh giấy phép cho thẻ dữ liệu.
  • tag_version — Nếu là True, tạo một thẻ Git cho phiên bản mã nguồn hiện tại.
  • push_videos — Nếu False, bỏ qua việc tải lên thư mục videos/.
  • private — Nếu True, tạo một kho lưu trữ riêng tư. Nếu None (mặc định), áp dụng mặc định của tổ chức trên Hub (chỉ ảnh hưởng đến các tổ chức).
  • allow_patterns — Mẫu Glob (hoặc các mẫu Glob) giới hạn các tệp được tải lên.
  • upload_large_folder — Nếu True, sử dụng upload_large_folder thay vì upload_folder cho các bộ dữ liệu rất lớn.
  • **card_kwargs — Các đối số từ khóa bổ sung được chuyển tiếp cho việc tạo thẻ dữ liệu (dataset card).

Tải bộ dữ liệu lên Hugging Face Hub.

Tạo kho nếu chưa tồn tại, tải lên tất cả các tệp dữ liệu (có thể loại trừ video), tạo thẻ dữ liệu và gắn thẻ bản sửa đổi với phiên bản mã nguồn hiện tại.

tiếp tục

< >

( repo_id: strroot: str | pathlib.Path | None = Nonetolerance_s: float = 0.0001revision: str | None = Noneforce_cache_sync: bool = Falsevideo_backend: str | None = Nonebatch_encoding_size: int = 1rgb_encoder: lerobot.configs.video.RGBEncoderConfig | None = Nonedepth_encoder: lerobot.configs.video.DepthEncoderConfig | None = Noneencoder_threads: int | None = Noneimage_writer_processes: int = 0image_writer_threads: int = 0streaming_encoding: bool = Falseencoder_queue_maxsize: int = 30token: str | bool | None = None )

Tham số

  • repo_id — Định danh kho của bộ dữ liệu hiện có.
  • root — Thư mục cục bộ của bộ dữ liệu. Khi được cung cấp, các bản tải từ Hub sẽ được lưu trực tiếp vào thư mục này. Khi bị bỏ qua, các bản tải từ Hub sẽ sử dụng bộ nhớ đệm snapshot an toàn theo phiên bản nằm dưới $HF_LEROBOT_HOME/hub.
  • tolerance_s — Dung sai đồng bộ hóa dấu thời gian, tính bằng giây.
  • revision — Phiên bản Git (nhánh, thẻ hoặc mã băm commit). Mặc định là thẻ phiên bản của mã nguồn hiện tại.
  • force_cache_sync — Nếu True, tải lại metadata từ Hub ngay cả khi bộ nhớ đệm cục bộ đã tồn tại.
  • video_backend — Backend giải mã video để đọc lại dữ liệu.
  • batch_encoding_size — Số lượng episode cần tích lũy trước khi mã hóa video theo lô.
  • rgb_encoder — Cài đặt bộ mã hóa video cho camera (codec, chất lượng, v.v.). Khi None, rgb_encoder_defaults() sẽ được sử dụng.
  • depth_encoder — Cài đặt bộ mã hóa video cho camera đo độ sâu (codec, chất lượng, v.v.). Khi None, depth_encoder_defaults() sẽ được sử dụng.
  • encoder_threads — Số luồng encoder (toàn cục). None để codec tự quyết định.
  • image_writer_processes — Các tiến trình con để ghi ảnh bất đồng bộ.
  • image_writer_threads — Số luồng cho việc ghi ảnh bất đồng bộ.
  • streaming_encoding — Nếu True, mã hóa video theo thời gian thực trong quá trình thu thập.
  • encoder_queue_maxsize — Số khung hình đệm tối đa cho mỗi camera khi phát trực tiếp.
  • token — Token xác thực được sử dụng nếu cần tải xuống metadata từ Hub. Token không được lưu giữ trên instance của dataset.

Tiếp tục ghi đè lên một tập dữ liệu hiện có.

Tải metadata từ một dataset hiện có (cục bộ hoặc trên Hub) và tạo một DatasetWriter để thêm các episode mới. Dataset HF bên dưới sẽ không được tải cho đến khi finalize được gọi và dữ liệu sau đó được đọc.

save_episode

< >

( episode_data: dict | None = Noneparallel_encoding: bool = True )

Tham số

  • episode_data — Dict episode đã xây dựng sẵn, tùy chọn. Nếu là None, sẽ dùng bộ đệm episode nội bộ được nạp bởi add_frame.
  • parallel_encoding — Nếu True và có nhiều camera, mã hóa video song song bằng cách sử dụng process pool.

Gây ra

RuntimeError

  • RuntimeError — Nếu tập dữ liệu chỉ đọc (không có trình ghi).

Lưu bộ đệm tập hiện tại xuống đĩa.

Gọi DatasetWriter.save_episode. Mã hóa video, ghi dữ liệu parquet và cập nhật metadata. Bộ đệm episode được đặt lại sau đó.

select_columns

< >

( column_names: str | list[str] )

Chọn các cột cụ thể từ bộ dữ liệu cơ bản.

Có ích để trích xuất các chuỗi hành động trong quá trình phát lại mà không cần tải tất cả các đặc trưng. Trả về một datasets.Dataset chỉ chứa các cột được yêu cầu.

set_image_transforms

< >

( image_transforms: collections.abc.Callable | None )

Thay thế transform được áp dụng cho các quan sát thị giác.

LeRobotDatasetMetadata

lớp lerobot.datasets.LeRobotDatasetMetadata

< >

( repo_id: strroot: str | pathlib.Path | None = Nonerevision: str | None = Noneforce_cache_sync: bool = Falsemetadata_buffer_size: int = 10repo_type: typing.Literal['dataset', 'bucket'] = 'dataset'token: str | bool | None = None )

Khung chứa metadata cho một tập dữ liệu LeRobot.

Quản lý các tệp parquet info.json, stats.json, tasks.parquet và episodes/ mô tả cấu trúc, nội dung và thống kê của một tập dữ liệu.

tạo

< >

( repo_id: strfps: intfeatures: dictrobot_type: str | None = Noneroot: str | pathlib.Path | None = Noneuse_videos: bool = Truemetadata_buffer_size: int = 10chunks_size: int | None = Nonedata_files_size_in_mb: int | None = Nonevideo_files_size_in_mb: int | None = None )

Tham số

  • repo_id — Định danh kho (ví dụ: 'user/my_dataset').
  • fps — Số khung hình mỗi giây được sử dụng trong quá trình thu thập dữ liệu.
  • features — Từ điển đặc tả tính năng ánh xạ tên tính năng sang metadata kiểu/shape của chúng.
  • robot_type — Chuỗi loại robot tùy chọn được lưu trong metadata.
  • root — Thư mục cục bộ cho bộ dữ liệu. Mặc định là $HF_LEROBOT_HOME/{repo_id}. Thư mục này không được tồn tại trước đó.
  • use_videos — Nếu True, các phương thức thị giác sẽ được mã hóa dưới dạng video MP4.
  • metadata_buffer_size — Số lượng bản ghi metadata của episode được đệm trước khi ghi vào parquet.
  • chunks_size — Số lượng tệp tối đa trong mỗi thư mục chunk. None sử dụng giá trị mặc định.
  • data_files_size_in_mb — Kích thước tối đa của tệp parquet tính bằng MB. None sử dụng giá trị mặc định.
  • video_files_size_in_mb — Kích thước tệp video tối đa tính bằng MB. None sử dụng giá trị mặc định.

Tạo metadata cho một tập dữ liệu LeRobot mới từ đầu.

Khởi tạo tệp info.json trên đĩa với schema tính năng và cài đặt bộ dữ liệu được cung cấp. Dữ liệu tập chưa được ghi lại.

ensure_readable

< >

( )

Đảm bảo metadata được tải đầy đủ cho các thao tác đọc.

Idempotent — khi metadata đã nằm trong bộ nhớ, đây chỉ là một phép kiểm tra is None. Gọi hàm này trước khi chuyển từ chế độ ghi sang chế độ đọc trên cùng một instance.

filter_episodes

< >

( predicate: Callablecandidates: list[int] | None = None )

Tham số

  • predicate — Điều kiện áp dụng trên các hàng metadata của từng episode, dùng để chọn các episode.
  • candidates — Danh sách tùy chọn các chỉ số tập để giới hạn đánh giá.

Lọc các tập (episodes) có metadata thỏa mãn một điều kiện (predicate) cho trước.

finalize

< >

( )

Xả bộ đệm metadata và đóng trình ghi parquet.

Có tính chất không đổi — an toàn khi gọi nhiều lần.

get_chunk_settings

< >

( )

Lấy cài đặt kích thước chunk và tệp hiện tại.

get_data_file_path

< >

( ep_index: int )

Tham số

  • ep_index — Chỉ số tập (episode) bắt đầu từ 0.

Gây ra

IndexError

  • IndexError — Nếu ep_index nằm ngoài phạm vi.

Trả về đường dẫn tệp parquet tương đối cho chỉ mục tập hợp (episode) đã cho.

get_task_index

< >

( task: str )

Với một tác vụ bằng ngôn ngữ tự nhiên, trả về task_index của nó nếu tác vụ đã tồn tại trong bộ dữ liệu, nếu không thì trả về None.

get_video_file_path

< >

( ep_index: intvid_key: str )

Tham số

  • ep_index — Chỉ số tập (episode) bắt đầu từ 0.
  • vid_key — Chìa khóa đặc trưng nhận diện luồng video (ví dụ 'observation.images.laptop').

Gây ra

IndexError hoặc ValueError

  • IndexError — Nếu ep_index nằm ngoài phạm vi.
  • ValueError — Nếu tập dữ liệu không lưu trữ video nào (không có mẫu video_path).

Trả về đường dẫn tệp video tương đối cho tập và khóa video được chỉ định.

rescale_depth_stats

< >

( output_unit: str )

Tái chuẩn hóa thống kê đặc trưng độ sâu tại chỗ từ đơn vị được ghi lại sang output_unit.

Thống kê độ sâu được lưu trữ theo đơn vị mà các khung hình được ghi lại (features[key]["info"]["depth_unit"]), trong khi các khung hình được trả về theo output_unit khi đọc. Điều này chuyển đổi các mục thống kê có đơn vị để thống kê khớp với các khung hình mà người dùng tiêu thụ nhìn thấy.

save_episode

< >

( episode_index: intepisode_length: intepisode_tasks: listepisode_stats: dictepisode_metadata: dict )

Tham số

  • episode_index — Chỉ số bắt đầu từ 0 của tập (episode) đang được lưu.
  • episode_length — Số khung hình trong episode này.
  • episode_tasks — Danh sách mô tả nhiệm vụ cho tập này.
  • episode_stats — Thống kê cho từng đặc trưng của episode này.
  • episode_metadata — Metadata bổ sung (chỉ mục chunk/tệp, khoảng khung hình, mốc thời gian video, v.v.).

Lưu trữ metadata của episode, cập nhật thông tin dataset và tổng hợp thống kê.

Viết metadata của episode vào bộ ghi parquet được đệm, tăng bộ đếm tổng số episode/khung hình trong info.json, và gộp thống kê của episode vào thống kê tập dữ liệu đang chạy.

save_episode_tasks

< >

( tasks: list )

Tham số

  • tasks — Danh sách các mô tả tác vụ duy nhất bằng ngôn ngữ tự nhiên.

Gây ra

ValueError

  • ValueError — Nếu tasks chứa các phần tử trùng lặp.

Đăng ký các tác vụ cho tập hiện tại và lưu trữ xuống đĩa.

Các tác vụ mới chưa tồn tại trong bộ dữ liệu sẽ được gán chỉ số tác vụ tuần tự và được thêm vào tệp parquet chứa các tác vụ.

cập nhật_chunk_cài_đặt

< >

( chunks_size: int | None = Nonedata_files_size_in_mb: int | None = Nonevideo_files_size_in_mb: int | None = None )

Tham số

  • chunks_size — Số lượng tệp tối đa trong mỗi thư mục chunk. Nếu là None, giữ nguyên giá trị hiện tại.
  • data_files_size_in_mb — Kích thước tối đa cho các tệp parquet dữ liệu, tính bằng MB. Nếu là None, giữ nguyên giá trị hiện tại.
  • video_files_size_in_mb — Kích thước tối đa cho tệp video tính bằng MB. Nếu là None, giữ nguyên giá trị hiện tại.

Cập nhật cài đặt kích thước chunk và file sau khi tạo dataset.

Điều này cho phép người dùng tùy chỉnh cách tổ chức lưu trữ mà không cần sửa đổi bộ khởi tạo. Các cài đặt này kiểm soát cách các tập được chia nhỏ và kích thước tối đa mà các tệp có thể tăng lên trước khi tạo các tệp mới.

update_video_info

< >

( video_key: str | None = Nonevideo_encoder: lerobot.configs.video.VideoEncoderConfig | None = Nonepreserve_keys: collections.abc.Iterable[str] | None = None )

Tham số

  • video_key — Nếu được cung cấp, chỉ cập nhật khóa video này. Nếu không, cập nhật tất cả các khóa video trong tập dữ liệu.
  • video_encoder — Cấu hình Encoder được sử dụng để tạo ra các video. Khi được cung cấp, các trường của nó được ghi lại dưới dạng các mục video.<field> bên cạnh các mục video.* được suy ra từ luồng (xem get_video_info).
  • preserve_keys — Các khóa mà giá trị hiện có của chúng được giữ lại thay vì được tính lại. None (mặc định) sẽ tính lại mọi khóa.

Điền hoặc làm mới thông tin video cho từng tính năng trong info.json.

Cảnh báo: hàm này ghi thông tin từ video của tập đầu tiên, ngầm giả định rằng tất cả các video đều được mã hóa theo cùng một cách. Ngoài ra, điều này có nghĩa là nó giả định rằng tập đầu tiên tồn tại.

Luôn kiểm tra lại các video và ghi đè thông tin hiện có cho mọi khóa được tính lại. preserve_keys liệt kê các khóa mà giá trị hiện có của chúng phải được giữ lại (ví dụ: các mục nội tại của dữ liệu như is_depth_map và các tham số lượng tử hóa độ sâu) thay vì được tính lại.

MultiLeRobotDataset

lớp lerobot.datasets.MultiLeRobotDataset

< >

( repo_ids: listroot: str | pathlib.Path | None = Noneepisodes: dict | None = Noneimage_transforms: collections.abc.Callable | None = Nonedelta_timestamps: dict[str, list[float]] | None = Nonetolerances_s: dict | None = Nonedownload_videos: bool = Truevideo_backend: str | None = Nonetoken: str | bool | None = None )

Một tập dữ liệu bao gồm nhiều LeRobotDataset cơ bản.

Các LeRobotDataset cơ bản được nối lại với nhau một cách hiệu quả, và lớp này kế thừa phần lớn cấu trúc API của LeRobotDataset.

clear_image_transforms

< >

( )

Xóa transform khỏi dataset này và các con của nó.

set_image_transforms

< >

( image_transforms: collections.abc.Callable | None )

Thay thế transform cho tập dữ liệu này và các tập dữ liệu con của nó.

StreamingLeRobotDataset

lớp lerobot.datasets.StreamingLeRobotDataset

< >

( repo_id: strroot: str | pathlib.Path | None = Noneepisodes: list[int] | None = Noneimage_transforms: collections.abc.Callable[[torch.Tensor], torch.Tensor] | None = Nonedelta_timestamps: dict[str, list[float]] | None = Nonetolerance_s: float = 0.0001revision: str | None = Noneforce_cache_sync: bool = Falsestreaming: bool | None = Nonebuffer_size: int = 1000max_num_shards: int = 16seed: int = 42rng: numpy.random._generator.Generator | None = Noneshuffle: bool = Truereturn_uint8: bool = Falsedepth_output_unit: str = 'mm'video_backend: str | None = Nonedata_root: str | pathlib.Path | None = Noneepisode_pool_size: int | None = Noneprefetch_episodes: int = 8byte_budget_gb: float = 8.0repeat: bool = Falserepo_type: typing.Literal['dataset', 'bucket'] = 'dataset'token: str | bool | None = Nonedecode_threads: int = 2decoded_queue_size: int = 8video_decoder_cache_size: int | None = Nonenative_http_connections: int | None = Nonenative_http_subranges: int = 1sidecar_lock_timeout_s: float = 1800sampling_strategy: lerobot.streaming.episode_pool.StreamingSamplingStrategy | str = <StreamingSamplingStrategy.REMAINING: 'remaining'> )

Trình đọc luồng theo phạm vi tập (episode) cho các bộ dữ liệu LeRobot.

Metadata được lưu cache cục bộ, trong khi mỗi rank chỉ đọc các dòng Parquet và các khoảng byte MP4 cần thiết cho các episode hoàn chỉnh mà nó sở hữu. Với N worker của DataLoader, mỗi worker sở hữu một phần rời rạc, cân bằng theo frame của các episode thuộc rank đó, kèm theo pool episode riêng và 1/N ngân sách byte. Mỗi tiến trình có GIL Python riêng, do đó N worker giải mã và lắp ráp mẫu song song. Quyền sở hữu episode là rời rạc và mỗi frame được chọn sẽ được trả về đúng một lần mỗi lần lặp. Các file sidecar MP4 được tự động phân giải và xây dựng trong cache cục bộ có khóa theo revision khi chưa tồn tại.

Ví dụ:

Cách sử dụng cơ bản:

from lerobot.datasets.streaming_dataset import StreamingLeRobotDataset

# Create a streaming dataset with delta timestamps
delta_timestamps = {
    "observation.image": [-1.0, -0.5, 0.0],  # 1 sec ago, 0.5 sec ago, current
    "action": [0.0, 0.1, 0.2],  # current, 0.1 sec future, 0.2 sec future
}

dataset = StreamingLeRobotDataset(
    repo_id="your-dataset-repo-id",
    delta_timestamps=delta_timestamps,
)

# Iterate over the dataset
for i, item in enumerate(dataset):
    print(f"Sample {i}: Episode {item['episode_index']} Frame {item['frame_index']}")
    # item will contain stacked frames according to delta_timestamps
    if i >= 10:
        break

load_state_dict

< >

( state: dict )

Tham số

  • state (dict[str, int]) — Epoch, offset mẫu và kích thước lô cục bộ theo rank. Các khóa thiếu sẽ mặc định là 0, 0 và 1.

Gây ra

ValueError

  • ValueError — Nếu epoch hoặc offset là số âm, hoặc kích thước lô không dương.

Khôi phục vị trí neo của bộ lặp tiếp theo mà không lấy các mẫu bị bỏ qua.

Note: Việc tái tạo thứ tự anchor yêu cầu cùng một tập dữ liệu, seed, sampler, cài đặt pool, topology phân tán và số lượng worker của DataLoader. Với nhiều worker, offset là offset của rank tính theo các batch nguyên có kích thước batch_size; mỗi worker tự suy ra phần của mình, vì DataLoader lấy các batch từ các worker của nó theo lượt. Các phép biến đổi ảnh ngẫu nhiên không được khôi phục bởi phương pháp này.

số tập cho rank

< >

( rank: intworld_size: int )

Trả về số lượng tập hoàn chỉnh mà một rank huấn luyện sở hữu.

số khung cho rank

< >

( rank: intworld_size: intnum_workers: int )

Trả về các khung hình thuộc về một rank huấn luyện duy nhất dưới sharding toàn bộ tập dữ liệu được cân bằng.

set_data_parallel_shard

< >

( rank: intworld_size: int )

Cố định rank và world size của data-parallel, trước torch.distributed và môi trường.

Một worker của DataLoader được khởi tạo không có torch.distributed đã được khởi tạo; các giá trị được truyền đến nó thông qua pickling.

set_epoch

< >

( epoch: int )

Tham số

  • epoch (int) — Epoch bao phủ được dùng để khởi tạo kế hoạch mẫu tiếp theo khi shuffle được bật.

Gây ra

ValueError

  • ValueError — Nếu epoch là số âm.

Chọn một epoch không âm và đặt lại offset tiếp tục cục bộ theo rank.

state_dict

< >

( ) → dict[str, int]

Trả về

dict[str, int]

Epoch, vị trí mẫu đã tạo và kích thước batch khi tiếp tục.

Trả về vị trí cục bộ theo rank hiện tại của bộ lặp.

Note: Với prefetch của DataLoader, các mẫu được yield có thể chưa được tiêu thụ bởi quá trình huấn luyện. Pipeline huấn luyện khôi phục vị trí của nó từ các bước đã hoàn thành. Với nhiều worker của DataLoader, mỗi tiến trình worker chỉ giữ vị trí của riêng nó.

Update on GitHub