전체 글

전체 글

    [Seg] 간단히 알아보는 Segmentation, Segmentation map

    [Seg] 간단히 알아보는 Segmentation, Segmentation map

    오늘은 간단히 Sementic Segmentation에 대해 포스팅해보려고 한다! 아래에 해당되는 독자분들이라면 본 게시글이 도움이 될 수 있겠다. 😉🤖 그럼 차근차근 시작해보자. 예상 독자 1. 컴퓨터 비전의 Segmentation에 대한 이해가 처음이신분 # Segmentation 이란? 우선 컴퓨터비전에서 Segmentation이란 image의 픽셀별로 모든 레이블을 예측하는 분야이다. 보통 classification이나 detection의 경우에는 픽셀 단위로 무언가를 예측하지는 않는다. (최종 예측을 위해 픽셀 단위의 정보를 이용할 뿐이다!) 하지만 Segmentation은 이들과 다르게 조금 더 픽셀 단위의 세밀한 예측을 진행한다. 아래 사진을 보자. 위 사진에서 오른쪽을 보면, 픽셀별로 라벨..

    [Linux] 리눅스 ls -alt -h로 파일 사이즈 확인하기

    [Linux] 리눅스 ls -alt -h로 파일 사이즈 확인하기

    출처는 이 곳 이다! 예전에 교수님께서 해당 폴더 파일 사이즈가 몇이냐고 여쭤봐주셨던 적이 있는데, 리눅스 찐이라 답변을 못했던 경험이 생각나 잊지 않으려고 포스팅을 해보려고 한다. 우선 다음과 같은 명령어면 디렉토리의 사이즈까지 깔끔하게 확인이 가능하다 ㅎㅎ $ ls -alt -h

    [Linux] 도커 내에서 리눅스 scp 사용하기 (도커에서 도커로 파일 전송)

    [Linux] 도커 내에서 리눅스 scp 사용하기 (도커에서 도커로 파일 전송)

    오늘은 리눅스 scp 명령어 사용법에 대해 포스팅해보려고 한다. 역시 노경언니가 도와줬고,, 나는 정말 많이 헤메다가 드디어 덕분에 방법을 찾았다. 그리고 지금은 파일을 전송중이다! 참고로 나는 연구실에서 도커를 사용하고 있고, 도커에 대한 권한만 있고 서버에 대한 권한은 없는 상태이다! # scp 보통 서버 단에서 파일을 전송하는 리눅스 scp 명령어를 검색하면, 다음과 같이 서버에서 서버로 파일을 전송할 수 있다고 검색된다. $ scp [유저명]@[IP주소]:[전송할 파일 경로] [유저명]@[IP주소]:[받을 경로] 즉, 현재 파일이 들어있는 IP 주소와 경로, 그리고 도착지 경로의 IP주소와 경로를 입력해야하는 것이다. 하지만 이렇게 동일한 형태로 입력했더니 권한이 없다는 "Permission de..

    [PyTorch] Multi-GPU 사용하기 (torch.distributed.launch)

    [PyTorch] Multi-GPU 사용하기 (torch.distributed.launch)

    PyTorch 환경에서 train 할 때, CUDA OOM(Out Of Memory) 에러 때문에 여러개의 gpu로 동시에 병렬적으로 train 하고싶을 때가 있다. 이때는 torch.distributed.launch 를 사용하면 되는데 이는 다음과 같다. $ python -m torch.distributed.launch --nproc_per_node=2 train.py --launcher pytorch 참고로 위에서 --launcher는 내가 사용하는 code의 argments 중 하나이다!

    [TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv)

    [TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv)

    사실 내가 까먹을까봐 적어놓는 프로세스! :( # OpenPCDet 우선 OpenPCDet은 Pointcloud를 이용한 3D detection 분야에서 흔히 쓰이는 패키지 모듈이다. Autonomous driving 분야에서 꽤 유명한 git 레포이고, star도 2.7k 정도이다! 거의 pointcloud를 이용한 3D detection 모델이 모두 들어있고, 이 패키지로 거의 모든 모델을 동일한 환경에서 실험할 수 있어 매우 유용한 패키지이다. 하지만 가상환경 세팅하는게 조금 빡쎄서, 고생했던 기억이 있다. 따라서 이를 공유하고, 미래의 나에게도 혼동하지 않도록 하기 위해 프로세스를 기록한다! :) # Process 1. 우선 python 3.8의 가상환경 만들기. 만약 3.7로 해버렸다면 다음과 ..

    [Linux] 리눅스 wget 사용하기 - 다소 큰 파일을 웹상에서 다운로드

    [Linux] 리눅스 wget 사용하기 - 다소 큰 파일을 웹상에서 다운로드

    오늘은 리눅스 wget 명령어에 대해 간단히 포스팅해보려고 한다. 특히 dataset 같은 아주 큰 파일을 다운로드 해야할 때, 아주아주 느릴 수 있고 서버로 바로 다운받고 싶을 수 있다. 따라서 이럴 때 wget을 이용하면 효과적임을 알아냈다! 명령어의 간단한 사용법은 다음과 같다. ▶ wget -r 다운로드할 링크 -O 다운로드파일명 여기서 다운로드할 링크를 chrome 환경에서 알아내는 방법은, chrome download 창에 가서 링크를 복사하면 된다. 사용 예시는 다음과 같다. wget -r https://lyft-l5-datasets-public.s3-us-west-2.amazonaws.com/3d-object-detection/one_scene.tar -O info.tar

    [CV] ResNet-18로 특정 Image의 feature 추출하기 (PyTorch)

    [CV] ResNet-18로 특정 Image의 feature 추출하기 (PyTorch)

    오늘은 리부탈에서 사용했던 간단한 feature extraction 과정을 포스팅해보려고 한다. 리부탈 끝난 기념으로 여유롭게 포스팅을 하구있다 🥳🔥 우선 오늘 포스팅할 내용은 특정 Image 하나가 들어왔을 때, 이 image를 잘 나타내는 feature를 추출하는 pytorch 방법이다. 나의 경우에는 segmentation map의 feature가 필요했고, 단순 convolution layer를 쌓는 것보다 pretrain된 PyTorch 내장 모듈을 사용하는 것이 좋을 것 같다는 생각에 ResNet을 이용하게 됐다. 우선 간단히 ResNet-18부터 짚고 넘어가고, 어떻게 특정 image의 feature를 추출하는지 그 code를 소개해보려고 한다. # ResNet-18 우선 이 글을 읽는 독자..

    [백준] 치킨배달(Python) - 구현 & 백트래킹

    [백준] 치킨배달(Python) - 구현 & 백트래킹

    # 문제 문제가 언뜻 보면 복잡해보이지만, 사실 M개의 치킨집을 선택하는 최적의 입지를 구하는 문제다. 여기서 최적의 입지의 기준이란 각 집으로부터 "치킨거리"의 합이 가장 작아지는 M개의 치킨집을 고르는 경우를 구하는 것 ! "치킨거리"를 구하는 공식 또한 인덱스를 기준으로 하기에 그렇게 어렵지 않다. # 입출력 # Idea # Code 우선 이 문제는 구현과 백트래킹으로 풀 수 있으므로, 구현으로 푸는 방법을 먼저 소개하겠다. itertools의 combination 함수를 이용하면 쉽게 구현 가능하다. """ 치킨 배달 - Combination으로 먼저 풀기 """ from itertools import combinations # 해당 치킨집 조합과 1들의 거리를 리턴하는 함수 def distanc..