본문 바로가기
열정/연구 일지

Visual Genome Dataset 다운로드: Hugging Face 사용

by lime9 2024. 2. 6.

직접 데이터 세트를 다운로드 받는 것은 꽤 불편하고 수고롭다.

따라서 많이 사용되는 데이터 세트 다운로드 방법은 Hugging Face이다.

 

 

Hugging Face란?

Hugging Face는 자연어 처리와 Machine Learning 분야에서 모델과 데이터 세트를 공유하고 사용할 수 있도록 하는 온라인 플랫폼 및 커뮤니티이다. 이 플랫폼은 다양한 사전 훈련된 언어 모델, 텍스트 데이터 세트, 관련된 툴을 제공하여 연구자와 개발자들이 최신 기술을 쉽게 활용할 수 있도록 도와준다.

Hugging Face에서는 특히 'transformers' 라이브러리를 통해 다양한 사전 훈련된 언어 모델에 접근할 수 있다. 이 라이브러리는 GPT, BERT, T5 등과 같은 최신의 언어 모델들을 쉽게 사용할 수 있도록 제공된다. 또한, 'datasets' 라이브러리를 통해 다양한 텍스트 및 이미지 데이터 세트에도 쉽게 접근할 수 있는 환경을 제공하고 있다.

이러한 플랫폼은 연구자들이 서로의 모델을 공유하고 협업하며, 더 나은 기술을 개발하는 데에 도움을 주고 있다. 또한, 개발자들은 간편하게 최신의 모델을 통합하여 자신의 프로젝트에 활용할 수 있다.

 

딱 우리를 위한 것이다.

 

 

 


 

 

 

그럼 Hugging Face를 통해 Visual Genome 데이터 세트를 다운로드 받아보자.

 

1. Hugging Face로 이동

Hugging Face 사이트에서 Visual Genome 데이터 세트 창이다.

Visual Genome 데이터 형식에 대한 간단한 설명도 있으니 참고하면 좋다.

(공식 사이트에서도 제공해주지 않는 친절함...)

 

https://huggingface.co/datasets/visual_genome

 

visual_genome · Datasets at Hugging Face

[ { "h": 233, "w": 567, "x": 22, "y": 199, "attributes": [ "black" ], "object_id": 38995, "names": [ "car" ], "synsets": null }, { "h": 242, "w": 149, "x": 99, "y": 203, "attributes": [ "grouped" ], "object_id": 38996, "names": [ "girls" ], "synsets": null

huggingface.co

 

2. Hugging Face 회원가입 및 로그인

계정을 생성하여 Hugging Face 서비스를 사용할 수 있도록 한다.

다운로드를 진행할 때, token이 필요하기 때문에 필수적이다.

이메일 인증까지 완료하여야 한다!

 

3. Access token 받기

이메일 인증까지 완료하면 Setting > Access Tokens 탭에서 Hugging Face 서비스 사용을 위한 access token을 받을 수 있다. 아래의 링크를 따라 token을 받을 수 있다.

이때, 데이터 세트 다운로드인 경우 목적은 read로, Hugging Face에 나의 자료 공유 및 업로드할 경우에는 write로 선택하면 된다.

 

https://huggingface.co/docs/hub/security-tokens

 

User access tokens

User access tokens What are User Access Tokens? User Access Tokens are the preferred way to authenticate an application or notebook to Hugging Face services. You can manage your access tokens in your settings. Access tokens allow applications and notebooks

huggingface.co

 

위 과정을 완료하면 다음과 같이 token을 받을 수 있다.

VG 데이터 세트 다운로드를 위해 복사해두자.

 

Hugging Face를 사용할 수 있도록 초기 세팅은 마쳤다.

 

4. datasets 패키지 다운로드 받기

pip install datasets

 

5. 데이터세트 불러오기

from datasets import load_dataset

# Specify the dataset name
dataset_name = "visual_genome"
access_token = "hf_..."   # personal access token

# Load the Visual Genome dataset
visual_genome = load_dataset(dataset_name, 'relationships_v1.2.0', access_token)

# Access the train split
train_data = visual_genome["train"]

# Example: Print the first 5 samples from the train split
for i in range(5):
    print(train_data[i])

 

access_token 부분에 위에서 복사했던 token을 붙여넣기 하면 된다.

load_dataset의 두 번째 인자에는 다운로드 목적에 따라 사용하고자 하는 서브 세트의 이름을 입력하면 된다.

# 사용 가능한 서브 세트명
['region_descriptions_v1.0.0', 'region_descriptions_v1.2.0', 'question_answers_v1.0.0', 'question_answers_v1.2.0', 'objects_v1.0.0', 'objects_v1.2.0', 'attributes_v1.0.0', 'attributes_v1.2.0', 'relationships_v1.0.0', 'relationships_v1.2.0']

 

당연하겠지만, token은 private key처럼 다른 사람에게 알려지면 안되는 것을 조심하도록 하자.

 

VG 데이터 세트의 경우에는 모든 데이터 세트가 train으로 포함되어 있다.

train, test, validation의 split은 개인적으로 진행해야 할 것 같다.

 

 

 

 

 

 

편하게 살 수 있는 방법은 많은 듯하다.