전체 글

나의 성장 일기가 되었으면 하는 블로그 contact : ryuhyojung@naver.com
Python

pyreverse | python UML Class Diagram 자동 생성, ubuntu, wsl2에서 pyreverse, pylint 실행

최근에 클래스 다이어그램을 그릴 일이 있었는데 draw.io로 그리려고 했는데 여간 귀찮은 게 아닌게 다른 방법은 없나  찾아보니 python 라이브러리인 pyreverse로 뚝딱 만들 수 있다는 걸 알게 됐다.draw.io를 사용해서 class diagram을 그리면 위와 같이 그릴 수 있다. 하지만 이번에는 pyreverse, pylint를 사용하여 정말 간단하게 그릴 수 있었다.1. pyreverse, pylint 설치pip install pyreversepip install pylintpylint를 설치하면 pyreverse도 같이 설치된다. 2. pyreverse 실행pyreverse -o png ./pyreverse -o [확장자명] [경로]경로에는 diagram을 그릴 폴더의 __init__..

논문 리뷰

[논문 리뷰] YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information, Chien-Yao Wang, et al., 2024

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information, Chien-Yao Wang, et al., 2024 을 읽고 요약, 정리한 글입니다. github : https://github.com/WongKinYiu/yolov9 ◼️ Contribution- 현존하는 심층 신경망 구조를 reversible fuction의 과점에서 이론적으로 분석하고 이러한 프로세스를 통해 이전에는 설명하기 어려웠던 많은 현상들에 대해 설명함.- 이러한 분석을 기반으로 PGI와 auxiliary reversible branch를 설계하고 좋은 결과를 얻음.- PGI는 deep supervision이 아주 깊은 신경망 구조에서만 사용할 수 ..

Docker

vscode docker container에서 pip 명령어가 안될 때 | bash: pip3: command not found

우분투 터미널에서 exec -it로 접속한 도커 컨테이너에서는 pip 명령어가 제대로 작동하는데 vscode에서 attach한 도커 컨테이너에서는 pip 명령어가 동작하지 않고 bash: pip3: command not found이런 에러가 발생할 때가 있다. vscode에서 바라보는 PATH와 터미널에서 접속한 컨테이너의 PATH가 일치하지 않기 때문에 일어나는 문제이다.echo $PATHvscode에서 위 명령어를 이용해 PATH를 출력하면 다음과 같이 나올 것이다.root/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sb..

ML & DL

YOLO Model History | YoloV1 부터 YoloV10까지 간단 요약

Yolo 모델에 대해서 톺아볼 일이 있었는데 간단 요약 글을 포스팅 하면서 다시 한번 정리를 한번 해 보려고 한다. 객체 감지는 이미지나 비디오 내의 객체를 식별하고 위치를 찾는 computer vision task이다.객체 감지 알고리즘은 single shot detection과 two shot detection으로 나눌 수 있다. two shot detection 알고리즘은 객체를 감지하는데 두 단계 프로세스를 사용한다. 첫번째 단계에서는 잠재적으로 객체를 포함할 수 있는 bounding box를 제안을 한다. 두번째 단계에서는 box 내 객체 클래스를 분류하기 위해 제안된 영역을 합성 신경망을 통해 실행을 한다.two shot detection 알고리즘의 대표적인 예료는 R-CNN, Fast R-C..

일상/Etc.

중소기업 청년 전세 대출 연장 후기 | 중기청 이직, 이사 X, 1년 계약 연장

2년 전, 이직을 하게 돼서 급하게 이사를 해야 했던 상황에서 정말 많이 알아보고 발품 팔아서 중기청으로 1억을 전세 대출을 받고 이사를 한 게 엊그제 같은데 벌써 2년이 지나서 연장을 했다. 중기청 전세 대출 후기 👉 https://iambeginnerdeveloper.tistory.com/194 중소기업 청년 전세 대출 100% 실제 후기 | 중기청 대출 순서 및 꿀팁, 사후자산심사 완료최근에 다른 지역으로 이사를 하게 되었고 오랫동안 월세 생활을 하다가 이번에 큰 맘 먹고 전세로 바꾸고자 정말 급하게 중기청 대출을 진행했다. 나는 퇴사일과 이사, 이직 날짜가 맞물리지iambeginnerdeveloper.tistory.com  1. 재계약 의사 밝히기(대출 만기 2개월 전)8월 중순이 계약 종료 및..

ML & DL

[밑시딥2] Chapter 8. 어텐션

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다.  ◼️8.1 어텐션의 구조seq2seq를 한층 더 강력하게 하는 어텐션 메커니즘 아이디어를 소개한다.이 어텐션이라는 메커니즘 덕분에 seq2seq는 필요한 정보에만 주목할 수 있게 된다.  ◾ 8.1.1 seq2seq의 문제점seq2seq에서는 Encoder가 시계열 데이터를 인코딩한다. 인코딩된 정보를 Decoder로 전달하고 Encoder의 출력은 고정 길이의 벡터였다.고정 길이 벡터라 함은 입력 문장의 길이에 관계없이 항상 같은 길이의 벡터로 변환한다는 뜻이다.현재의 Encoder는 아무리 긴 문장이라도 고정 길이의 벡터로 변환하지만 이는 필요한 정보가 벡터에 다 담기지 못하..

ML & DL

[밑시딥2] Chapter 7. RNN을 사용한 문장 생성

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 7.1 언어 모델을 사용한 문장 생성◾ 7.1.1 RNN을 사용한 문장 생성의 순서앞 장에서의 LSTM 계층을 이용한 언어 모델은 아래 그림처럼 생겼다.  언어 모델은 다음과 같은 확률분포를 출력한다.언어 모델은 지금까지 주어진 단어들에서 다음에 출현하는 단어의 확률분포를 출력한다. 이 결과를 기초로 다음 생성하기 위해서는 확률이 가장 높은 단어를 선택하는 방법을 떠올릴 수 있다.확률이 가장 높은 단어를 선택할 뿐이므로 결과가 일정하게 정해지는 결정적인 방법이다. 또 확률적으로 선택하는 방법도 있다. 각 후보 단어의 확률에 맞게 선택하는 것으로 확률이 높은 단어는 선택되기 쉽..

ML & DL

[밑시딥2] Chapter 6. 게이트가 추가된 RNN

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. 요즘에는 앞 장의 단순한 RNN 대신 LSTM이나 GRU라는 계층이 주로 쓰인다. RNN이라고 하면 앞 장의 RNN이 아니라 LSTM을 가리키는 경우도 흔하다.LSTM이나 GRU에는 게이트라는 구조가 더해져 있는데 이 게이트 덕분에 시계열 데이터의 장기 의존 관계를 학습할 수 있다. ◼️ 6.1 RNN의 문제점RNN은 시계열 데이터의 장기 의존 관계를 학습하기 어렵다. BPTT에서 기울기 소실 혹은 기울기 폭발이 일어나기 때문이다. ◾ 6.1.1 RNN 복습RNN 계층은 시계열 데이터인 xt를 입력하면 ht를 출력한다. 이 ht는 RNN 계층의 은닉 상태라고 하여 과거 정보를 저장..

ML & DL

[밑시딥2] Chapter 5. 순환 신경망(RNN)

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 5.1 확률과 언어 모델◾ 5.1.1 word2vec을 확률 관점에서 바라보다지금까지 살펴본 신경망은 피드포워드라는 유형의 신경망이다. 피드포워드란 흐름이 단방향인 신경망을 말한다.입력 신호가 다음 층(중간층)으로 전달되고 그 신호를 받은 층은 그다음 층으로 전달하고 다시 다음 층으로.. 식으로 한 방향으로만 신호가 전달된다.시계열 데이터를 잘 다루지 못하는게 단점이기에 순환 신경망(RNN)이 등장하게 된다. CBOW 모델이 출력할 확률식은 다음과 같이 된다.위 식을 교차 엔트로피 오차에 의해 유도한 결과는 다음처럼 쓸 수 있다.CBOW 모델의 학습으로 수행하는 일은 위의 손..

ML & DL

[밑시딥2] Chapter 4. word2vec 속도 개선

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 4.1 word2vec 개선 1위 그림과 같이 CBOW 모델은 단어 2개를 맥락으로 사용해 이를 바탕으로 하나의 단어를 추측한다. 이때 입력 측 가중치와의 행렬 곱으로 은닉층이 계산되고 다시 출력 측 가중치와의 행렬 곱으로 각 단어의 점수를 구한다.이 점수에 소프트맥스 함수를 적용해 각 단어의 출현 확률을 얻고 이 확률을 정답 레이블과 비교하여 손실을 구한다. 위 그림에서 보듯 입력층과 출력층에는 각 100만 개의 뉴런이 존재한다. 이 수많은 뉴런 때문에 중간 계산에 많은 시간이 소요되며 다음 두 계산이 병목이 된다.- 입력층의 원핫 표현과 가중치 행렬 Win의 곱 계산.- ..

토오오끼
초보 개발자의 일기장