huggingface에서 datasets으로 머신러닝 도전

https://www.gpters.org/c/ai-developers/using-huggingface-dataset

위 글을 읽고 datasets으로 머신러닝에 도전해봤습니다.도전


https://huggingface.co/datasets/detection-datasets/coco

위 링크에 있는 dataset으로 도전해봤는데 실패했습니다.


colab에서 했는데요. 중간에 runtime 초기화되어서 실패했습니다.

from datasets import load_dataset
text_data = load_dataset("detection-datasets/coco")

이렇게 실행해보았는데요. dataset load하는데 1시간이 넘게 거렸습니다.

load dataset 하는데 너무 오래 걸리네요.

print(text_data)

print해보니

이렇게 나옵니다.

https://chat.openai.com/share/622bafc9-9473-41d4-abb6-0f451c5551a3

챗지피티로 머신러닝 하는법 알려달라고해서 시도해보았습니다.

from torchvision import transforms
from torch.utils.data import DataLoader, Dataset
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import torch
import numpy as np

# 데이터셋 클래스 정의
class CustomDataset(Dataset):
    def __init__(self, data):
        self.data = data

    def __len__(self):
        return len(self.data['image'])

    def __getitem__(self, idx):
        image = self.data['image'][idx]
        label = self.data['objects'][idx]  # 객체 정보를 레이블로 사용 (예시입니다)
        return image, label

그다음에

# 데이터셋 객체 생성
train_dataset = CustomDataset(img_data['train'])
val_dataset = CustomDataset(img_data['val'])

이렇게 train_datset하는데 run time error나면서 colab이 초기화 되었습니다.


쉽지가 않네요.

아래 내용으로 챗지피티에 소스코드 작성해달라고해서 따라한건데 실패했습니다.

import torch
from torchvision import transforms
from torch.utils.data import DataLoader, Dataset
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# CustomDataset 클래스 정의
class CustomDataset(Dataset):
    def __init__(self, data):
        self.data = data

    def __len__(self):
        return len(self.data['image_id'])

    def __getitem__(self, idx):
        image_id = self.data['image_id'][idx]
        image = self.data['image'][idx]
        width = self.data['width'][idx]
        height = self.data['height'][idx]
        objects = self.data['objects'][idx]
        return image, objects

# 데이터셋 객체 생성
train_dataset = CustomDataset(img_data['train'])
val_dataset = CustomDataset(img_data['val'])

# DataLoader 생성
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
val_loader = DataLoader(val_dataset, batch_size=32, shuffle=False)

# RandomForest 모델 생성
model = RandomForestClassifier()

# 모델 학습
train_features = []
train_labels = []
for images, labels in train_loader:
    # 이미지 데이터는 사용하지 않고 객체 정보만 사용
    train_features.append(labels.numpy())
train_features = torch.cat(train_features, dim=0)
train_labels = torch.tensor([1] * len(train_features))  # 레이블은 임의로 생성
model.fit(train_features, train_labels)

# 검증 데이터로 모델 평가
val_features = []
val_labels = []
for images, labels in val_loader:
    # 이미지 데이터는 사용하지 않고 객체 정보만 사용
    val_features.append(labels.numpy())
val_features = torch.cat(val_features, dim=0)
val_labels = torch.tensor([1] * len(val_features))  # 레이블은 임의로 생성
predictions = model.predict(val_features)
accuracy = accuracy_score(val_labels, predictions)
print("Validation Accuracy:", accuracy)

이상입니다.

#10기HuggingFace

#HuggingFace dataset 사용하기

5
2개의 답글

(채용) 유튜브 PD, 마케터, AI엔지니어, 디자이너

지피터스의 콘텐츠 플라이휠로 고속 성장할 팀원을 찾습니다!

👉 이 게시글도 읽어보세요