본문 바로가기

분류 전체보기

(39)
git branch 삭제 git에서 운영하던 임시 브랜치를 삭제하는 방법이다. 먼저 현재 어떤 브랜치들이 있는지 확인해보자. git branch -a 그러면 아래처럼 현재 로컬/원격 브랜치가 모두 나온다. 여기서 로컬 브랜치를 삭제하려면 아래 명령을 실행하면 된다. git branch -d 이렇게 하면 로컬에 있는 브랜치가 삭제된다. aaa_tmp 로컬 브랜치가 삭제되었다. 그런데 원격에는 아직도 해당 브랜치(remotes/origin/aaa_tmp)가 남아있다. 원격에 있는 브랜치는 아래 명령으로 삭제해준다.git push origin -d 이렇게하면 개발시 일시적으로 필요시 만들었던 브랜치를 깨끗하게 삭제할 수 있다. 그럼 여기까지.
np.clip 과 min,max 성능비교 어떤 변수의 값을 일정 범위 내로 제한하는 함수는 종종 쓰인다. 많이 사용하는 방법으로는 파이썬 내장함수인 min, max 가 있고, numpy 의 np.clip 을 사용하는 방법이 있다. 먼저... NumPy의 np.clip 함수는배열의 값이 지정한 최소값과 최대값을 벗어나지 않도록 잘라주는 함수 즉,최소값보다 작으면 최소값으로최대값보다 크면 최대값으로그 사이 값은 그대로 유지해주는 함수이다. 사용하는 것도 간단한데, numpy.clip(a, a_min, a_max)a: 대상 배열a_min: 최소값a_max: 최대값→ a의 값들을 a_min~a_max 범위로 제한한 결과 배열 반환 자, 실제 사용예제를 보자. import numpy as np# 원본 배열arr = np.array([-5, 0, 3,..
윈도우 11 자동 로그인 설정 집에서 혼자 사용하는 PC이거나, 작업용 PC로서 주로 혼자 쓰는 PC의 경우 전원을 켜면 로그인 필요없이 바로 모든 것을 사용할 수 있게 준비되면 편하겠다라는 생각을 할 때가 있다. 자동으로 로그인되어서 그냥 바로 사용할 수 있는 상태까지 되는 것. 윈도우 11에서 자동으로 로그인을 설정해보자. 먼저 지피티에게 물어보면 아래처럼 알려준다. 📌 윈도우 11 자동 로그인 설정 방법① netplwiz 실행하기Win + R 키를 눌러 실행창을 엽니다.netplwiz 입력 후 Enter.② 사용자 계정 설정사용자 계정 창이 뜨면, 자동 로그인하고 싶은 계정을 선택.위쪽의 "사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음" 체크박스를 해제.적용(Apply) 버튼 클릭.③ 자동 로그인 정보 입력팝업..
센서 노이즈 제거 (low-pass filter, kalman filter) 속도나 가속도 센서 등에서 데이터를 처음 읽어보면 생각보다 노이즈가 많은 것에 놀라곤 한다. 어쩌겠는가? 그 데이터라도 들어오는 것을 감사하고 써야지. 그래도 센서값을 잘 보면, 전체적인 경향성은 잘 맞는 것 같다. 노이즈를 제거하고 나면 꽤 쓸만할 것 같다는 생각이 든다. 자, 그럼 노이즈를 제거하는 예제를 하나 만들어보자. 가속도값에서 노이즈를 제거하는 예제를 만들건데,예제를 보기 전에 일반적인 내용부터 한번 보자. 먼저, 보통 노이즈를 줄인다고 하면 아래와 같은 방법을 사용한다. 1) 저역통과 필터 (Low-pass Filter)가장 간단하고 많이 쓰는 방법예: 1차 IIR 필터alpha = 0.1 # 0~1 사이 값 (작을수록 부드러움)filtered_accel = alpha * measur..
Dear Imgui 파이썬 라이브러리(imgui_bundle) Dear Imgui 는 C++ GUI 라이브러리로 간단하면서도 빠르게 GUI를 개발할 수 있어서 최근 많이 사용되고 있다. 단점은... 개발해놓은 GUI가 별로 예쁘지 않다. 딱 개발자가 사용하기 좋은 GUI 라고 할까? Imgui 에 대한 파이썬 바인딩은 뭐가 있는지 알아보자. 1) pyimgui가장 오래된 원조격 바인딩Dear ImGui C++ 라이브러리를 Python에서 바로 쓸 수 있게 바인딩한 것OpenGL, SDL2, GLFW 같은 백엔드랑 같이 사용 가능ImPlot이나 ImGuizmo 같은 확장 기능은 따로 제공 안 함2) imgui_bundle가장 최근 주목받는 고급 통합 버전Dear ImGui + ImPlot + ImGuizmo + imgui-knobs + 기타 위젯을 한 번에 제공C+..
파이썬 SharedMemory 사용법 (mp.Value 와의 차이) 파이썬에서 shared memory 사용법을 알아보자. 참고로 서로 다른 프로세스 사이에 데이터를 전송하는 방법은 queue, pipe, shared memory 등이 있는데, 이 중에 shared memory가 가장 성능이 좋다. 다만 Lock 등을 잘 써야하는 단점이 있다. 파이썬에서 shared_memory는 multiprocessing.shared_memory 모듈을 통해 프로세스 간 데이터를 메모리를 통해 빠르게 공유할 수 있는 기능이다. Python 3.8 이상부터 기본 제공된다. 기본 개념은 아래와 같다. SharedMemory 객체를 생성해서 이름 기반으로 프로세스 간 공유numpy.ndarray나 byte buffer를 메모리에서 공유 가능다른 프로세스는 이름으로 attach주요 클..
Github private repository를 윈도우 PC에서 clone 방법(private key) Github에 내가 만든 private repository를 새로운 PC에서 clone 하는 방법이다. 일단 간단하게 말하면 private key를 이용해서 clone 하는 방법이다. (윈도우 기반) 1. private key / public key 준비먼저 private key / public key를 준비하자. git 을 설치하고 나면, git bash가 함께 설치되는데 git bash를 실행하자. (먼저 git 이 설치되어 있다고 가정한다) git bash 에서 아래 명령을 실행한다.그러면 ssh key (private key/public key 를 묶어서 ssh key라고 한다) 를 생성하는 과정을 진행하게 된다. ssh-keygen -t rsa -b 4096 -C "your_email@exa..
Policy gradient (강화학습) 강화학습을 공부할 때 Policy gradient 라는 말을 종종 듣게 된다. 예를 들면, 강화학습 기법 중 Policy gradient 계열로는 A2C, PPO 등이 있고, 이들은 on-policy 방식이다. 등등. policy gradient 라는건 단순히 '정책'의 '경사도'라 볼 수 있으나, 좀 더 자세히 알아보자. 일단 지피티에게 대충 물어보면... 이 질문 진짜 핵심이에요.강화학습에서 자주 등장하는 Policy Gradient 기법의 "gradient"가 뭔지 정확히 이해하면, 왜 이런 방식으로 정책을 업데이트하는지 흐름이 잡히거든요.📌 여기서 gradient란?Gradient(그래디언트) 는 수학적으로 기울기, 즉 함수의 증가/감소 방향과 크기를 나타내는 값이에요.여기서 사용하는 gra..