ipynb 파일 형식으로,
되도록 복사붙여넣기하면 그대로 실행되게끔 유도했는데
그냥 깃허브를 공유하는 게 낫겠지만 나는 깃허브 공유하기엔 부끄럽다. 뫄하하하
# train.json → save_train.json
import json
import os
json_file_path = "../data/medical/ufo/train.json"
new_file_path = "../data/medical/ufo/save_train.json"
# save_train.json 파일이 존재하지 않을 때만 이름 변경 실행
if not os.path.exists(new_file_path):
os.rename(json_file_path, new_file_path)
print('변경 완료')
with open(new_file_path, 'r') as json_file:
data = json.load(json_file)
else:
with open(new_file_path, 'r') as json_file:
data = json.load(json_file)
print("save_train.json이 이미 존재")
원본 train.json을 save_train.json으로 이름을 바꿔
원본을 save해두자.
# Valid Set 제작
'''
drp.en_ko.in_house.deepnatural_002441 구겨진 이미지 # 일반적인 특징을 모르겠어서 직접 보면서 나눴다
drp.en_ko.in_house.deepnatural_002469 스캔 도장
drp.en_ko.in_house.deepnatural_002474 뒷배경 갈색
drp.en_ko.in_house.deepnatural_002491 흐린 이미지
drp.en_ko.in_house.deepnatural_002496 뒷배경 하얀색
drp.en_ko.in_house.deepnatural_002544 가로 배경있음
drp.en_ko.in_house.deepnatural_002624 가로 기울어짐
drp.en_ko.in_house.deepnatural_002628 구겨짐
drp.en_ko.in_house.deepnatural_002850 정상 스캔
drp.en_ko.in_house.deepnatural_003234 가로 흐림
drp.en_ko.in_house.deepnatural_003252 기울어짐
drp.en_ko.in_house.deepnatural_003347 흐림
drp.en_ko.in_house.deepnatural_003435 정상 스캔
drp.en_ko.in_house.deepnatural_003729 가로 글자 작음
drp.en_ko.in_house.deepnatural_003762 배경 있음
drp.en_ko.in_house.deepnatural_003778 스캔, 흐림
drp.en_ko.in_house.deepnatural_003787 뒷 배경 흰색
drp.en_ko.in_house.deepnatural_003811 정상 스캔
drp.en_ko.in_house.deepnatural_003903 정상 사진
drp.en_ko.in_house.deepnatural_003958 기울어진 사진
#drp.en_ko.in_house.deepnatural_003979 정상 사진
'''
img_list = ['drp.en_ko.in_house.deepnatural_002441.jpg',
'drp.en_ko.in_house.deepnatural_002469.jpg',
'drp.en_ko.in_house.deepnatural_002474.jpg',
'drp.en_ko.in_house.deepnatural_002491.jpg',
'drp.en_ko.in_house.deepnatural_002496.jpg',
'drp.en_ko.in_house.deepnatural_002544.jpg',
'drp.en_ko.in_house.deepnatural_002624.jpg',
'drp.en_ko.in_house.deepnatural_002628.jpg',
'drp.en_ko.in_house.deepnatural_002850.jpg',
'drp.en_ko.in_house.deepnatural_003234.jpg',
'drp.en_ko.in_house.deepnatural_003252.jpg',
'drp.en_ko.in_house.deepnatural_003347.jpg',
'drp.en_ko.in_house.deepnatural_003435.jpg',
'drp.en_ko.in_house.deepnatural_003729.jpg',
'drp.en_ko.in_house.deepnatural_003762.jpg',
'drp.en_ko.in_house.deepnatural_003778.jpg',
'drp.en_ko.in_house.deepnatural_003787.jpg',
'drp.en_ko.in_house.deepnatural_003811.jpg',
'drp.en_ko.in_house.deepnatural_003903.jpg',
'drp.en_ko.in_house.deepnatural_003958.jpg',]
train_ann = dict()
valid_ann = dict()
train_ann['images'] = {img: data['images'][img] for img in data['images'] if img not in img_list}
valid_ann['images'] = {img: data['images'][img] for img in data['images'] if img in img_list}
print('train 개수 : ', len(train_ann['images']))
print('valid 개수 : ', len(valid_ann['images']))
>>> train 개수 : 80
>>> valid 개수 : 20
with open('../data/medical/ufo/valid.json', 'w', encoding='utf-8') as file:
json.dump(valid_ann, file, ensure_ascii=False, indent=4)
with open('../data/medical/ufo/train.json', 'w', encoding='utf-8') as file:
json.dump(train_ann, file, ensure_ascii=False, indent=4)
이렇게 하면 json 파일은 생성됐다.
이제 폴더와 json파일을 저장해보자
# train, valid img 폴더 제작
import shutil
train_folder = "/data/ephemeral/home/level2-cv-datacentric-cv-10/data/medical/img/train"
valid_folder = "/data/ephemeral/home/level2-cv-datacentric-cv-10/data/medical/img/valid"
# 폴더 복사
if not os.path.exists(valid_folder):
shutil.copytree(train_folder, valid_folder)
print("폴더 복사 완료")
else:
print("valid 폴더가 이미 존재")
valid폴더에는 train폴더의 모든 이미지가 복사되어 들어있다.
그리고 json에는 80장, 20장의 이미지가 선정되어 새로 제작했다.
728x90
'Lectures > BoostCamp -Naver' 카테고리의 다른 글
level 2 Data-Centric, 5. 공공행정문서ocr (aihub) 사용법 (coco ↔ ufo) (2) | 2024.02.05 |
---|---|
level 2 Data-Centric, 3. CVAT 사용법 (labeling tool) (0) | 2024.02.05 |
level 2 Data-Centric, 0. img위에 annotations 시각화 (1) | 2024.02.05 |
level 2 Data-Centric 대회 정리 (0) | 2024.02.03 |
2-2. mmdetection ConvNext 사용법 (mask rcnn, fp16 error) (0) | 2024.01.20 |
댓글