전체 글 99

Onnx 모델과 pth 모델 성능 비교

최근에 업무를 진행하여 npu 를 위한 모델 변환을 진행함모델 변환 후 평가를 진행해보니, 기존 서버에서 측정한 모델 성능이 재현되지 않음문제가 발생했을 가능성이 있는 부분은 2곳변환된 모델에 입력으로 넣어준 데이터변환하기 전 모델일단 변환하기 전 onnx 모델을 살펴보기 위해 onnxruntime 으로 평가를 진행해보니 이 또한 서버 성능을 재현하지 못함.import numpy as npimport onnxruntime as ortimport osimport globbin_directory = [데이터 디렉토리]model_path = [모델 경로]session = ort.InferenceSession(model_path)input_name = session.get_inputs()[0].nameclass..

Code/ONNX 2025.03.19

[Pytorch, CUDA] Pytorch 와 CUDA version mismatch

RuntimeError: The detected CUDA version (12.3) mismatches the version that was used to compile PyTorch (11.8). Please make sure to use the same CUDA versions. 오픈 소스 코드를 받아, 가상 환경 구성 중에 위와 같은 에러가 발생했음사용 중인 gpu 는 RTX 3090 으로 nvidia-smi 를 찍어보면 cuda 12.2 로 나오고, pytorch 는 cu11.8 로 받아둔 상태그럼 도대체 12.3 cuda version 은 어디서 오는가??좀 알아보니 가상환경에 cuda toolkit 이 깔려있지 않아, 기본적으로 깔려있는 cuda version 으로 잡힌 것 같음그래서 아래 링..

Code/Pytorch 2025.03.02

Camera Coordinate System

Camera Coordinate System 은 아래와 같이 여러 종류가 존재하는데, Camera Parameter 설명 시에 필요하여 짚고 넘어가기로 함3D Coordinate SystemWorld Coordinate System사용자가 임의로 정한 원점을 기준으로 하는 좌표계Camera Coordinate System (위 그림에서 노란색 좌표)카메라 렌즈의 위치가 origin 이 되는 좌표계카메라가 바라보고 있는 방향을 z축원점으로부터 focal length 만큼 떨어진 지점에 있는 곳을 image plane 이라고 부름 2D Coordinate SystemImage Coordinate System (위 그림에서 초록색 좌표)Camera Coordinate System 에서 이어진 z축이 image..

[Conda] 맥(Mac)에서 아나콘다(anaconda) 설치 및 가상환경 사용

아나콘다(anaconda)란?파이썬(python)을 사용할 때 필요한 여러가지 패키지 관리 및 가상환경을 편리하게 설정할 수 있는 배포판가상환경이란?소프트웨어 개발 시 여러 패키지와 라이브러리를 설치하여 사용하는데, 서로 버전이 맞지 않는 경우 충돌이 일어날 수 있음따라서 패키지와 라이브러리들을 독립적으로 관리할 수 있는 환경을 가상환경이라고 부름아나콘다(anaconda) 다운로드아래 링크로 접속https://www.anaconda.com/download/success Download Now | AnacondaAnaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterpris..

Code/Linux Conda 2025.01.29

Multi-View Stereo (MVS)

원리Camera Parameters 추정Intrinsic parameters: 카메라의 내부 특성 (초점 거리, 주점 위치 등)Extrinsic parameters: 카메라의 위치와 방향Feature Matching & Triangulation여러 이미지에서 대응점(corresponding points) 찾기찾은 대응점들을 3D 공간상에서 triangulation하여 3D 점들 생성Dense ReconstructionSparse한 점들을 기반으로 dense한 3D 모델 생성Depth map 생성 및 refinement 대표적인 MVS PipelineStructure from Motion (SfM)이미지들 간의 상대적 위치 관계 파악Sparse 3D reconstruction 수행Multi-View Ste..

[CVPR 2024] DUSt3R: Geometric 3D Vision Made Easy

DUST3R 연구 흐름은 아래 링크 참고 바랍니다. GitHub - Ethan-Lee-Sunghoon/Awesome-DUST3R: A curated list of awesome DUST3R/MAST3R related papers.A curated list of awesome DUST3R/MAST3R related papers. - Ethan-Lee-Sunghoon/Awesome-DUST3Rgithub.com - Introduction현대 3D reconstruction 은 아래의 하위 분야들을 통합한 결과라고 볼 수 있음1. Keypoint detection (키포인트 감지)- 이미지에서 특징이 될 만한 중요한 점들을 찾아내는 과정- 예: 모서리, 코너, 특이한 텍스처가 있는 부분 등- 대표적인 알고리즘..

Anisotrophic (이방성) 과 Isotrophic (등방성)

이방성과 등방성에서 '방(方)' 은 방향을 뜻하는 한자 Isotrophic (등방성): 방향과 상관 없이 같은 형태를 보임 위키백과 ► 수학에서 어떤 다양체(manifold)가 등방성이라는 것은 방향에 상관없이 그 다양체의 그 모양(geometry)이 같음을 뜻함 Anisotrophic (이방성=비등방성): 방향이 달라지면 보이는 형태가 달라짐

[ICLR 2024] LRM: Large reconstruction model for single image to 3d

- Introduction 어떤 물체의 이미지 한 장으로 3D reconstruction 이 가능할까? 최근 2d image generation 분야를 보면, large 모델을 사용하면서 아주 좋은 성능을 보이고 있음► 3D recon 분야에도 적용 (transformers) 1. 이미지를 받아서 triplane representation 형태로 NeRF 추정 (EG3D 에서 제안)Volume 이나 Point cloud 에 비해 연산량이 적음2. Encoder-Decoder architecture 제안 (DINO)- Method  Image EncoderDINO 학습된 ViT 사용 Input: 512 x 512 x 3 Conv Output, ViT Output: (32 x 32) x 768 일반적으로 C..

[3DGS] Gaussian Splatting 환경 구성

name: gaussian_splattingchannels: - pytorch - conda-forge - defaultsdependencies: - cudatoolkit=11.6 - plyfile - python=3.7.13 - pip=22.3.1 - pytorch=1.12.1 - torchaudio=0.12.1 - torchvision=0.13.1 - tqdm - pip: - submodules/diff-gaussian-rasterization - submodules/simple-knn - opencv-python - joblib 해당 코드를 이용해서 환경을 구성했는데, 자꾸 submodules 다운로드 과정에서 오류가 발생했음 export CUDA_HOME..

[Docker] Networking (Bridge, Host, Overlay)

Bridge 네트워킹도커의 기본 네트워킹 모드각 컨테이너는 가상 네트워크 인터페이스를 받아 도커 브리지에 연결컨테이너들은 이 브리지를 통해 서로 통신 가능호스트 밖으로의 통신은 NAT를 통해 이루어짐포트 매핑을 통해 외부에서 컨테이너에 접근할 수 있음 Host 네트워킹컨테이너가 호스트의 네트워크 스택을 직접 사용함별도의 네트워크 격리가 없어 성능이 좋음호스트의 포트를 컨테이너가 직접 사용하므로 포트 충돌에 주의해야 함보안상 위험할 수 있어 신중하게 사용해야 함 Overlay 네트워킹여러 도커 호스트 간에 분산된 네트워크를 만듦서로 다른 호스트에 있는 컨테이너들이 마치 같은 네트워크에 있는 것처럼 통신 가능주로 Docker Swarm이나 Kubernetes와 같은 오케스트레이션 도구에서 사용VXLAN을 사..

Code/Docker 2024.10.16