본문 바로가기
  • AI 개발자가 될래요

Deep Learning20

timm 사용법 timm 사용법 요즘 모델 경량화 문제 때문에, 여러가지의 backbone network를 사용하여 가장 최적의 backbone은 무엇인지 실험해 보고 있다. 원래는 network의 구조를 코드상으로 파악하고, feature map을 따오는 방식으로 실험을 진행하였지만, 시간이 오래 걸리고 해석하기 어렵다는 문제점이 있었다. 그러던 중 huggingface에서 작성한 "timm" 라이브러리를 알게 되었다. Timm 이란?pytorch로 구현된 여러가지 이미지 모델들을 라이브러리화 시킨 것이다. 장점은 쉽게 여러 network들을 학습, 테스트 할 수 있으며, pretrained weight도 제공해 주기 때문에 backbone nerwork로의 활용성도 높다. 어떻게 사용하느냐?깃헙 링크는 다음과 같다... 2023. 6. 7.
Latent Space에 대한 이해 Understanding of Latent Space in Machine Learning What is Latent Space? 간단하게 말하자면 단순히 압축된 데이터의 표현을 말한다. MNIST와 같은 손글씨 숫자(0–9) 데이터셋을 상상해 보자. 같은 번호의 이미지들는 다른 번호의 이미지들에 비해 서로 가장 유사하다. 우리는 이러한 유사성을 인식하도록 모델을 훈련시킬 수 있다. 이 유사성을 훈련시키는 방법이 우리에게 "숨겨진"것 같다면, 그렇기 때문이다. Latent는 정의상 "숨겨진"을 의미한다. 데이터의 특징을 학습하고 패턴을 찾기 위한 목적으로 데이터 표현을 단순화하는 딥러닝의 핵심이기 때문에 잠재 공간(Latent Space)의 개념이 중요하다. ML에서 데이터를 압축하는 이유? 데이터 압축은.. 2023. 3. 22.
[Tensorflow] tf-nightly 란?, 설치법, 사용법 tf-nightly란? tf-nightly란 텐서플로우(tensorflow)의 일일 빌드 버전이다. 쉽게 설명하면 아래와 같다. tensorflow: 안정된 버전의 텐서플로우. 안정적이나 버그 패치 등 현재 개발 중인 최신 내용이 포함되어 있지 않다. tf-nightly: 개발중인 버전의 텐서플로우. 매일 매일 개발, 수정되는 텐서플로우를 빌드하여 배포한 버전. 최신 기능과 버그 패치가 포함되어 있으나 불안정 할 수 있다. 설치법 간단하게 pip 명령어로 설치 가능하다. pip install tf-nightly 일반적으로 tensorflow를 설치하여 안정적인 버전을 사용하나, 최신 기능이나 본인이 사용하는 기능에 버그 패치 등이 필요한 경우에 tf-nightly를 설치하여 사용하면 된다. 사용법 사용방.. 2023. 2. 28.
[Pytorch] 분산 훈련 명령어 / torch.distributed CUDA_VISIBLE_DEVICES=2,3 python -m torch.distributed.launch --nproc_per_node="2" --master_port=25210 train.py 해석 CUDA_VISIBLE_DEVICES=2,3 ➡ GPU 2,3 번 사용 torch.distributed.launch ➡ 분산 처리 시작 --nproc_per_node="2" ➡ 노드 개수 2개 (gpu 사용 개수와 동일하게 설정) --master_port=25210 ➡ 포트 번호(이미 사용중인 포트 번호 외에 모든 번호 사용 가능) train.py ➡ 실행 파이썬 코드 2023. 2. 14.
[Image Inpainting - MAT] metrics 문제에 대하여 현재 Image Inpainting을 목적으로 하는 MAT 모델을 연구하고 있다. https://github.com/fenglinglwb/mat GitHub - fenglinglwb/MAT: MAT: Mask-Aware Transformer for Large Hole Image Inpainting MAT: Mask-Aware Transformer for Large Hole Image Inpainting - GitHub - fenglinglwb/MAT: MAT: Mask-Aware Transformer for Large Hole Image Inpainting github.com Image Inpainting 이란 Image Inpainting이란 이미지 복원 기술을 의미한다. 아래의 그림은 MAT이 발표한.. 2023. 1. 3.
Object Detection, Segmentation 분야에 자주 사용되는 MIoU에 대하여.. MIoU (Mean Intersection over Union) Object detection, Segmentation 분야에서 자주 사용되는 성능 평가 지표이다. 직역하면 IoU 값들에 대한 평균이며, IoU 는 입력 값이 1개일 때 사용하고 MIoU는 2개 이상일 때 사용한다. 딥러닝 모델의 경우 mini-batch 사이즈에 따라 여러 개의 이미지를 평가하기 때문에 MIoU를 주로 사용한다. 1. IoU (Intersection over Union) IoU를 수식으로 나타내면 아래와 같다. 교집합 : 합집합 즉, 합집합에 대한 교집합의 비 라고 이해할 수 있다. Object Detection에서는 IoU 값이 1에 가까울 수록 좋은 성능을 가졌다고 평가한다. IoU 값이 1이라는 의미는 분모와 분자가.. 2022. 12. 22.