전체 글

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

VSCode | window powershell에서 conda 명령어 안먹힐 때

window 환경에서 vscode를 사용하는 것이 익숙하지 않아 여전히 적응 중이다... 이전에는 powershell에서 직접 가상환경을 만든 것이 아니라 https://iambeginnerdeveloper.tistory.com/185?category=917302 VSCode | window 환경에서 python 가상 환경 생성하기 우분투에 익숙해져 윈도우에서 vscode 및 python을 쓰는 것이 어색해져버린 나머지 가상환경 생성 방법도 까먹어버린 것이다.... ssocr이라는 이름의 가상환경을 vscode에서 만드려고 했으나 우분투에 iambeginnerdeveloper.tistory.com 위 게시글처럼 .exe 파일을 선택하는 방식으로 가상환경을 만들었는데 이는 바로 가상환경을 실행하기 힘들었다..

ML & DL

기울기 소실(Gradient Vanishing)과 폭주(Exploding) 해결 방법 | ReLU 함수와 Leaky ReLU 함수, 그래디언트 클리핑(Gradient Clipping), 배치 정규화(Batch Normalization)

기울기 소실 (Gradient Vanishing) 기울기 소실(Gradient Vanishing)이란 역전파(Backpropagation) 과정에서 입력층으로 갈수록 기울기(Gradient)가 점차적으로 작아지는 현상이다. 이는 신경망 구조에서 레이어가 늘어날 수록 악화되며 입력층에 가까운층들에서 가충치들이 제대로 업데이트 되지 않아 최적의 모델을 찾지 못하게 된다. 따라서 기울기 소실 문제는 신경망의 활성화 함수의 미분 결과 값(도함수 값)이 계속 곱해지면서 가중치에 따른 결과값의 기울기가 0이 되어 경사하강법(Gradient Descent)을 이용할 수 없게 된다. 기울기 폭주 (Gradient Exploding) 기울기 폭주는 기울기 소실과 반대되는 경우이다. 기울기가 점차 커져 가중치들이 비정상적..

Docker

Docker | Docker(도커) , Docker compose(도커 컴포즈) 명령어 모음 (상시 추가 예정)

도커를 사용하면서 자주 썼던 명령어들 중 미쳐 외우지 못한 명령어들을 계속 검색해서 찾아보거나 손으로 적어둔 종이를 찾는 것이 귀찮아서 블로그에 정리 해 두려고 한다. 1. 도커 버전 확인 $ docker version 2. 도커 이미지 목록 확인 # 중간 이미지까지 모든 이미지 표시 $ docker image ls -a # 도커 id만 표시 $ docker image ls -q 3. 도커 이미지 삭제 $ docker rmi -f "이미지 id" 4. 도커 컨테이너 목록 확인 $ docker container ps -a 4. 도커 컨테이너 삭제 $ docker rm -f "컨테이너 이름" 5. 컨테이너 가동 확인 $ docker container stats "컨테이너 id" 6. 실행 중인 컨테이너 상태..

일상/한 달에 최소 한 권의 책 읽기 - HOLD

2월부터 7월까지 독서기록 | 달러구트 꿈백화점, 새는 날아가면서 뒤돌아보지 않는다, 길 위에서 쓰는 편지, 어느 날 내 죽음에 네가 들어왔다

인스타그램에는 독서기록을 꾸준히 업로드했는데 블로그에는 올려야지 올려야지 생각만 하다가 약 6개월이 지나버렸다... 그래서 인스타그램에 올렸던 독서기록을 캡쳐해서 2월부터 7월까지를 한번에 올린다! (2월이랑 4월은 너무 정신없었기에 독서를 못해서 독서기록이 없음 ^^...) 3월 독서기록 2월은 이런 저런 일들로 많이 바빠서 책을 못 읽고 넘어갔다. 그래서 2월 독서기록은 없음! 3월에는 1월에 샀던 책인 달러구트 꿈백화점을 읽었다. 5월 독서기록 4월도 2월만큼 정신없이 바빴던 것 같다. 그래서 4월은 뛰어넘고 5월 독서기록! 5월에는 우연히 알게 된 책인 새는 날아가면서 뒤돌아보지 않는다를 사서 읽었다. 5월부터 6월까지 기차를 탈 일이 많았는데 기차 안에서 무료하지 않게 해 준 책이다. 6월 독서..

Git

Git | GitLab branch 생성하기, branch commit 후 merge까지, GitLab Merge Request

실무를 하면서 github보다는 gitlab을 사용할 일이 많아졌다. 개인 pc에서 github를 사용할 땐 레포를 혼자 사용하다보니 누군가와 하나의 레포를 같이 쓸 일이 없었는데 gitlab을 사용하면서부터는 branch를 사용하여 현업을 하는 일이 일상이 되었다. gitlab을 사용하면서 알게 된 branch에 대해 앞으로 버벅거리지 않기 위해 간략하게 정리를 해 둔다. branch를 생성하기 전까지인 원격 레포와 로컬 폴더를 연결하는 방법은 깃허브를 시작하는 것과 동일하며 이는 이전에 작성한 깃허브 시작하기 게시글을 통해 확인할 수 있다. https://iambeginnerdeveloper.tistory.com/17?category=917302 GitHub (깃허브) 시작하기 - GitHub(깃허브..

SQL

SQLAlchemy ORM(postgresql 연결) | 파이썬에서 ORM 사용하기, SELECT, JOIN, CAST, UNION, LABEL 등 자주 쓰는 문법 정리

Flask restx를 사용하여 API를 구축할 일이 있어 ORM을 사용하여 데이터베이스와 연결하였다. 데이터베이스 연결 및 ORM을 사용할 수 있도록 제공되는 파이썬 라이브러리로는 SQLAlchemy가 있다. SQLAlchemy를 사용하면 쿼리를 코드에서 실행할 수 있으며 ORM을 통해 데이터베이스와 연결 후 작업이 가능하다. 먼저 데이터베이스와 연결하는 작업이 필요하다. 가장 먼저 sqlalchemy.create_engine 함수를 이용하여 데이터베이스와 연결해 주는 엔진을 만들어야 한다. 나는 postgresql을 사용하고 있으며 "postgresql://db id:db pw@ip:port/db 이름"을 사용하여 엔진을 생성해주었다. 데이터베이스와의 소통을 관리해주는 세션을 로드하여 사용하여야 한다..

Computer Science

OS | MultiThreading(멀티 스레딩) & MultiProcessing(멀티 프로세싱)

최근에 프로그램 성능 향상을 위해 병렬 처리를 하고자 했으며, 이 포스팅은 스레딩을 사용할 것이냐 멀티 프로세스를 사용할 것이냐, 무엇이 더 적합한가에 대해 알아보고 고민을 하며 정리한 글이다. 1. 프로세스 프로세스는 프로그램이 실행되는 하나의 instance로 컴퓨터에서 연속적으로 실행 중인 프로그램을 의미한다. 각 프로세스는 각각 메모리 공간을 가지며 데이터를 저장하기 때문에 여러개의 프로세스를 사용할 때 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않아 작업이 중단되지 않는다. 2. 스레드 스레드는 하나의 프로세스 내에서 실행되는 흐름의 단위로 프로세스의 component이다. 하나의 프로세스에 여러 쓰레드가 생성될 수 있으며 부모 프로세스의 메로리 공간을 공유하기 때문에 하나의 프로그..

etc

VSCode | window 환경에서 python 가상 환경 생성하기

우분투에 익숙해져 윈도우에서 vscode 및 python을 쓰는 것이 어색해져버린 나머지 가상환경 생성 방법도 까먹어버린 것이다.... ssocr이라는 이름의 가상환경을 vscode에서 만드려고 했으나 우분투에서 vscode를 사용하면서 쓰던 conda create -n 명령어는 통하지 않았다. 찾아보니 윈도우 환경에서는 venv 명령어를 사용하여 가상환경을 생성한다고 한다. 가상환경을 생성하고자 하는 workspace 폴더로 이동한 후 python -m venv ssocr을 입력 해 준다. python -m venv ssocr 위의 명령어로는 가상 환경이 생성되기는 하지만 vscode 내에서 python interpreter 선택이 안되기 때문에 .exe 파일을 직접 선택해야 한다. vscode에서 C..

Gstreamer

Gstreamer RTSP server를 통해 IP camer(CCTV) 스트리밍하기, gstreamer 설치, Gstreamer RTSP server python

gstreamer 기초부터 문법은 아래 튜토리얼 링크와 개념을 설명 해 둔 다양한 블로그에서 자세히 볼 수 있다. 튜토리얼 : https://gstreamer.freedesktop.org/documentation/tutorials/index.html?gi-language=python 개념 설명 블로그 : https://medium.com/may-i-lab/gstreamer-gstreamer-%EA%B8%B0%EC%B4%88-da5015f531fc gstreamer는 우분투에 기본적으로 설치되어 있는 경우도 있기 때문에 확인이 필요하다. which gst-launch-1.0 해당 명령어를 입력했을 때 /usr/bin/gst-launch-1.0 위와 같이 나온다면 우분투에 gstreamer가 설치가 되어 있..

각종 에러들을 해결 해 보자

torch | attributeerror: 'upsample' object has no attribute 'recompute_scale_factor'

우분투를 다시 한번 싹- 밀고 날 것 그 자체의 환경에서 이전에 개발했던 객체 검출 모델을 사용한 코드의 동작 테스트를 진행하던 중 아래와 같은 에러를 마주했다. attributeerror: 'upsample' object has no attribute 'recompute_scale_factor' File /usr/local/lib/python3.8/site-packages/torch/nn/modules/upsampling.py:154, in Upsample.forward(self, input) 152 def forward(self, input: Tensor) -> Tensor: 153 return F.interpolate(input, self.size, self.scale_factor, self.mod..

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