포디블록 구조 추출 AI 경진대회

알고리즘 | 비전 | 분류 | Accuracy

  • moneyIcon Prize : 1,000 만원
  • 946명 마감

 

[Baseline] Efficientnet B0을 활용한 Multi-Label Classification

2023.01.01 18:27 8,431 Views language

안녕하세요. 데이콘입니다.

데이콘 베이스라인은 모든 참가자의 '제출'을 목표로 합니다. 
해당 내용에 관한 질문은 [토크] 게시판에 게시해 주세요.

본 베이스라인은 이미지로부터 Multi-Label Classification을 수행하는 코드로 Pytorch를 기준으로 작성되었습니다.
베이스라인 코드가 여러분만의 고도화된 모델 작성에 도움이 되면 좋겠습니다.

감사합니다. 
데이콘 드림

Code
로그인이 필요합니다
0 / 1000
꾸라짱
2023.01.03 12:14

다들 코드 잘 돌아 가시나요? 

"""
Run!!

model = BaseModel()
model.eval()
optimizer = torch.optim.Adam(params = model.parameters(), lr = CFG["LEARNING_RATE"])
scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='max', factor=0.5, patience=2,threshold_mode='abs',min_lr=1e-8, verbose=True)

infer_model = train(model, optimizer, train_loader, val_loader, scheduler, device)
"""
이 부분을 실행하면

TypeError: image must be numpy array type

이런 에러가 발생합니다,,

9596
2023.01.03 13:57

저는 이상없이 돌아갔습니다. Getitem 부분 디버깅 해보셔야할것같아요

Redix6
2023.01.03 14:38

보통 이런 경우 image가 none일 겁니다. 
opencv에서 imread가 잘못된 경로일 경우 에러를 발생하지 않고 None을 리턴해서 종종 발생합니다. 

임하식
2023.01.03 17:59

csv파일 안의 ./train/TRAIN_00.jpg 로 상대경로라 
이미지 파일이 든 폴더를 
코드 실행 폴더와 같은 경로에 저장시켜주면 될 것 같아요 

꾸라짱
2023.01.03 18:11

이런 이런,,, 멋쟁이분들 천지네요,,, 감사합니다!!!

원낭
2023.01.16 17:11

혹시 colab에서 코드 실행 폴더랑 이미지 파일 경로를 일치시키는 방법이 어떻게 될까요..? 이미지를 구글 드라이브에 옮기려 하니 자꾸 커널이 죽어서요 ㅠㅠ

loveJamie
2023.01.19 17:26

TypeError: image must be numpy array type
저도 같은 에러가 발생하는데요.. ㅠㅠ 아직 해결을 못했습니다.경로를 올바르게 설정되어 있는데...ㅠ 혹시 해결하신 분 꿀팁 있으실까요? 흑흑

에스삐
2023.01.20 17:52

저도 같은 에러요ㅠㅠ 코랩 경로 일치 어케 하는건가요..

크롱_
2023.01.27 15:43

저는 코랩에서 albumentation 최신 버전을 설치하고 import 해줬더니 해결됐습니다!
!pip install -U git+https://github.com/albumentations-team/albumentations

Mark2do
2023.05.23 12:51

대회가 끝나고 나서야... 보았네요..
암튼 참고하시라고 적어봅니다. 
cv2 문제로 이런현상이 발생하더군요. albumtation 최신으로 저는 해결이 되지 않고, 경로도 해결이 되지 않았습니다.

그래서 customdataset class의 cv2 경로 인식할 때 아래와 같이 Image library로 사용하니 되었습니다.

from PIL import Image
class CustomDataset(Dataset):
    def __init__(self, img_path_list, label_list, transforms=None):
        self.img_path_list = img_path_list
        self.label_list = label_list
        self.transforms = transforms
        
    def __getitem__(self, index):
        #img_path = self.img_path_list[index]
        #image = cv2.imread(img_path)
        img_path = self.img_path_list[index]
        image = Image.open(img_path)
        image = np.array(image)

JunHyeokPark
2023.01.04 20:16

loss function에 따로 .to(device) 를 취해주시는 이유가 있을까요?
custom weight 를 따로 사용하지 않으면 필요 없을 것 같습니다.

서강식
2023.01.07 00:13

혹시 This kernal appears to have died. 는 왜 뜨는 건가요?

Dobby98
2023.01.10 01:19

메모리가 부족해서 그래요

서강식
2023.01.10 11:53

TT

이전 글
연구 논문 "Perceiver"의 기준 모델
Competition - 포디블록 구조 추출 AI 경진대회
Likes 9
Views 2,574
Comments 0
2년 전
현재 글
[Baseline] Efficientnet B0을 활용한 Multi-Label Classification
Competition - 포디블록 구조 추출 AI 경진대회
Likes 8
Views 8,431
Comments 14
2년 전
다음 글
다음 글이 존재하지 않습니다.