일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 텍스트분석
- 백준
- 코딩테스트
- GNN
- bayesian
- Crawling
- uncertainty
- AI
- 논문리뷰
- VAE
- R
- 베이지안
- DATA
- dropout
- 리눅스
- 우분투
- 크롤링
- Graph
- 강화학습
- 텍스트마이닝
- 데이터분석
- YarinGal
- selenium
- pandas
- 알고리즘
- 불확실성
- PYTHON
- pytorch
- 빅데이터
- 파이썬
- Today
- Total
끄적거림
[데이터셋] PHD08 한글 손글씨 이미지 데이터 본문
딥러닝, 특히 CNN에서 가장 먼저 접하는 데이터셋이 바로 MNIST일거라 생각된다.
MNIST는 0~9까지의 숫자에 대한 손글씨 이미지 데이터이다.
해외에서 공인된 데이터인만큼 데이터를 얻기도 매우 수월하다.(API등과 같은 방법으로)
반면에, 한글에 대한 손글씨 이미지는 찾기 힘들다.
관련해서 구글링하던 중에 한글 손글씨 이미지 데이터를 발견하여 공유하고자 한다.
PHD08
www.dropbox.com/s/69cwkkqt4m1xl55/phd08.alz?dl=0
phd08.alz
Dropbox를 통해 공유함
www.dropbox.com
2008년에 한글 손글씨 이미지 데이터 구축사업이 전북대에서 진행되었다고 한다.
덕분에 방대한양의 한글데이터를 얻을 수 있었다.
다만 한글의 낱글자에 대한 모든 데이터가 각각 2000개가 넘는 파일들이기 때문에 굉장히 방대한 양이라 할 수 있다.
(컴퓨터 용량은 8기가 정도 차지하는 것 같다.)
위의 드롭박스 링크에서 데이터를 다운받으면 다음과 같은 txt파일들이 떨어진다.
여기서 해당 파일을 하나 열어보면 그림과 같다.
0과 1로 binary 코딩이 되어있고, 각기 다른 size(height, width)를 갖고 있다. 또한 이런 글자들이 아래로 쭈욱 붙어 있기 때문에 이에 대한 전처리가 필요한 상황이다.
다행스럽게도 누군가가 이를 이미지 파일로 하나씩 떨구게 만들 수 있는 python 파일을 깃헙에 올려주셨다.
github.com/sungjunyoung/phd08-conversion
sungjunyoung/phd08-conversion
phd08 데이터셋을 .png 로 저장하거나, 일정한 크기의 np.array 로 변환해 줍니다. - sungjunyoung/phd08-conversion
github.com
python 초보 입장에서는 코드가 있다고 하더라도 무슨 말인지 몰랐었다.
몇 번의 시행착오를 통해 바꾸는 방법을 알았고 이를 공유하고자 한다.
1. 먼저, 위의 깃헙에 있는 자료들을 다운받는다.
2. cmd 창을 열어서 해당 자료들이 있는 위치로 이동한다.
3. 여기까지 준비가 잘 되었는지를 아래 코드로 확인해본다.
python phd08_to_png.py --help
4. 샘플 예제로 실행시켜보자.
# python phd08_to_png.py --data_dir=DATA_DIR [--width=WIDTH] [--height=HEIGHT] [--gaussian_sigma=GAUSSIAN_SIGMA]
python phd08_to_png.py --data_dir=phd08_input_samples
그러면 이렇게 진행되고 있다는 문구가 뜨면서,
새로운 폴더가 생성된다.
시간이 진짜 많이 걸리니 원하는 데이터만 뽑아서 진행하는것도 하나의 방법이다.
'Python > Data Handling' 카테고리의 다른 글
[DataFrame] 여러 DataFrame 가볍게 append하기 in python (0) | 2020.11.26 |
---|---|
[문자열 다루기] 문자(한글, 영문)와 숫자만 남기고 특수문자 제거하기 in python (1) | 2020.11.26 |
python DataFrame 데이터 합치기 (0) | 2020.11.20 |
[Pandas] 서로 길이가 다른 list/Series 합쳐서 DataFrame 만들기 in python & R (1) | 2020.08.13 |
[Tips] 조건걸고 새로운 컬럼 추가하기 in Pandas DataFrame (5) | 2020.08.10 |