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_datasettext_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