분류 전체보기
-
[Pytorch Lightning] AttributeError: 'property' object has no attribute 'num_devices'Debug 2023. 8. 14. 04:00
환경: CentOS Linux release 7.9.2009 현상: 코드 내부에서 Trainer 객체를 만들고 num_devices 파라미터 호출시 AttributeError가 발생했다. from pytorch_lightning import Trainer traner = Trainer() print(trainer.num_devices) pytorch_lightning 라이브러리의 Trainer 코드 조회시 문제가 발생할 이유를 찾지 못했다. 로컬(윈도우)에서 동일한 테스트코드 작성 후 실행 시 정상 작동 하였다. 문제 발생 원인: pytorch_lightning 라이브러리 버전 이슈 해결 방법: pytorch_lightning 버전 업그레이드 (1.5.5 -> 1.7.4)
-
[GO] Gin Framework 설치 (Windows)기타 2023. 8. 11. 17:27
Git에서 Fork해온 딥러닝 프로젝트 중 Gin 라이브러리를 이용하여 arguments들을 관리해주는 프로젝트가 있어서 Gin을 사용해야했다. 아래는 GO 언어를 사용해본 적 없고, Gin Framework를 처음 들어본 (나와 같은) 사람들을 대상으로 작성한 설치방법이다. 1. Prep (Golang 설치하기) Golang 설치 링크된 golang 사이트에서 GO 언어를 설치해준다. Featured downloads에서 Microsoft Windows 의 amd64 버전으로 다운받아 설치해주면 된다 (1.21.0 버전을 설치하였다). 터미널에서 명령어로 go 설치가 되었는지 확인해준다. go version // output: go version 1.21.0 windows/amd64 Golang 초기화..
-
[Git] Fork한 Public Repo를 Private Repo으로 바꾸기기타 2023. 8. 11. 16:26
Git에서는 Fork한 Repository(Repo)의 경우 Public Repo로 관리하게 강제하고 있다. 하지만, private하게 진행시키고 싶은 프로젝트의 경우 public repo로 git을 관리하기 어려운 경우가 있다. 이 때, Fork한 public repo를 mirror하여 private repo로 관리하는 방법은 다음과 같다. 1. Prep 원하는 Repo를 fork해오기 (public-repo.git) private 하게 관리할 빈 repo를 만들기 (private-repo.git) 2. Mirror git clone --bare https://github.com/exampleuser/public-repo.git cd public-repo.git git push --mirror http..
-
[딥러닝] 1x1 Convolution 이해하기Study Bits 2023. 8. 10. 20:41
1x1 Conv는 입력값에서 하나의 요소에 대해 연산을 하기 때문에 언뜻 무의미한 연산처럼 보이기도 한다. GoogleNet, ResNet, SqueezeNet 등에서 중요한 역할을 하는 1x1 conv 레이어는 어떤 연산을 하는 네트워크일지 알아본다. Conv Layer의 일반적인 특징을 살펴보면, 입력값은 보통 여러개의 채널(channel, depth)을 가지고 있다. Conv Layer Filter(컨볼루션 레이어의 필터)는 입력값의 채널과 동일한 depth를 가진다. 출력값의 채널은 Conv layer의 filter 개수와 같다. 1x1 Conv Layer 1x1 Conv Layer는 Filter의 depth가 입력값의 channel과 동일하기 때문에 채널방향으로 feature를 섞어주는 역할을 ..
-
[NeRF 기본] 레이 마칭 알고리즘 (The Ray-Marching Algorithm)NeRF 2023. 8. 5. 11:14
The almighty ray-marching algorithm 내부 산란으로 인해 광선을 따라 들어오는 빛을 적분하려면, 광선이 통과하는 볼륨을 작은 볼륨 요소로 분해하고 각각의 작은 볼륨 요소의 기여를 전체 볼륨 개체에 결합한다. 이는 2D 편집 소프트웨어(예: Photoshop)에서 마스크 또는 알파 채널(일반적으로 개체의 불투명도를 나타냄)을 사용하여 이미지를 서로 겹쳐 놓는 것과 비슷하다. 앞으로 언급 될 리만 합에서 각각의 작은 볼륨 요소는 샘플을 나타낸다. To integrate incoming light along the ray due to in-scattering, we will break down the volume that the ray passes through into small ..
-
[NeRF 기본] 볼륨 렌더링 기본 (An Introduction to Volume Rendering)NeRF 2023. 8. 5. 01:10
작성중 * Volume Rendering for Developers: Foundations 를 참조하여 작성되었습니다. Lesson: to learn how to render a volume shaped like a sphere illuminated by a single light source on a uniformly colored background. Internal Transmittance, Absorption, Particle Density, and the Beear's Law 우리 눈에 들어오는 빛은 어떤 물체에 반사된 빛이거나 광원에서 발산된 빛이다. 빛이 입자들로 이루어진 공간(Volume)을 통과할 때 입자에 흡수된다. 공간상에 입자가 많을 수록 볼륨이 더욱 불투명해진다. 이러한 단순한 관..
-
[NeRF 기본] 레이마칭 (Ray Marching)NeRF 2023. 8. 4. 01:41
레이트레이싱(Ray Tracing) : 물체에 빛을 쏘아 반사된 빛을 추적한다.경로 추적(Path Tracing) : 모든 물체에 랜덤 방향의 Ray를 추적시켜 현실 빛 효과를 재현한다. 레이마칭 (Ray marching) 이란?메시(Mesh) 데이터를 이용하는 기존의 3D 렌더링 방식과는 달리, 거리함수(Signed Distance Function, SDF)를 이용해 오브젝트 표면을 정의하는 방법. 카메라로부터 스크린 픽셀들을 향해 레이를 전진시키고(Ray Marching), 해당 픽셀의 레이가 오브젝트 표면에 닿으면 그 픽셀에 오브젝트 표면을 렌더링하는 방식이다. 레이 마칭 과정레이의 원점 (Ray Origin, $r_{o}$) 정하기 Ray Origin은 Ray의 출발지점을 의미하며, 카메라의 3D..