분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
코랩 구동 inference 부분에서 에러 질문드립니다. (baseline model)
안녕하세요
baseline 모델 기반으로 개발 중인데 학습을 하고 추론하는 과정인
preds = inference(infer_model, test_loader, device)
이 부분에서 항상
TypeError: image must be numpy array type
식의 에러가 발생합니다.
현재 코랩에서 구동중이라 코랩드라이브에 마운트하여 사용중입니다. 구글링해보면 경로 문제로 생각되는데, 혹시나 해결 방법을 아시는 분이 계시다면 도움 부탁드리겠습니다
baseline 코드라면, 이미지를 읽어오지 않아서 생긴 문제로 보입니다.
image를 불러오는 과정의 경로를 확인해봐야겠죠?
colab 이라면 google drive에서 읽어오실텐데, drive 경로를 확인해주세요.
inference 이전까지, 라벨링 및 데이터 전처리 증강, train 까지도 해당 이미지들로 잘 작동됩니다. inference 부분만 안되어서 이상하게 생각하는 중입니다... test.csv 파일 위치는 train 폴더가 있는 곳에 같이 있습니다.
test.csv 파일 위치가 아니라, csv 파일에 있는 이미지 파일의 경로를 확인하셔야죠.
train할 때와 다르게 csv 파일에서 경로를 읽어오실거잖아요?
네 이것저것 시도해본 결과, 코랩 상에서는 test.csv 상의 맨처음 현재 경로인 ' . '이라는 상대경로를 인식하지 못해서 문제가 생겼던 것 같습니다.
test["img_path_real"] = test["img_path"].str.replace(".","/content/gdrive/My Drive/open/Codes/basic", 1)
test 이미지들이 있는 위치로 ' . ' 을 대체하는 위 구문을 추가하여 csv 파일을 수정하고 test_dataset 부분의 파라미터를
test_dataset = CustomDataset(test['img_path_real'].values, None, test_transform)
로 바꾸니 inference가 작동하는 것 같습니다.
답변 감사합니다.
같은 문제로 애먹고 있었는데, 덕분에 해결했습니다. 감사합니다 ~
def __getitem__(self, index):
img_path = self.img_path_list[index]
image = Image.open(img_path)
image = np.array(image)
replace it in Class CustomDataset(Dataset):
I've noticed that some machines are experiencing the same issue.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
삭제된 댓글입니다