본문 바로가기

반응형

개발자

Unit test C++ gtest gtest란? Google Test Framework로 유닛 테스트에 사용됨. Google Test는 Google의 특정 요구사항 및 제약사항을 기반으로 테스트 기술팀에서 개발한 Testing 프레임워크임. gtest Git 링크 https://github.com/google/googletest 컴파일러 C ++ 11 표준 이상을 준수하는 코드베이스 및 컴파일러가 필요함. gcc 5.0 이상 clang 5.0 이상 MSVC 2015+ 사용 가능 OS Linux, Windows, Mac 왜 Google Test를 사용해야 하나? 1. 테스트는 독립적이고 반복가능해야 합니다. gtest는 디버깅을 빠르게 할 수 있도록 테스트를 분리시켜 실행할 수 있도록 해 줌. 2. 테스트는 조직화가 잘 되어있으며 테스트되.. 더보기
[PyTorch] Dataset 과 Dataloader 파이토치는 Dataset 과 Dataloader를 사용하여 학습 모델에 맞게 train & test set 을 변경해주는 도구입니다. Dataset ( torch.utils.data.Dataset ) Pytoch 라이브러리에 가지고 있는 데이터 셋 뿐만 아니라 미리 준비된(pre-loaded)데이터도 사용할 수 있다. 그러나 실제 프로젝트 때는 csv 와 같은 형태로 데이터 가지고 있는 경우가 대부분이다. 이런 경우 Dataset 클래스를 상속받아 구현할 수 있다. FashionMNIST 이미지 데이터를 실제로 가지고 있다고 가정해보자. 이미지들은 img_dir 디렉토리에 저장되고 , 정답은 annotations_file csv 파일에 별도로 저장되어있다. Dataset 클래스는 반드시 3개 함수를 구현.. 더보기
YUV Image 관련 정리 0. 탄생 배경 컬러 텔레비전이 나왔을 때는 대부분의 사람들은 흑백 TV를 가지고 있었다. 문제는 컬러 방송을 RGB 색 공간으로 하면 컬러 영상을 흑백 TV로 보내기 어려우며, 그리고 기존의 송출 인프라를 뜯어 고치는 것은 너무 부담스러웠다. 그래서 나온 것이 기존의 흑백 신호에 색차 신호를 추가한 YUV이다. 컬러 TV는 YUV을 모두 받고 컬러 화면을 표시하며, 흑백 TV는 Y 신호만 받고 흑백 화면을 표시한다. 그리고 인간의 시각은 밝기에 더욱 민감한 특성을 가지는데, 흑백 신호의 해상도는 그대로 두고 색상 신호의 해상도만 줄이면 더 많은 대역폭을 확보할 수 있는 장점도 있었다. 1. YUV Format? YUV format 은 RGB(Red, Green, Blue) 3 원색의 format 과 손.. 더보기
CMake 총정리 및 자세한 설명 C++ 프로젝트를 위한 CMake 사용법 CMake 사용법 실행 파일 및 라이브러리 만들기 CMake 란? CMake 는 빌드 파일을 생성해주는 프로그램 입니다. 다시 말해 CMake 를 통해서 프로젝트를 빌드를 하는 것이 아니라, CMake 를 통해서 빌드 파일을 생성하면 빌드 프로그램을 통해서 프로젝트를 빌드 하는 것입니다. 예를 들어서 make 를 사용한다면 CMake 를 통해서 Makefile 을 생성할 것이고, 요즘 핫한 Ninja 를 사용한다면 CMake 를 통해서 .ninja 빌드 파일을 만들어줄 것입니다. Ninja 빌드 시스템 아무튼, 이 부분에 대해서 많은 사람들이 혼동하고 계시는데, 다시 한 번 강조하자면 CMake 는 빌드 프로그램 아니라 빌드 파일을 생성하는 프로그램 입니다. CM.. 더보기