본문 바로가기

분류 전체보기

(28)
Linux kernel coding style(C language) kernel.org는 Linux kernel소스코드를 배포하는 웹사이트다. 이 사이트의 Documentation을 보면 많은 자료에 대한 이론 및 설명을 볼 수 있다. https://www.kernel.org/doc/html/latest/ kernel.org에서 권장하는 kernel coding style이 있다. https://www.kernel.org/doc/html/v4.10/process/coding-style.html 리눅스의 핵심인 Linux kernel에 대한 코딩 스타일에 대해서 서술되어 있기 때문에 따를 이유가 충분하다. 물론 개인, 기업 등 상황에 따라 주관적인 코딩 스타일을 가질 수 있기 때문에 항상 옳다고는 할 수 없으나, 적어도 Linux programming에 있어서 선호된다고 ..
Linux 운영체제 구조 보호되어 있는 글입니다.
Thread와 Process 그리고 kernel... 보호되어 있는 글입니다.
커널의 이해 보호되어 있는 글입니다.
CPU클럭과 RAM 클럭이 차이가 발생함에도 불구하고 PC가 동작하는 이유 보호되어 있는 글입니다.
YOLO 학습에 대한 잡다한 지식(기본, 배경 지식) 1. windows 버전 darknet이 darknet_no_gpu.sln 버전과 darknet.sln으로 나뉜 이유. YOLO는 joseph redmon이라는 사람이 만들어 냈다. github나 트위터 등에서는 pjreddie라는 닉네임으로 활동하고 있다. YOLO는 처음 제작되었을 때 Linux 전용으로 코딩되어 있었다. 따라서 darknet 실행 시 옵션으로 gpu를 사용할지 말 지 지정할 수가 있었다. 그러나 AlexeyAB라는 사용자가 darknet을 windows 버전에서 사용 할 수 있도록 수정했고, 이 과정에서 visual studio로 컴파일되도록 하였다. 이때 코드를 분리하면서 GPU를 사용하는 버전과 GPU를 사용하지 않는 버전을 따로 제작해야 할 필요가 있었고, 이로 인해 darkn..
YOLO 동작 시 화면에 있는 퍼센트(확률) 지우기 YOLO에서 실시간 detection 혹은 동영상 detection 등을 하게 되면 화면에 class의 name과 probability(확률)이 %로 나온다. 감지된 화면이 어지럽다고 생각하거나, 단순히 어떤 객체로 인식하는 지만 출력해 줄 필요가 있다면 그다지 유용한 기능이 아니다. 따라서 화면에서 probability가 표시 되지 않게 하기 위해서는 소스코드를 수정해줘야 한다. 환경은 windows의 darknet에서 진행했다. darknet에서 사용하는 여러 소스파일 중 image_opencv.cpp 파일에서 이를 해결 할 수 있다. image_opencv.cpp 에서 draw_detections_cv_v3를 수정하면 된다. extern "C" void draw_detections_cv_v3(mat..
YOLO 학습 환경(PC 스펙) 딥러닝, 머신러닝은 CPU 보다는 GPU를 사용해야 한다. YOLO 학습을 하는데 사용한 PC 성능은 다음과 같다. OS: Windows 10 CPU: AMD Ryzen 3 3200G RAM: 16GB GPU: NVIDIA GeForce RTX 2060 SUPER 8GB memory NVIDIA의 경우 대규모 병렬 컴퓨팅 플랫폼 및 프로그래밍 모델로 CUDA를 지원하고 있다. 따라서 대부분 딥러닝 연구에는 NVIDIA의 그래픽카드 제품이 사용된다. CUDA는 NVIDIA 그래픽 카드에서 병렬 처리 알고리즘을 여러 표준 언어로 제공하는 만큼, C언어로 작성된 darknet의 YOLO 또한 CUDA를 사용한다. 물론 darknet YOLO는 no_gpu 버전 즉 CPU 버전을 지원하지만, 위에서 작성한 컴퓨..