분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
코드 하나로 끝내는 Training / Test / Submission
안녕하세요.
DACON을 이번에 처음 접하게 되었는데, 흥미로운 주제가 많아서 재미있네요!
제가 공유하는 코드는 "코드 하나로 끝내는 training/test/submission" 으로, 제목 그대로 이 코드 하나로 Training과 Test, 제출 파일 생성이 모두 가능한 코드입니다. 이 코드로 구동시킨 첫 모델이 Test 0.95정도 나오네요.
아직 Data augmentation이나 다른 기법들을 구현해 넣진 않았지만 대회 참여를 위한 기본적인 Baseline 코드 정도는 공유할 수 있지 않을까 싶어 올려봅니다.
부족하지만 잘 봐주셨으면 좋겠습니다.
---------- 10.26 수정사항----------
- glob()의 .jpg를 .JPG로 수정하였습니다. (리눅스 대응)
- args.batch_size가 실제 batch_size에 영향을 주지 않는 문제를 해결했습니다. 이제 정상적으로 args.batch_size로 batch size를 조절할 수 있습니다.
아 0.95 나온 모델은 제가 짠 ResNet 모델이에요. 위 모델은 예시로 작성한 모델입니다!
아하 그랬군요 resnet만으로도 저리 잘 나오다니 ㅋㅋ 저도 어서 짜보아야겠어요!
image = np.transpose(image, axes=(2, 0, 1)) 축을 바꾸는 이유가 뭔가요 ㅠㅠ?? 알려주실수있나요?
Image.Open으로 PIL 이미지를 불러오면 (Width, Height, 3)으로 불러와 집니다.
Pytorch에서는 Conv2d의 input을 (Batch, Channel, Width, Height)로 입력해야 하기 때문에 np.transpose(image, axes=(2, 0, 1))을 이용하여 (Width, Height, 3)을 (3, Width, Height)로 변환시켜 줍니다.
다른 방법으로는 torchvision.transforms.ToTensor()로 transpose와 range[0,1] 변경을 동시에 해주기도 하는데 여기서는 사용하지 않았습니다.
안녕하세요! 코드 잘 봤습니다.
아래 코드는 왜 필요한 것인가요?
glob(args.train_dir + "*/*/" + filename.replace('[', '[[]') + ".JPG")
이름에 '[' 가 들어간 문자는 [[]로 바꿔준다는 것 같은데, 이 코드로 인해 list out of index 에러가 뜨더라고요 ㅠ
데이터셋 중에 파일명에 [가 들어가는 랜드마크가 하나가 있는데, [가 glob에서 unicode escape을 일으켜서 에러를 생성합니다. 이를 회피하기 위해 [를 [[]로 replace시키면 해결할 수 있어 추가시켰습니다.
glob은 argument의 형식에 맞는 경로들을 리스트 형태로 뽑아주는 라이브러리입니다. 따라서 list out of index가 뜨는 문제라면 glob이 argument의 형식에 맞는 경로를 찾지 못한 것입니다. 즉, 데이터 경로가 제 설정과는 다르셔서 생기는 문제인 것 같습니다.
감사합니다 ^^
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
오 간단한 모델로도 성능이 좋게 나오는군요