반응형

2023/05 19

PyTorch vs TensorFlow in 2023

원문 파이토치와 텐서플로는 오늘날 가장 인기 있는 두 가지 딥 러닝 프레임워크입니다. 어떤 프레임워크가 더 우수한지에 대한 논쟁은 오랫동안 지속되어 온 논쟁거리이며, 각 진영은 열렬한 지지자를 보유하고 있습니다. PyTorch와 TensorFlow는 비교적 짧은 기간 동안 매우 빠르게 발전해 왔기 때문에 토론 환경은 계속 진화하고 있습니다. 오래되거나 불완전한 정보가 넘쳐나며, 특정 영역에서 어떤 프레임워크가 우위에 있는지에 대한 복잡한 논의가 더욱 난해해지고 있습니다. 텐서플로는 업계 중심 프레임워크로, 파이토치는 연구 중심 프레임워크로 정평이 나 있지만, 이러한 개념은 부분적으로 오래된 정보에서 비롯된 것임을 알게 될 것입니다. 2023년에는 어떤 프레임워크가 최고로 군림할지에 대한 논의가 훨씬 더 ..

Rust 파이썬 바인딩

러스트코드를 파이썬에서 실행하는 방법입니다. 러스트의 높은 성능때문에 많은 파이썬 개발자들이 러스트 코드를 파이썬에서 사용하기 위한 도구를 개발했습니다. 그중에서 가장 널리 사용되는 PyO3 크레이트의 사용법을 알아보겠습니다. 파이썬 가상환경 만들기 pipenv pipenv는 pipenv 명령어 하나로 가상환경의 생성, 삭제, 의존성의 추가, 삭제, 업데이트 등을 모두 할 수 있는 편리한 도구입니다. pipenv는 프로젝트의 가상 환경을 자동으로 생성 및 관리하고 패키지를 설치/제거할 때 Pipfile에서 패키지를 추가/제거합니다. 또한 패키지 유효성을 검사하는 데 사용되는 매우 중요한 Pipfile.lock을 생성합니다. Pipfile.lock은 가상 환경에 설치된 각 패키지의 정확한 버전을 기록하는 ..

Rust 2023.05.29

Rust 비동기 프로그래밍

비동기 프로그래밍이란? 비동기 모델에서는 여러 가지 일이 동시에 일어날 수 있습니다. 프로그램에서 오래 실행되는 함수를 호출해도 실행 흐름이 차단되지 않고 프로그램이 계속 실행됩니다. 함수가 완료되면 프로그램은 결과를 알고 액세스합니다. 위 그림에서 왼쪽은 동기 함수의 실행 흐름, 오른쪽은 비동기 함수의 실행 흐름을 나타냅니다. 동기 함수의 경우, 요청1에 대한 응답이 주어질 때까지 기다렸다가 요청 2를 처리합니다. 비동기 함수는 요청1을 보낸 다음 응답이 올 때까지 기다리지 않고 바로 요청2를 처리합니다. 그 후, 응답 1과 응답2가 도착하면 결과를 바로 확인합니다. 비동기 함수를 사용하면, 프로그램 외부에서 작업이 끝나길 기다리는 동안에 다른 작업을 수행할 수 있기 때문에 효율적으로 작업을 수행할 수..

Rust 2023.05.28

github ID,Password(아이디,패스워드) 안됨, 에러, 오류

remote: Support for password authentication was removed on August 13, 2021 git clone을 할때 github username, password 를 입력해주면 됐었는데, 2021년 08월 13일부로 변경됐습니다. 콘솔메세지로 친절하게 참고할 링크를 안내합니다. ~/projects/github ᐅ git clone https://github.com/rxdryd/practice_2021.git Cloning into 'practice_2021'... Username for 'https://github.com': rxdryd Password for 'https://rxdryd@github.com': remote: Support for password..

컴퓨터 2023.05.27

Rust 멀티스레딩

모든 컴퓨터는 멀티코어 프로세서를 가지고 있어서 여러개의 프로세스를 병렬적으로 실행할 수 있습니다. 하지만 각 프로세스는 독립적으로 격리되어 있어서 서로간에 데이터를 공유하기 어렵습니다. 하나의 프로세스로부터 여러개의 스레드를 만들면 한 프로세스 안에 속한 스레드들은 격리되어 있지 않고 메모리를 공유하며 서로 통신할 수 있습니다. 스레드 스폰 프로세스에서 스레드를 만드는 것을 스레드를 스폰(spawn)한다고 말합니다. 싱글 스레드 스폰하기 모든 프로그램은 메인 스레드로부터 시작합니다. 메인 스레드가 main 함수를 실행하고, 다른 스레드들을 실행시킬 수도 있습니다. 스레드 한 개를 스폰하는 방법은 아래와 같습니다. from threading import Thread from time import slee..

Rust 2023.05.27

Git 명령어

Git 기본 명령어 ※※절대 강제푸시는 사용하면 안됩니다. 깃허브 통째로 날린 경험 있습니다. 강제로 푸시(저장소 내용이 현재 커밋으로 바뀝니다) git push [원격 저장소 이름] [로컬 저장소의 브랜치] -f git push [원격 저장소 이름] [로컬 저장소의 브랜치] --force git push [원격 저장소의 이름] +[로컬 저장소의 브랜치] error: failed to push some refs to 에러 발생경우 강제 push대신 아래 방법으로 해결합니다. $ git pull pull을 받을 때, 현재 브랜치 위치가 master가 아닌 다른 브랜치일 경우에는 $ git pull [브랜치명] 현재 상태 확인 git status 전체 로그 확인 git log git 저장소 생성하기 git ..

컴퓨터 2023.05.26

Samsung Note app(삼성 노트 앱) 일반 PC(컴퓨터)와 연동하기

삼성노트앱은 마이크로소프트 스토어에 공개되어 있는데 일반 PC에서는 설치가 되지 않습니다.(갤럭시북만 가능) https://apps.microsoft.com/store/detail/samsung-notes/9NBLGGH43VHV?hl=ko-kr&gl=kr일반 PC는 직접 설치파일을 다운로드해서 설치를 해주면 됩니다. 확인결과 이전버전의 앱만 일반pc에서 사용가능합니다. 바로 아래 store에서 다운받는것은 더이상 되지 않습니다.​제가 올린 구글드라이브 설치파일(이전버전)은 일반 pc에서 사용가능합니다. 아래 1월 18일 확인사항 내용 참조하시면 됩니다. 아래 사이트에서https://store.rg-adguard.net/ 빨간색 박스 부분에 아래 주소를 써주고https://www.microsoft.c..

컴퓨터 2023.05.18

BoT-SORT

BoT-SORT(Bag of tricks for SORT) SORT 시스템의 한계 ・칼만 필터 상태 벡터 SORT계에서는, 등속을 가정한 칼만 필터를 이용하고 있습니다. 칼만 필터의 사용은 가로폭(width)에서 부정확한 일이 있기 때문에 박스 비율을 이용하여 대응해 왔습니다. 그로인해 경계 박스 예측이 정확하지 않습니다. · 카메라 편차 통상 SORT계에서는, IoU 베이스의 매칭 혹은 코사인 유사도를 이용한 매칭이 행해집니다. IoU 기반 매칭은 예측 상자의 정확성에 크게 의존합니다. 그 때문에, 검출 정밀도가 내려가면, 당연히 매칭도 실패하기 쉬워져, 특히 카메라의 움직임에 의해 정밀도가 떨어진다고 할 수 있습니다. ・매칭 기법 SORT계 알고리즘에 있어서, 포인트 정보를 이용하는 IoU 기반의 매..

MOT(ByteTrack)

MOT (Multiple Object Tracking) 다중 객체 추적(MOT)의 목표는 비디오에서 객체를 감지하고 식별한 다음 높은 정확도로 궤적을 유지하여 객체 주위에 경계 상자를 그리는 것입니다. SORT(Simple Online and Realtime Tracking) 칼만필터로 예측값과 실제 IoU(intersection over union 교집합)의 결과를 비교해서 특정 임계값 이상을 같은ID라고 판단, IoU가 낮은 ID는 제거 합니다. score가 클수록 더 사각형이 일치합니다. 이 점수들을 IoUMatrix에 모아 둡니다. (a)는 이전 Kalman filter에서 나온 결과이고 (b)의 초록색은 현재 Detector에서 나온 박스 입니다. 이 둘을 IoU시킨 후 Hungarian에서 짝..

Vision Transformer(ViT) : An Image Worth 16 x 16 Words

기존 sequence 모델(RNN) 기존 sequence transduction model들은 인코더와 디코더를 포함한 복잡한 recurrent, cnn에 기반합니다. RNN은 순환구조를 이루는 인공신경망의 한 종류입니다. 음성, 문자 등 순차적으로 등장하는 데이터 처리에 적합한 모델입니다. 시간이 흐르는 기준으로 펼쳐놓고 봐야 하기 때문에 순차적인 연산이 필요합니다.(인코더,디코더당 각 하나의RNN) Transformer 최근 1~2년 사이에 많은 모델들이 CNN기반->Transformer기반 모델입니다. Transformer구조를 사용한 Architecture가 수 많은 SOTA를 찍고 있습니다. ViT : An Image Worth 16 x 16 Words - Image Classification의..

영상처리/논문 2023.05.15