Machine Learning 29

Nvidia Tx2에다가 yolov5 실행하기

yolov5는 PC(특히 Ubuntu)에서 굉장히 inference하기 쉬운 형태 입니다. GPU쓰는 방법만 알아낸다면, 말 그대로 github repository를 clone하고 실행하면 됩니다. 하지만 Tx2에서는 되지 않았습니다. 처음에는 Numpy 에러가 생기고, Illegal instruction (core dumped) 처음에는 numpy 타입이 1.19.5여서 1.19.4로 downgrade도 해보고, 그 와중에 pip install을 하는 와중에 compile하는 시간도 많이 걸리고, compile 하고 시스템 파일들이 저장공간에 많이 쌓여서 저장공간 부족도 생겼었습니다. 엄청난 삽질 끝에, Tx2 CPU의 ARRCH CPU type 때문에 torch와 torchvision을 다시 comp..

Precision과 Recall, 그리고 f1 score

참고 : https://jinmc.github.io/ds_blog/posts/ml_andrew_ng/wk6/ 오늘은 Precision과 Recall, mAP에 대해서 정리해보도록 하겠습니다. 예를 들어서, 100명의 사람과 10명의 암환자가 있다고 생각해 봅시다. 암환자 입장에서는, 무조건 암이 있다면 암이 있다고 진단을 받는게 좋을 것입니다. 10명의 암환자 중에서, 몇 명의 암환자가 진단을 받느냐가 중요하겠죠? 이걸 Recall rate이라고 합니다. 하지만 Recall rate만 중요시한다면, 100명의 사람을 모두 암에 걸렸다고 할 수 있겠죠? 하지만 그렇게 한다면, 제대로 된 진단이라고 할 수 없겠죠? 진단 결과를 너무 남발한다면, 사람들에게 정신적인 충격을 줄 뿐만 아니라, 검사 자체의 신뢰도..

Machine Learning 2021.06.03

Bias(편향)과 Variance(분산)

stanford university의 machine learning lesson 6 (Advices for machine learning application 관련 내용 정리): https://jinmc.github.io/ds_blog/posts/ml_andrew_ng/wk6/ 이 이론은 Machine learning에 있어서 가장 기본적인 내용 중에 하나 입니다. 가장 중요한 내용 중 하나이지만, 많이 봐도 헷갈리는 부분 중 하나입니다. 아마도 용어가 생소한 것도 그 이유 중 하나가 되지 않을까 싶습니다. 가장 쉬운 예부터 살펴보죠! 우리가 아는 가장 쉬운 예는 linear regression일 겁니다. 하지만 linear regression은 경향성을 보여줄 순 있어도, 선형으로 나누어지지 않는 변수..

Machine Learning 2021.05.24

Cuda 버전과 호환성 맞추기, 그래픽 카드 모니터링

Cuda를 돌리기 위해서는 Cuda버전에 맞는 드라이버를 설치해 주어야 합니다. Cuda 버전 확인은 다음 커맨드로 확인이 가능합니다. $ nvcc -V # 또는 nvcc --version 를 치면 다음과 같은 결과가 나옵니다. nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243 Cuda 버전이 10.1로 설치되어 있음을 알 수 있습니다. nvcc가 어디에서 오는지는, which nvcc를 보면 알 수 있습니다. 위의 커맨드는 사실 /usr/local/cuda/..

Machine Learning 2021.04.15

Yolov5를 로컬에서 돌려봅시다!

전 포스팅에서는 구글 코랩을 이용해서 yolov5를 돌리는 법에 대해서 알아보았습니다. walkaroundthedevelop.tistory.com/64 구글 코랩은 환경 설정을 알아서 해주는 만큼, 환경 설정에 대한 부담을 덜 수 있어서 굉장히 바람직하다고 할 수 있겠습니다. 하지만 직접 로컬에서 돌려봐야지 제대로 머신러닝을 체험해볼 수 있겠죠? 그래서 로컬에서 직접 yolov5을 돌리는 법을 포스팅해보도록 하겠습니다. yolov5와 yolov4 의 차이에 대해서도 알아보면 좋을 것 같습니다. yolov5와 yolov4는 사실 다른 사람이 만들었고, 만들어진 시기의 차이도 얼마 나지 않기 때문에, (yolov5는 20년 5월 공개), (yolov4는 20년 4월 공개), 성능상 어떤 게 더 우위에 있다고..

Machine Learning 2021.04.14

Tx2 에서 안쓰는 CPU코어 사용하기 (JTOP, nvpmodel 사용)

출처 : forums.developer.nvidia.com/t/cannot-enable-denver-cores-for-tx2-jetpack-4-4-dp/124708/38 Tx2를 사용하다 보면 jtop을 사용할 수 있는데, jtop이란, pc 의 상태를 확인하게 해 주는 것이고, 이 command로 설치가 가능합니다. $ sudo -H pip install -U jetson-stats 6개의 cpu중에 2개를 사용하지 않는 것을 확인할 수 있습니다. Jetson에서는 CPU의 전력제한을 풀어주는 모드가 있는데, 이를 조절하는 옵션을 nvpmodel 이라 하고, 다음과 같은 커맨드로 바꿀 수 있습니다. $ sudo nvpmodel -m 0 # 0번 모드로 설정 $ sudo nvpmodel -q –verbo..

Nvidia Jetson Deepstream python sample app configuration(엔비디아 젯슨 딥스트림 파이썬 샘플 앱 구성)

딥스트림 5.0을 처음 깔게 되면, 뭐부터 시작해야 하나, 라고 생각을 하다, C++로 된 sample app이 있는것을 알게 된다. 하지만 C++로 개발하는건 너무 가혹하기 때문에, 우리는 Python을 활용한다. github.com/NVIDIA-AI-IOT/deepstream_python_apps /opt/nvidia/deepstream/deepsteram/sources 디렉토리에 본 깃헙을 클론하고, readme에 써져 있는 대로 실행하면, C++앱을 실행한 것과 똑같은 내용이 나온다. 여기서 여러가지 테스트 디렉토리들이 있는데, 우리는 주로 deepstream-test3를 활용할 것이다. 왜냐면 deepstream-test3가 rtsp 스트림을 받기 때문이다. deepstrea-test3에서는 d..

Tx2에 vscode 설치법

구글에 install vscode on jetson tx2 라고 검색하면 여러가지 방법이 나온다. 그중에 가장 쉬운 건 www.jetsonhacks.com/2019/10/01/jetson-nano-visual-studio-code-python/ Jetson Nano - Visual Studio Code + Python - JetsonHacks Visual Studio Code is one of the most popular IDEs in the world. You can install VSCode on the Jetson Nano in just a few minutes! www.jetsonhacks.com 이 링크고, 세 줄이면 끝난다. $ git clone https://github.com/Jetson..

TLT(Transfer Learning Toolkit) Install하기 - for Jetson Tx2

말은 Jetson을 위해서 이지만 사실 Jetson에다가 하는 것은 아니다. docker파일 위에서 돌아가야 하는 것이기 때문에, 그리고 learning 자체를 해야되는것이기 때문에, 엄청나게 강력한 머신이 필요하다. 절대 Tx2위에서 돌리려고 하지말것... 용량도 안된다.. Minimum requirement 와 recommended requirement 는 다음과 같다. 그리고 Docker위에서 돌아가고, 다음과 같은 prerequisite들이 필요하다. Nvidia GPU CLoud account and API key같은 경우 그냥 가서 등록하면 되고, docker-ce 같은 경우 docker 홈페이지 들어가서 시키는 대로 하면 된다. docs.docker.com/engine/install/ubun..