분류 전체보기 299

[책] PyTorch를 활용한 머신러닝/딥러닝 철저 입문

사실 코드 보면서 무작정 부딪히다보면 익숙해지긴하는데.. 인턴 초기엔 책도 읽어보았숨니다(사실 torch lightning을 거의 사용하긴 했는데) PyTorch 함수들텐서 생성torch.from_numpy(ndarray)NumPy 배열을 텐서로 변환한다torch.utils.data.TensorDataset(data_tensor, target_tensor)설명변수와 목적변수를 합쳐 인덱스 붙이고 하나의 data 집합으로torch.utils.data.DataLoader(dataset, batch_size = 16, shuffle=True)데이터집합을 원하는 크기의 미니배치로 나누어 읽음신경망 구성torch.nn.Modules신경망 모듈 기본 클래스torch.nn.Linear(in, out, bias=Tru..

AI/DL 2024.08.29

Loss function for classification & regression

https://uumini.tistory.com/54https://excelsior-cjh.tistory.com/198 Classification에서 사용하는 기술들에는Cross Entropy Loss (예측 확률 분포와 실제 분포 간 차이 측정)Focal Loss (CEL의 변형, 불균형 데이터셋에 효과적임)Labeling Smoothing (soft label을 사용하여 모델이 지나치게 자신있는 예측하는 것을 방지)Regression에서 사용하는 기술들에는MAE (Mean Absolute Error Loss)예측 값과 실제 값의 차이의 절대값을 평균하여 계산합니다.이상치에 덜 민감하며, 더 많은 양의 작은 오차에 대한 중요도를 부여합니다.nn.L1Loss()MSE (Mean Squared Error ..

AI/DL 2024.08.29

rootutils로 프로젝트 구조 관리하기

프로젝트 root 기준sync/vector_sync.py 에서 utils.py 에 접근하지 못하는 문제가 있음. 즉 부모 디렉터리로 갈 방법이 없음 rootutils + __init__.py 조합으로 해결 가능 (init.py 꼭 안필요한거 같기도)당연히 프로젝트 root에는 .project-root 파일이 존재해야 하구요 import rootutilsrootutils.setup_root(__file__, indicator='.project-root', pythonpath=True)from src.utils import euler2vector setup_root 하면 상위 디렉터리를 traverse 하며 .project-root 파일을 찾고, 해당 디렉터리를 프로젝트 루트로 인식, 그 뒤로는 이제 dot..

etc 2024.08.29

venv → poetry 로 포팅하기

회사 프로젝트를 하는데, venv + requirements.txt 로 의존성 하기가 너무 귀찮았음분명 로컬 환경에서는 잘 됐는데 workflow의 일부 테스트환경에서는 실패하고,, 처음엔 requirements.txt 하나하나 수정했었는데 너무 귀찮더라고요poetry 란?python 의존성 관리와 패키지 배포를 도와주는 도구pip + virtualenv 조합을 대체할 수 있음pyproject.toml 파일을 사용해 프로젝트 설정과 의존성 관리poetry.lock 파일은 의존성이 해결된 후 생성되어, 의존성 트리에 있는 모든 패키지 정보를 lock/기록이렇게 add 하려고 할 때, 자동으로 의존성 관리를 해줍니다.물론 프로젝트 초기부터 poetry 세팅하고 의존성 하나하나 add 해줬다면 좋겠지만, 지금..

etc 2024.08.29

pinball loss란

Qualitile Prediction을 위해 사용되는 Loss function 50퍼 미만인 분위수의 경우 분위수가 작아질수록 예측값이 실제값보다큰 경우 loss가 커지지만작은 경우 loss는 작아진다즉 50% 미만 분위수에 대한 예측값이 실제값보다 낮도록 학습이 될 것임분위수가 낮아질수록 더 낮은 예측값을 얻게 될 가능성이 크도록 학습 될 것임 50퍼 초과인 분위수의 경우분위수가 커질수록 예측값이 실제값보다큰 경우 loss가 작아지지만작은 경우 loss는 커진다즉 50% 초과 분위수에 대한 예측값이 실제값보다 높도록 학습이 될 것임분위수가 높아질수록 더 높은 예측값을 얻게 될 가능성이 크도록 학습 될 것임

etc 2024.08.29

github dependabot

repo에 커밋을 날렸는데, 풀리퀘가 5개정도 생성되어있더라고요 dependabot이라는 친구가 지속적으로 dependencies 문제로 풀리퀘를 날리고 있음을 확인할 수 있다  What is Dependabot?dependabot은 repository의 종속성들을 확인해 보안 이슈가 발생하는 것을 관리해주는 도구repository의 Setting의 Code security and analysis 탭에서 쉽게 Enable / Disable 가능하다 어떻게 해결?pr merge하면 됨 ⇒ 하지만 버전 업데이트가 프로젝트에 미치는 영향 파악해야 함의존성의 의존성에서 문제가 발생했을 때, 자동으로 업그레이드 하지 못함수동으로 충돌을 해결하는 방법이 있다지금은 dependabot pr들이 자동 merge가 안되..

etc 2024.08.29

[논문] Gaze360: Physically Unconstrained Gaze Estimation in the Wild

ICCV 2019  ·  Petr Kellnhofer, Adria Recasens, Simon Stent, Wojciech Matusik, Antonio Torralba💡 초록Gaze360 = 강력한 3D 시선 추정을 위한 대규모 gaze-tracking dataset & method기존 모델에 시간 정보를 포함하여 estimate of gaze uncertainty를 직접 출력하도록 확장ablation study 통해 성능 입증, gaze benchmark datasets과 교차 평가슈퍼마켓 환경에서 고객의 주의 추정하는 응용 프로그램 시연💡 서론2D 신체 자세 및 얼굴 추적과 같은 관련 인간 모델링 문제 ⇒ 비약적인 발전gaze estimation ⇒ large, diverse annotated ..

etc 2024.08.29

오일러각

북동천(NEU: North-East-Up) 좌표계를 사용합니다. 이는 일반적으로 지리적 방향을 기반으로 하는 좌표계로, '북쪽(North)'이 X축, '동쪽(East)'이 Y축, '상향(Up)'이 Z축입니다.https://ko.wikipedia.org/wiki/오일러_각오일러 각에서 자세를 표현할 때, 좌표계의 회전 순서는 먼저 Z축(Yaw), 그 다음 Y축(Pitch), 마지막으로 X축(Roll) 주변으로 정의됩니다.Yaw(요): Z축 주위의 회전, 주로 방위각을 나타냅니다.Pitch(피치): Y축 주위의 회전, 위아래 각도를 나타냅니다.Roll(롤): X축 주위의 회전, 좌우 기울기를 나타냅니다.롤 각도의 범위는 ±180도입니다.피치 각도의 범위는 ±90도로 제한됩니다. 피치가 ±90도를 넘어가면, ..

etc 2024.08.29

IMU (Internal Measurement Unit)

💡 개념관성 측정 장치(Inertial Measurement Unit)**가속도 센서(Acceleration Sensor), 각속도 센서(Gyroscope, 자이로스코프)**로 이루어져 있으며(6축) + 지자기센서까지 포함하기도(9축)자이로스코프: 각속도(rad/s)를 측정하고 시간당 몇도(degree)를 회전했는지가속도계: 가속도(m/s^2)를 측정하고 초기값을 계산할 때 중력 가속도를 분해하여 얼마나 기울어졌는지지자기 센서: 자북을 기준으로 자기선속의 세기를 측정하여 자북을 기준으로 얼마나 틀어졌는지 💡 가속도 센서물체에 작용하는 가속력과 진동력, 충격력 등 동적 힘 발생 시 가속도의 변화(단위: m/s^2) 순간적으로 감지속도를 적분하여 물체의 진행 방향에 대한 속도를 계산시간에 따라 오차 누적..

etc 2024.08.29

LLaVA-OneVision (opensource VLM)

LLaVA-NeXT의 다음 버전인 LLaVA-OneVision이 나왔다고 들었다.https://github.com/LLaVA-VL/LLaVA-NeXT GitHub - LLaVA-VL/LLaVA-NeXTContribute to LLaVA-VL/LLaVA-NeXT development by creating an account on GitHub.github.com LLM에 대해 아는게 거의 없지만 논문을 읽어보기로 했다 LLaVA 관련 논문 리뷰들llava 관련 글 1llava 관련 글 2llava-next 관련 글 1llava-next 관련 글 2 목표- aims to fill gap by demonstrating state-of-the-art performance across a broad range of..

AI/LLM 2024.08.15