Deeplake 데이터 버전 관리와 트레이닝 스트리밍
Deeplake 데이터 버전 관리와 스트리밍
관리형 테이블은 내부적으로 Deeplake 데이터셋으로 구성돼요. client.open_table()로 열면 git과 비슷한 버전 관리와 트레이닝 스트리밍을 그대로 쓸 수 있어요.
버전 관리
ds = client.open_table("my_first_table")
# Commit and tag
ds.commit()
ds.tag("v1.0")
# View history
for version in ds.history:
print(version.id, version.timestamp)
# Branch and merge
ds.branch("experiment")
# ... add data on the branch ...
main_ds = ds.branches["main"].open()
main_ds.merge("experiment")
트레이닝 스트리밍
로컬 다운로드 없이 테이블에서 바로 PyTorch 데이터로더로 스트리밍할 수 있어요.
from torch.utils.data import DataLoader
from deeplake import Client
client = Client()
ds = client.open_table("my_first_table")
loader = DataLoader(ds.pytorch(), batch_size=32, shuffle=True, num_workers=4)
for batch in loader:
# your training step here
print(batch["title"])
어떤 의미인가요
데이터셋을 git처럼 버전 태그하고 브랜치로 실험하다가 병합할 수 있고, 별도로 다운로드 받지 않고도 학습 루프에 바로 흘려보낼 수 있어요. 대용량 멀티모달 데이터를 다룰 때 인프라 부담을 크게 줄여주는 방식이에요.