이해한 만큼만 작성해 봄,, GPU CPU는 컴퓨터의 모든 명령을 처리해야 하는 두뇌이기 때문에, 범용 명령어 세트를 처리하기 위한 복잡한 회로로 구성되어 있다. 그래서 다른 AI 반도체에 비해 전력 사용량도 많고, 느리다. 반면에 GPU는 컴퓨터 그래픽을 처리하기 위해 등장해서 병렬적으로 많은 연산을 수행하기 위해 코어수가 많고, 각 코어가 단순한 연산을 수행한다. ex) 3D를 2D로 렌더링 한다고 생각했을 때, 매번 2D 픽셀당 해당하는 광량, 위치, 색상, 그림자 등등 병렬적으로 계산할 것이 많음 그래서 단순한 계산을 병렬적으로 진행할 수 있는 GPU가 훨씬 속도가 빠르고 효율적이라 GPU로 인공지능 모델을 학습하곤 한다. 이때, CUDA, cudnn, .. 을 이용해 인공지능 연산을 가속화한다...
인공지능
인공지능 학습 할 때 CPU 대신 GPU 쓰는 이유? CPU 컴퓨터의 두뇌 역할, 모든 읽고 쓰고 실행하는 장치는 CPU를 거쳐서 수행됨. GPU를 사용한 인공지능 학습 시에는 GPU로 연산을 하라고 데이터와 명령 보내주는 역할. GPU GPU는 graphic 처리를 위해 등장한 연산장치로 CPU에 비해 몇배나 큰 core 수를 가지고 있음. 근데 이제 그 코어가 단순연산만 함. 그래서 많은 코어를 기반으로 CPU에 비해 병렬연산을 빠르게 수행할 수 있음. GPU와 CPU간의 병목 CPU의 처리 속도에 비해 GPU가 연산을 너무 빠르게 수행하면 GPU는 CPU가 새로운 데이터를 보내줄 때까지 쉬게 됨. 하드웨어의 전송 속도의 문제로 발생함. CUDA Computed Unified Device Archit..
pytorch에서 텐서를 반복하여 확장하는 방법들을 정리하겠음. 1) torch.expand() dim=1인 축에 대해서만 확장이 가능하며, shape을 input으로 받음 사용 예) 여기서, 1이 아닌 차원을 확장하려 하면 runtime error 발생. 해결방법 repeat이나 repeat_interleave 사용하면 됨. cf) expand_as() : ref) https://pytorch.org/docs/stable/generated/torch.Tensor.expand_as.html ref ) https://pytorch.org/docs/stable/generated/torch.Tensor.expand.html 2) torch.repeat() 단순히 인풋 텐서를 원하는 shape으로 차곡차곡 쌓음..
GitHub - thmoa/semantic_human_texture_stitching: This repository contains texture stitching code corresponding to the paper Detailed Human Avatars from Monocular Video.