728x90
반응형

1) 구글 이미지 웹스크래핑을 함
18,222개

2) 걸러내기
- 의도와 상관없는 이미지 제거
- 중복이미지 제거
4,098여개

3) bnd box labeling
- labelimg를 통한 레이블링
* 향후 augmentation 데이터 확보

4) 데이터셋 확보
코랩 업로드

5) TFrecord 변환
- target label 일치화
- 경로 재설정
- debugging
* image format not jpeg error가 있어서 로컬 원본 데이터셋에서 png 검색했을 때 1장이 나옴
https://discuss.tensorflow.org/t/valueerror-image-format-not-jpeg/2143/10

ValueError: Image format not JPEG

Sure, @fredy_rivas. Feel free to find the code in the repository linked below.

discuss.tensorflow.org

확장자명은 jpg이지만 png로 인식되어서 해당 이미지와 annotation 삭제


6) tfrecord로 학습

반응형

'Debugging' 카테고리의 다른 글

Git 라이브러리 쓰는 법  (0) 2021.12.29
Image Custom Dataset 파일명 변경하기  (0) 2021.12.21
한셀 데이터로드 오류  (0) 2021.06.29
Pandas Excel 데이터로드  (0) 2021.06.28
728x90
반응형

보통 python 내장 라이브러리 혹은 pip install 된 라이브러리를 쓰곤 한다. 그럼 별도의 지정없이 import 만으로 사용이 가능하다.

 

그런데 요즘 오픈소스를 많이들 쓰니까 github의 라이브러리를 쓰고 싶을 때가 있을 것이다.

 

그 github의 라이브러리를 끌어올 때 디버깅에 관한 포스트이다.

내가 clone할 git 주소는 google의 automl이다.

https://github.com/google/automl

 

GitHub - google/automl: Google Brain AutoML

Google Brain AutoML. Contribute to google/automl development by creating an account on GitHub.

github.com

 

 

다운로드 할 수 있는 방법으로 두가지가 있다.

1) pip install 하는 방법

pip install git+https://github.com/google/automl.git

https://lsjsj92.tistory.com/592

 

github repository로 python pip install 만드는 방법 정리

포스팅 개요 이번 포스팅은 Python의 패키지를 관리해주는 pip install에 대해서 정리합니다. 그 중 github(혹은 gitlab 등)를 이용해서 pip install을 하는 방법에 대해서 정리를 해보려고합니다. 이렇게 git

lsjsj92.tistory.com

시스템 path로 설치하는 방법인데 위 블로그를 참고하길 바란다.

핵심은 __init__, setup.py등 다운로드할 수 있는 장치를 만들어놓는 것이다.

 

 

2) 로컬 인스톨

로컬에 디렉토리를 설치해놓고 가져다 쓰는 방법이 있다.

(1) 직접 다운로드 하는 방법

download zip 버튼을 누르고 zip파일을 자신이 원하는 곳에 설치한다.

 

그럼 로컬에 설치된다.

그리고 이 라이브러리를 사용하기 위해선 sys.path.append 로 경로를 지정해주어야 한다. 

import os
import sys

sys.path.append('C:/-/-/projects/automl/efficientdet')

경로를 지정해주지 않으면 모든 모듈을 절대경로로 가져와야 한다.

 

 

(2) git clone하는 방법

git clone http로 설치하는 방법이 있다.

!git clone https://github.com/google/automl.git

명령어를 입력하면 마치 직접 download zip파일을 압축해제하듯 다운로드한다.

cloning into 'library' 메세지가 나오면서 설치가 된다.

 

마찬가지로 sys.path.append로 경로지정을 해주면 원활하게 import 된다.

 

# fatal: destination path 'automl' already exists and is not an empty directory. // error

혹시 까먹어서 다시 cell run하여 다시 다운로드 받게 되면 fatal: destination path 'automl' already exists and is not an empty directory. 메시지가 나온다.

설치할 경로에 이미 동일한 라이브러리가 설치되어있어 설치할 수 없다는 것이다.

 

기존 라이브러리를 확인하고 제거하거나, 다시 설치할 필요가 없다.

 

반응형
728x90
반응형

파일명 변경하는 것은 사실 블로그들에 많이 풀려있는 코드이긴 하다.

그러나 나는 computer vision을 위한 Image Custom dataset의 이름명을 통일하고 내가 원하는 방식으로 정렬하기 위한 코드를 짰다.

 

파일명을 변경하는 이유는 

1) image dataset을  web scraping하거나, 다운로드 후 운용하는게 아니라 팀이 직접 찍어서 labeling하기 때문에 파일 명이 각기 다를 수 있다.

 

2) pascal voc dataset 형식을 따르는데 형식에 맞추기 위함이다.

 

3) train_test_split을 하기 위해서는 내가 통제할 수 있는 형식이 필요하다.

 

코드는 아래와 같다.

import os
import glob
import re

path = "./VOC2021/JPEGImages/"      # 파일경로 설정
filename = glob.glob(path + '*.jpg') # 확장자명 설정
print(filename[:10])   # 파일명 확인

for idx, name in enumerate(filename) : 
    print(idx, ":", name[-10:]) # 바꾸기전
    os.rename(name, os.path.join(path, '{0:06d}'.format(idx+1)+'.jpg'))
    print(idx, ":", name) # 바꾼 후
    print()
    

4985 : 009950.jpg
4985 : ./VOC2021/JPEGImages\009950.jpg

4986 : 009954.jpg
4986 : ./VOC2021/JPEGImages\009954.jpg

4987 : 009955.jpg
4987 : ./VOC2021/JPEGImages\009955.jpg

4988 : 009958.jpg
4988 : ./VOC2021/JPEGImages\009958.jpg

4989 : 009959.jpg
4989 : ./VOC2021/JPEGImages\009959.jpg

4990 : 009961.jpg
4990 : ./VOC2021/JPEGImages\009961.jpg

glob.glob()로 디렉토리의 원하는 파일명을 긁어올 수 있다.

os.rename로 파일명을 수정할 수 있다.

 

 

 

반응형

'Debugging' 카테고리의 다른 글

custom data로 tfrecord 변환해서 efficientDet 학습하기  (0) 2022.01.23
Git 라이브러리 쓰는 법  (0) 2021.12.29
한셀 데이터로드 오류  (0) 2021.06.29
Pandas Excel 데이터로드  (0) 2021.06.28
728x90
반응형

저도 엑셀파일 데이터로드하다가 터졌는데요

찾아보니 버전 문제라고 해서

버전 2010년 이하로 낮춰도 안되고

libreoffice 라는 파일했는데 

<></>식으로 셀이 테그로 출력되어서

 

결국 ms office설치했습니다.

데이터분석 생태계가 미국이다 보니, 엔지니어들이 한셀까진 커버하지 않은 거죠...

 

ms office설치하고 행복 분석하고 있습니다...

반응형
728x90
반응형

pandas excel data load

판다스 엑셀 데이터 로드

 

1. 라이브러리 불러오기

import pandas as pd

 

2. 데이터 로드 및 변수 저장

df = pd.read_excel('./파일명.xlsx', engine='openpyxl')

 

3. 데이터 확인

print(df.head())

반응형

+ Recent posts