Huggingface에 dataset올리기

2한나·2025년 7월 7일

졸업연구

목록 보기
12/13

천문팀에게서 dataset을 전달받았다.
이 dataset을 hugging face에 올려 사용할 예정이다.

dataset

iamge

TNG50에서 py-sphviewer로 생성해낸 이미지

metadata

  • SubHaloID: 은하 ID
  • Snapshot: 시점
  • Filename: 이미지 경로
  • Phase: 라벨

SubHaloID

  • 각도별로 3장씩
  • subhalo = 은하(별/가스/블랙홀)

Snapshot

  • 91 - 99까지 사용
  • 우주 시뮬레이션의 특정 시점에서의 전체 상태를 저장한 데이터
  • TNG 시뮬레이션에서는 보통 총 100개의 snapshot이 존재
  • snapshot 번호는 0부터 99
    0번 : 초기 우주 (빅뱅 직후, redshift ≈ 127)
    99번 : 현재 우주 (redshift ≈ 0, 현재 시점)

Filename

  • 이미지 파일명

Phase
각각의 snapshot 기준으로 이전 snapshot 10번 이내에 merger가 있었으면 post merger, 이후 10번 이내에 merger가 있을 예정이면 pre merger, 전후 10번 내에 없으면 non merger로 라벨링함

  • -1: premerger
  • 0 : nonmerger
  • 1 : postmerger

Hugging Face 업로드 과정

1. 구글 드라이브에 image와 metadata 파일 올리기

2. 코랩 코드 작성

# 1. 필요한 라이브러리 설치 및 로그인
!pip install datasets huggingface_hub pandas --quiet

from huggingface_hub import notebook_login
notebook_login()

# 2. Google Drive 마운트
from google.colab import drive
drive.mount('/content/drive')

# 3. 경로 설정 및 압축 해제
import os
import zipfile
import pandas as pd

# 경로 설정
drive_path = "/content/drive/MyDrive/subhalo_catalogue_data"
zip_path = os.path.join(drive_path, "rawImages.zip")
csv_path = os.path.join(drive_path, "subhalo_catalogue.csv")
extract_dir = "raw_images"

# 압축 해제
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
    zip_ref.extractall(extract_dir)  # 이미지들이 raw_images/ 하위에 저장됨

# CSV 불러오기
df = pd.read_csv(csv_path, sep=",") 

# 이미지 경로 붙이기
df["image"] = df["Filename"].apply(lambda x: os.path.join("raw_images", "images", x))

# 필요한 열만 선택
df = df[["SubHaloID", "Snapshot", "Phase", "image"]]


# 4. Hugging Face Dataset 객체 생성
from datasets import Dataset, Features, Value, Image

features = Features({
    "SubHaloID": Value("int32"),
    "Snapshot": Value("int32"),
    "Phase": Value("int32"),
    "image": Image()
})

dataset = Dataset.from_pandas(df, features=features)

# 5. Hugging Face에 업로드
dataset_name = "GalaxyMergerRawImage"
dataset.push_to_hub(dataset_name)

3. huggingface 확인

Hugging Face - GalaxyMergerRawImage

0개의 댓글