스푸 기록 보관소

Segment-anything 테스트 (feat.torch 버전불일치) 본문

AI

Segment-anything 테스트 (feat.torch 버전불일치)

스푸♡ 2024. 8. 14. 08:00

 

최근에 가장 핫한 segment-anything을 로컬 PC에서 돌려 볼 생각이다.

일명 누끼따기로 불리는데

이미지와 동영상에서 유사한 영역을 묶어서 색상 추출

강조 처리를 해주는 능력(?)을 보여준다.

앞으로 자율주행이나 의료분야에서 꽤나 실용적으로 활용될 것으로 예상되는 기술이다.

 

segment-anything 실행에 앞서 CUDA 지원 여부를 확인해 봤다.

그런데

torch와 torchvision 버전 및 cuda 지원을 확인하는 과정에서

아래와 같이 CUDA를 지원여부가 false로 떨어졌다.

import torch
import torchvision
print("PyTorch version:", torch.__version__)
print("Torchvision version:", torchvision.__version__)
print("CUDA is available:", torch.cuda.is_available())

 

우선 pip를 통해 torch 최신 버전을 모두 받은 후, 현재 그래픽 카드에 맞는 cuda도 내려받았다.

뿐만 아니라 torch버전과 torchvision 버전 역시 불일치하는 문제가 있었다.

이거 저거 시도하다 그냥 깔끔하게 모두 uninstall 후에 다시 설치를 진행했다.

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

 

 

 

설치가 완료된 후에 아래 주소에서 segment-anything model을 다운 받았다.

https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth

 

segment-anything에서 제공한 예제는 자동으로 이미지에서 색상으로 유사한 영역을 분류를 하는 기능이다.

 

segment-anything 마스킹 처리하기 전 사진

segment-anything 마스킹 처리 후 사진

 

너무 알록달록해서 눈이 아프다.

두번째 예제인 neurons.jpg 도 사실 잘 분류가 된 건지 잘 모르겠지만

얼추 동그란 부분을 알맞게 색칠해 준 것으로 보인다.

 

사진도 시간이 엄청 걸려서 차마 동영상은 손을 댈 엄두가 나지 않는다.

 

아래 링크에 접속하면 예제 코드와 예제 사진을 받을 수가 있다.

https://github.com/bnsreenu/python_for_microscopists/tree/master/307%20-%20Segment%20your%20images%20in%20python%20without%20training

 

python_for_microscopists/307 - Segment your images in python without training at master · bnsreenu/python_for_microscopists

https://www.youtube.com/channel/UC34rW-HtPJulxr5wp2Xa04w?sub_confirmation=1 - bnsreenu/python_for_microscopists

github.com

 

P.S ) torch, torchvision, torhchaudio 이 3개 버전 불일치 문제로 계속 오류가 났는데

가장 깔끔한 방법은 그냥 모두 uninstall 후

nvidia-smi 로 cuda버전을 확인한 후, cuda까지 동시에 받는 걸 추천 드린다.