728x90

2021/07 9

[python/Tensorflow] TFRecord를 만들어서 최소한의 CIFAR-10데이터로 학습시키기

이전에 번역했던 TFRecord포스팅보다 조금 더 알기 쉬운 일본 블로그 포스팅을 발견해서 번역해서 정리해두고자 한다. 1. TFRecord에 대해 TFRecord가 종종 나오지만, 비교적 입문하기 어렵기 때문에 방치하는 경우가 많다. 이번에는 CIFAR-10를 스스로 만든 TFRecord를 경유해서 학습시켜 보도록 하겠다. Numpy베이스로 할 수 있는 최소한의 처리를 TFRecord로 작성한다. TFRecord가 무엇인가에 대한 이야기부터 하자면, TFRecord는 Tensorflow가 장려하고 있는 머신러닝 데이터 포맷이다. 포맷은 Protocol Buffer가 베이스이다. 2. Numpy 배열을 기록하기 위해서는 TFRecord는 다양한 작성 방법이 있지만, 처음에는 "어떤 방법으로 작성하면 좋을..

IT/AI\ML 2021.07.30

[python] python으로 excel을 조작할 수 있는 openpyxl 사용법

excel 파일을 python으로 다룰 수 있는 openyxl 패키지에 대한 내용과 기본적인 사용법을 정리해보았다. 우선 OpenPyXL 문서는 여기서 확인이 가능하다. OpenPyXL이란 OpenPyXL은 Excel 파일을 읽고 쓰기를 Python으로 할 수 있는 일종의 모듈이다. 예를 들어 아래와 같은 조작이 가능하다. - 셀 번호를 지정해서 이미지나 문자열을 입력할 수 있다. - Excel 파일의 시트 데이터를 복사해서 다른 시트에 붙여넣기 할 수 있다. - 시트를 추가하거나 삭제할 수 있다. 다만 이 모듈을 사용하기 위해서 주의해야할 점이 한 가지가 있는데 바로 확장자가 ".xlsx"여야한다는 것이다. 이번 포스팅에서는 정말 기초적인 방법만 다루도록 하겠다. OpenPyXL 설치법 다른 패키지나 ..

IT/언어 2021.07.27

[논문] 새로운 활성화함수 "FReLU" 탄생과 해설

※ 일본 블로그의 포스팅을 해석한 것입니다. 오역이나 직역이 있을 수 있으며, 내용 오류는 댓글로 알려주시면 수정하도록 하겠습니다. 이미지 인식에 특화된 새로운 활성화 함수 FReLU 해설과 구현 뉴럴 네트워크의 비선형성을 받쳐주고 있는 활성화 함수이지만, 현재 사실상의 표준으로 ReLU만 언급되고 있다. 심플하고 강력한 ReLU에 대적할 새로운 활성화 함수로써 Swish[Ramachandran, P.(2017)]나 Mish[Misra, D.(BMVC'20)] 제안되었지만, 최근(2020년 10월)에 이미지 인식에 특화된 활성화 함수로 등장해 ECCV'20에 채택된 Funnel Activation (통칭 FReLU)가 두각을 나타내고 있다. 이미지 분류나 물체 검출, 시멘틱 세그멘테이션등의 분야 등에 성..

IT/AI\ML 2021.07.25

머신러닝에서의 IoU(Intersection over Union)란?

IoU란? IoU는 Intersection over Union의 약어로 머신러닝의 물체검출 분야에서 2개의 영역이 "얼마나 겹쳐져 있는가"를 표시하는 지표이다. 물체 검출의 평가지표인 IoU IoU는 물체 검출 분야에서 평가지표로 사용된다. 여기서 물체 검출이란 "이미지"와 정답 라벨(어느 영역에 어떤 것이 있는가에 대한 정보)가 전달될 때, 이것을 얼마나 정확하게 검출하는가에 대한 문제이다. 정답 영역 및 예측 영역은 대부분 직사각형으로 하는 문제 설정이 많다. 정답 영역과 예측 영역이 겹쳐진 부분이 클 수록 IoU의 값이 커진다. 예측 영역이 어긋나거나, 정답 영역내에서도 너무 작은 영역이 겹친다거나 정답 영역에 포함되어 있어도 너무 크면 IoU의 값이 낮아진다. 즉, IoU의 값이 클수록 "물체가 ..

IT/AI\ML 2021.07.19

[python/pandas] DataFrame 합치기 : merge, join(열, 인덱스 기준)

날짜나 이름등 공통 데이터 열을 가지고 있는 여러 개의 pandas.DataFrame을 그 공통된 열을 기준으로 결합하기 위해서는 pandas.merge()함수 혹은 pandas.DataFrame의 merge()메소드를 사용한다. 인덱스 열을 기준으로 결합할 경우에는 pandas.merge()를 사용할 수 있고, pandas.DataFrame의 join()메소드도 사용할 수 있다. 이 포스팅에서는 아래의 내용에 대해 설명하고자한다. pd.merge(), pd.DataFrame.merge()의 기본적인 사용법 키가 되는 열을 지정: 인수on, left_on, right_on 결합 방법을 지정: 인수how inner_join: how='inner' left_join: how='left' right_join:..

IT/언어 2021.07.13

[python] python으로 csv파일 읽어들이기

python으로 csv파일을 읽어들이는 방법과 다루는 방법에 대해 간단하게 소개하고자 한다. csv 먼저 python의 표준 라이브러리의 csv를 사용해보자. 읽어들이기 csv를 사용하여 csv파일을 읽어 들일 수 있다. import csv csv_file = open("./TEST_STOCK.csv", "r", encoding="ms932", errors="", newline="" ) #리스트 형식 f = csv.reader(csv_file, delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True) #사전형 형식 f = csv.DictReader(csv_file, delimiter=",", d..

IT/언어 2021.07.08

[python/Tensorflow2.x] TFRecord의 사용법

TFRecord란? TFRecord는 데이터 세트의 포맷의 하나로 TFRecord형식은 바이너리 코드의 시리즈를 저장하기 위한 단순한 형식이다. 프로토콜 버퍼는 구조화 데이터를 효율적으로 시리얼라이즈하는 플랫폼이나 언어에 의존하지 않는 라이브러리이다. TFRecord를 사용하는 것으로, 대규모 데이터를 효율적으로 학습할 수 있게 된다. 이번 포스팅을 통해 TFRecord의 사용 방법이나 마스터할 수 있도록 읽고 쓰기하는 방법에 대해 살펴 볼 것이다. 그리고 마지막으로 실제 예를 이용해서 어떻게 사용할 수 있는지에 대해서 알아볼 것이다. TFRecord를 사용하는 이유 TFRecord 안은 Protocol Buffer이라는 바이너리 포맷으로 되어 있다. 한 번 TFRecord를 작성하는 것으로 데이터의 생..

IT/AI\ML 2021.07.08

[python/openCV] openCV로 이미지 여백 삭제 (1)

opencv로 여백을 삭제하는 두 가지 예제 코드를 살펴 보는 포스팅을 하고자 한다. 참고로 여백 삭제를 위해서는 openCV이외에 Pillow 라이브러리를 사용할 수 있지만, 두 개의 포스팅 모두 openCV를 사용할 것이다. 첫 번째 예제 코드의 포스팅에서 사용할 이미지는 다음의 회로도이다. 여백을 삭제해 다음과 같이 이미지를 회로도만 보이게 할 것이다. 여백 삭제의 코드 흐름 이미지 여백 삭제를 위해 다음과 같은 흐름으로 코드를 작성할 것이다. 1) 이미지를 읽어 들인다. 2) 색 공간을 이진화한다. 3) 윤곽을 추출한다. 4) 윤곽의 안에서 부터 좌표가 최소 그리고 최대가 되는 x, y 각각을 취득하고, 그 값을 이용해 직사각형인 이미지를 추출한다. 1번째에서 3번째까지는 물체 인식이나 문자 인식..

IT/AI\ML 2021.07.06

Visual Studio Code 단축키

편집관련 단축키 설명 Ctrl + Enter 커서가 위치한 곳 아래 줄에 빈 행을 삽입 Ctrl + Shift + Enter 커서가 위치한 곳 윗 줄에 빈 행을 삽입 Alt + ↑/↓ 커서가 위치한 행 / 선택한 행을 위 혹은 아래로 이동(여러 행 대응 가능) Alt + Shift + ↑/↓ 커서가 위치한 행 / 선택한 행을 복사하며 이동(여러 행 대응가능) Ctrl + C 선택 범위를 복사. 아무것도 선택하지 않은 상태에서 사용하면 단순 복사. Ctrl + X 선택 범위을 잘라내기. 아무것도 선택하지 않은 상태에서 사용하면 단순 잘라내기. Ctrl + BS 단어 부분 삭제 (커서 위의 왼쪽) Ctrl + Del 단어 부분 삭제(커서 위치의 오른쪽) 첫 번째의 경우 다음 행을 입력하고 싶을 때, 일반적으..

IT/기초 지식 2021.07.05
728x90