no image
[Paper Review] AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
Paper : https://arxiv.org/pdf/2010.11929Github : https://github.com/google-research/vision_transformer 2021년에 발표된 논문이지만 ViT는 현재까지도 널리 활용되는 필수적인 논문이기에 다시 한번 읽고 정리해보고자 한다. 이 논문은 자연어 처리 분야에서 우수한 성능을 보인 Transformer 구조를 컴퓨터 비전 분야에 적용하는 방법을 제시했으며, 이미지를 패치 단위로 분할하여 각 패치를 하나의 단어처럼 취급하는 방식을 도입했다. 대규모 데이터셋으로 사전 학습한 뒤 중소형 데이터셋으로 Fine-tuning할 경우, Convolution Network보다 적은 컴퓨팅 자원으로도 최고 수준의 성능을 달성할 수 있었다.ViT는 ..
2025.01.24
no image
[Paper Review] Attention Is All You Need
Paper : https://arxiv.org/pdf/1706.03762Github : https://github.com/tensorflow/tensor2tensor 2017년에 구글 브레인에서 발표한 논문이며 해당 논문에서 Transformer 구조를 처음 소개한다. 기존의 RNN 기반 모델들은 순차적 처리로 인한 병렬화의 한계와 장기의존성(long-term dependencies) 문제를 완전히 해결하지 못했으며, CNN과 RNN을 혼합한 복잡한 구조는 학습에 어려움이 있었다. 이러한 한계를 극복하기 위해 논문에서는 RNN과 CNN 없이 순수하게 Attention 방법만으로 구현된 Transformer 구조를 제안했다. 해당 구조는 WMT 2014 영어-독일어 번역 태스크에서 BLEU 점수 28.4,..
2025.01.13
no image
Diffusion Model에서 Seed 고정하는법
Diffusion Model에서 Seed를 고정하는 주된 이유는 재현성을 높이기 위해서다. 이는 이미지 퀄리티 향상에 매우 중요한 요소이다.파이프라인은 가우시안 노이즈 생성과 스케줄링 단계의 노이즈 추가와 같은 랜덤 샘플링에 크게 의존한다. 🧑‍🦲 일반적인 경우아래와 같이 코드를 실행했을 때, seed를 고정하지 않았기 때문에 매번 다른 결과가 나오게 된다.from diffusers import DDIMPipelineimport numpy as npmodel_id = "google/ddpm-cifar10-32"ddim = DDIMPipeline.from_pretrained(model_id)image = ddim(num_inference_steps=2, output_type="np").imagespri..
2025.01.03
no image
[Paper Review] Masked Autoencoders Are Scalable Vision Learners
Paper : https://arxiv.org/pdf/2111.06377 Github : https://github.com/facebookresearch/mae Masked Autoencoders Are Scalable Vision Learners는 컴퓨터 비전 분야에서 자기지도 학습(Self-supervised Learning)을 위한 혁신적인 접근 방식을 제시한 논문이다. 요즘 모델들은 수많은 데이터들로 학습을 하고 있으며 Computer Vision에서는 Supervised Learning이 대부분인 반면에 NLP 분야에서는 Self-supervised Learning이 큰 성공은 이뤘다. 문장에서 단어 몇개를 가린 후 원래의 문장(가려진 단어)을 예측하는 식으로 학습이 되고 있는데 이러한 방법을 ..
2024.11.26
no image
Pycharm에서 SFTP 설정 및 자동 업로드 방법
하나의 local PC에서 코드를 관리하고 실행하면 상관없지만 필요에 따라 원격 서버를 사용하게 된다.일반적으로 아래와 같이 서버에 모델 및 데이터를 전송하고 서버에 접속하여 실행하는데 Pycharm에서 SFTP를 통해 원격 서버와 연결하면 SSH로 직접 전송하지 않고 파일만 저장하면 자동으로 전송하게 시킬 수 있다.  더 나아가서 아래와 같은 작업도 가능해진다.  이 방법으로 설정할 경우, 관리하는 서버 수가 적거나 소규모 실험, 소규모 팀 또는 개인 프로젝트를 진행할 때 적합하다. 1️⃣ SFTP 설정하기1. [Tools] - [Deployment] - [Configuration] 선택 2. [+] - [SFTP] 선택 및 server name 설정 3. Host, Username, Password ..
2024.10.18
no image
MLflow Tracking 사용 및 Docker 환경에서 MLflow Tracking server 실행
MLflow가 뭔지는 https://dream2reality.tistory.com/13를 참고.🔧 MLflow Common SetupsMLflow에서 일반적인 설정은 아래 3가지다. 1, 2 번은 모두 개인이 사용할 때의 방법이며 3번은 팀이 개발할 때 사용하는 형식이다. 3번과 같이 MLflow Tracking server를 구성하면 편리하게 실험 내용을 공유할 수 있다. 또한, Server에 올려 항상 켜둘 수 있다는 장점이 있다. 🏃‍♂️ MLflow Tracking Server 실행아래 명령어들을 통해 MLflow server를 실행시켜준다. (PC가 2대인 경우 Server PC에) 1. Docker Image 다운로드docker pull ghcr.io/mlflow/mlflow 2. Doce..
2024.10.17
no image
Docker 이미지 공유하기
🐳 1. Docker Hub로 Docker Image 공유docker hub에 docker image를 공유하기 하기 위해서 우선 `docker login` 을 해줘야 한다. 그전에 docker hub에서 token을 발급받는다.https://hub.docker.com/ 에 로그인한 후 [Account Setting]을 누른다.이후에 [Security] - [Personal access tokens]을 클릭  그다음 [Generate new token]을 누른다.  token의 이름과 permission을 설정해 준다. 생성이 완료되면 터미널에서 아래와 같이 입력한다. 아래 Access token은 다른 사람에게 노출되지 않도록 조심한다.docker login -u [Username][Access To..
2024.10.01
no image
Docker 이미지 만들기
Docker 명령어가 익숙하지 않다면2024.09.20 - [Programming/Docker] - Docker 설치 및 사용법 Docker 설치 및 사용법이 글에서는 Docker 명령어를 실습해보며 Docker에 대한 이해를 깊이 있게 넓혀간다.Docker가 무엇인지 아직 모른다면 2024.09.04 - [Programming/Docker] - Docker란? Docker란?최근에 MLOps를 공부하면서 Kubernetesdream2reality.tistory.com   Docker 이미지를 만드는 방법에는 두 가지가 있다. 첫 번째는 실행 중인 컨테이너를 commit 하여 image로 만드는 것이고 두 번째는 Dockerfile을 build해 image를 만드는 것이다. 🛰️ 1. Commit을 통..
2024.09.30
no image
Docker 설치 및 사용법
이 글에서는 Docker 명령어를 실습해 보며 Docker에 대한 이해를 깊이 있게 넓혀간다.Docker가 무엇인지 아직 모른다면 2024.09.04 - [Programming/Docker] - Docker란? Docker란?최근에 MLOps를 공부하면서 Kubernetes에 학습하는데 뭔가 이해가 완벽히 되지 않았다. Base가 되는 Docker를 제대로 모르고 있어서 그렇다고 생각을 하고 Docker 에 대해 정리를 해본다. Docker를 정확히dream2reality.tistory.com ⚙️ Docker 설치Docker 홈페이지에서 자신이 사용하는 OS에 맞게 선택하여 설치.Windows나 MacOS에서는 Docker Desktop이 설치가 된다. Docker Desktop이 실행이 잘된다면 설치..
2024.09.20