티스토리

jaeha-lee
검색하기

블로그 홈

jaeha-lee

jaeha-lee.tistory.com/m

jaeha_lee 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • [논문리뷰] DriveLM:Driving with Graph Visual Question Answering DriveLM : Driving with Graph Visual Question AnsweringChonghao Sima, Katrin Renz, Kashyap Chitta, Li Chen, Hanxue Zhang, Chengen Xie, Jens Beißwenger, Ping Luo, Andreas Geiger, Hongyang LiECCV 24 -https://arxiv.org/abs/2312.14150 Summary 일반화 부족: 새로운 환경이나 센서 설정에 대한 적응력이 낮음.설명 가능성 부족: 유럽연합(EU) 등에서 요구하는 투명한 의사결정 과정을 제공하지 못함.단계별 사고 과정 결여: 인간 운전자는 **객체 인식(Perception) → 예측(Prediction) → 계획(Planning)**.. 공감수 0 댓글수 0 2025. 2. 23.
  • torch.cuda.amp.GradScaler torch.cuda.amp.GradScaler는 PyTorch에서 Mixed Precision Training (혼합 정밀도 학습, FP16) 시 그레디언트 스케일링을 담당하는 클래스이 기능을 사용하면 FP16 연산의 안정성을 높이고 학습 속도를 가속화할 수 있음 scaler = torch.cuda.amp.GradScaler(init_scale=2048, growth_interval=1000)예시 분석 📌 1. init_scale=2048초기 스케일 팩터 (Gradient Scale Factor)를 2048로 설정기본값은 2.0 ** 16 = 65536이지만, 여기서는 2048로 낮게 설정됨FP16 연산 시 작은 그레디언트 값이 언더플로우(Underflow)되는 문제를 방지스케일이 너무 작으면 학습이 .. 공감수 0 댓글수 0 2025. 2. 21.
  • [논문리뷰] LoRA: Low-Rank Adaptation of Large Language Models LoRA: Low-Rank Adaptation of Large Language ModelsEdward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen | MSICLR 22 Contents1. ChatGPT    1-1. GPT-1     1-2. GPT-2     1-3. GPT-3    1-4. GPT-4    1-5. Instruct GPT - [https://jaeha-lee.tistory.com/91]    1-6. RLHF2. LLama 3. Gemini4. DeepSeek5. LLaVA    5-1. LLaVA - https://jaeha-lee.tistory.com.. 공감수 0 댓글수 0 2025. 2. 12.
  • [논문리뷰] LLaVA : Visual Instruction Tuning Visual Instruction TuningHaotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae LeeNeurIPS 2023[https://arxiv.org/abs/2304.08485] Contents1. ChatGPT    1-1. GPT-1     1-2. GPT-2     1-3. GPT-3    1-4. GPT-4    1-5. Instruct GPT    1-6. RLHF2. LLama 3. Gemini4. DeepSeek5. LLaVA    5-1. LLaVA - https://jaeha-lee.tistory.com/93    5-2. LLaVA-Next    5-3. LLaVA-NeXT-Interleave6. LoRA  SummaryVisual Instruc.. 공감수 0 댓글수 0 2025. 2. 12.
  • LLM / VLM paper list LLMChatGPT PapersGPT-1 : Improving Language Understanding by Generative Pre-Training. - Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever [pdf] 2018.6GPT-2 : Language Models are Unsupervised Multitask Learners. - Alec Radford, Jeff Wu, Rewon Child, D. Luan, Dario Amodei, Ilya Sutskeve [pdf] 2019.2GPT-3 : Language Models are Few-Shot Learners. - Tom B. Brown, Benjamin Mann, Nick Ryde.. 공감수 1 댓글수 0 2025. 2. 11.
  • [논문리뷰] (InstructGPT) Training language models to follow instructions with human feedback 논문 리뷰 요약 Improving Language Understanding by Generative Pre-TrainingInstructGPT - [2203.02155] Training language models to follow instructions with human feedback]Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, OpenAINeurIPS, 2022 - https://arxiv.org/abs/2203.02155 Contents1. ChatGPT    1-1. GPT-1     1-2. GPT-2     1-3. GPT-3    1-4. GPT-4    1-5. Instruct GPT - (Tr.. 공감수 0 댓글수 0 2025. 2. 6.
  • cpu 사용량 확인하기 1. Pytorch Profiler 사용하기import torchimport torch.distributed as distimport torch.nn as nnimport torch.optim as optimfrom torch.profiler import profile, ProfilerActivity# 모델 정의class SimpleModel(nn.Module): def __init__(self): super().__init__() self.fc = nn.Linear(10, 1) def forward(self, x): return self.fc(x)# DDP 초기화dist.init_process_group("nccl")torch.cuda.set_device.. 공감수 2 댓글수 0 2025. 1. 7.
  • torch 2.x 유용한 기능들 torch.compile()을 사용할 때 특정 연산(예: 사용자 정의 CUDA 커널)이 지원되지 않는 경우,PyTorch의 디버깅 도구를 활용하여 문제를 추적하고 해결할 수 있음1. torch._dynamo.config.verbose=True로 디버깅 활성화torch.compile()에서 문제가 발생하면, torch._dynamo.config.verbose=True를 설정하여 PyTorch의 디버깅 메시지를 활성화이렇게 하면 어떤 연산이나 코드가 문제가 되는지 확인할 수 있음import torchimport torch._dynamotorch._dynamo.config.verbose = True이 설정을 활성화한 상태로 torch.compile()을 사용하면, 컴파일 과정에서 발생한 오류와 문제의 위치를 .. 공감수 0 댓글수 0 2025. 1. 7.
  • torch 2.x PyTorch 2.0 주요 변경 사항1. TorchDynamoPyTorch 2.0의 핵심 기능으로, 동적 그래프를 정적으로 컴파일하는 기능을 제공TorchDynamo는 기존의 Python 함수 코드를 변환하여 빠르고 최적화된 그래프 실행을 지원함사용자는 torch.compile() API를 통해 모델을 쉽게 컴파일할 수 있음2. Inductor BackendInductor는 새로운 고성능 컴파일러 백엔드로, 다양한 하드웨어(예: CPU, GPU)에 대해 최적화된 코드를 생성함.기존의 TorchScript 및 기타 백엔드보다 더 나은 성능을 제공함.3. Dynamic Shapes 지원동적 입력 크기를 더 잘 처리할 수 있도록 개선됨.TorchInductor와 함께 사용할 때도 성능 저하 없이 동적 크기 입.. 공감수 3 댓글수 0 2025. 1. 7.
  • CUDA build CUDA extension은 GPU 가속을 위해 사용자 정의 CUDA 커널을 작성하고 이를 Python 코드에서 사용할 수 있도록 만든 확장 모듈torch.utils.cpp_extension을 사용하여 CUDA 커널을 Python 코드에서 호출할 수 있도록 빌드함 CUDA extension은 사용자 정의 CUDA 커널을 PyTorch와 연결하기 위한 모듈일반적인 Python/CPU 코드로는 수백만 개의 점에 대해 이웃을 찾는 연산이 너무 느리기 때문에, CUDA 커널을 직접 작성하여 속도를 높임병렬 연산을 통해 GPU 가속이 가능해지며, PyTorch의 autograd 기능과도 통합할 수 있음 C++ Code (ball_query.cpp): This file contains the interface be.. 공감수 1 댓글수 0 2024. 12. 15.
  • 241130 [NeurIPS 23'] LLaVA: Large Language and Vision AssistantVisual Instruction Tuning https://github.com/haotian-liu/LLaVA GitHub - haotian-liu/LLaVA: [NeurIPS'23 Oral] Visual Instruction Tuning (LLaVA) built towards GPT-4V level capabilities and beyo[NeurIPS'23 Oral] Visual Instruction Tuning (LLaVA) built towards GPT-4V level capabilities and beyond. - haotian-liu/LLaVAgithub.comhttps://arxiv.org/abs/2304.08485 Visual Instruction TuningInstruction tuning large language models (.. 공감수 2 댓글수 2 2024. 11. 30.
  • Git 1. 초기 설정: Git 초기 설정먼저, 로컬 컴퓨터에 Git 사용자 정보를 설정합니다. git config --global user.name "Your Name"git config --global user.email "your.email@example.com"이제 로컬 저장소나 모든 커밋에 본인의 이름과 이메일이 기록됩니다.2. 저장소 생성 및 클론: 원격 저장소 만들기 및 클론하기협업을 위해 GitHub나 GitLab과 같은 플랫폼에서 저장소(Repository) 를 생성합니다.저장소가 만들어지면, 아래 명령어로 로컬 컴퓨터에 클론합니다.git clone 이 명령어로 원격 저장소의 내용을 로컬에 다운로드할 수 있습니다.3. 브랜치 사용하기: 독립적인 작업 공간 만들기브랜치를 사용하면 각자 작업을 분리.. 공감수 0 댓글수 0 2024. 10. 27.
  • 카메라 왜곡 보정 - Spherical model 카메라 왜곡을 보정하기 위해 사용하는 모델 중 하나로 스피리컬 모델(Spherical Model)이 있습니다. 이 모델은 주로 피쉬아이 렌즈(Fisheye Lens) 같은 넓은 화각을 가진 렌즈에서 발생하는 왜곡을 보정하는 데 사용됩니다. 스피리컬 모델을 이해하기 위해 기본적인 카메라 왜곡과 보정 방법을 먼저 설명한 후, 스피리컬 모델에 대해 자세히 다루겠습니다.카메라 왜곡 (Camera Distortion)카메라 왜곡은 렌즈가 이미지에 비정상적인 변형을 가하는 현상입니다. 대표적으로 라디얼 왜곡(Radial Distortion)과 탄젠셜 왜곡(Tangential Distortion)이 있습니다.라디얼 왜곡: 이미지의 중심으로부터 거리가 멀어질수록 선들이 휘어지는 현상입니다.배럴 왜곡(Barrel Dis.. 공감수 0 댓글수 0 2024. 8. 18.
  • tensorboard 사용법 (SummaryWriter 사용법) SummaryWriter.add_scalar는 TensorBoard에 수치형 데이터를 기록하는 데 사용되는 함수add_scalar(tag, scalar_value, global_step=None, walltime=None)매개변수 설명tag (str): 기록할 값의 이름. TensorBoard에서 그래프의 축 제목scalar_value (float): 기록할 수치형 값global_step (int, 선택 사항): 이 값을 통해 특정 시점(global step)을 지정할 수 있음. 일반적으로 epoch or batch index 사용. 이를 통해 그래프의 x축에 시점을 표시.walltime (float, 선택 사항): 기록 시점의 시간. 기본적으로는 현재 시간을 사용.사용 예시from torch.utils.. 공감수 0 댓글수 0 2024. 7. 21.
  • Torch + collate_fn collate_fn은 PyTorch의 DataLoader에서 배치(batch)를 구성하는 방식을 사용자 정의할 수 있게 해주는 함수.기본적으로 DataLoader는 단순히 각 데이터를 배치 단위로 묶어서 반환하지만, 데이터의 형태가 복잡하거나 다양한 전처리가 필요한 경우 collate_fn을 사용하여 맞춤형 배치 구성을 할 수 있음기본적인 Dataset 구현collate_fn을 정의하여 DataLoader에 전달예시import torchfrom torch.utils.data import Dataset, DataLoaderclass MyDataset(Dataset): def __init__(self, data, labels): self.data = data self.label.. 공감수 0 댓글수 0 2024. 7. 7.
  • torch로 dataset 만들기 PyTorch에서 나만의 Dataset을 만들 때 반드시 작성해야 하는 함수는 다음과 같다.__init__: 데이터셋의 초기화를 담당__len__: 데이터셋의 크기(길이)를 반환__getitem__: 주어진 인덱스에 해당하는 데이터를 반환PyTorch의 Dataset 클래스를 상속받아야 한다.아래는 그 예시import torchfrom torch.utils.data import Dataset, DataLoaderclass MyDataset(Dataset): def __init__(self, data, labels): """ 데이터셋의 초기화를 수행합니다. Args: data (list or numpy array): 데이터 리스트 또는 배열 .. 공감수 0 댓글수 0 2024. 7. 7.
  • nuScenes data - can_bus 보호되어 있는 글입니다. 공감수 0 댓글수 0 2024. 6. 11.
  • Vision-Centric BEV Perception: A Survey 깊이 기반, MLP 기반, 및 트랜스포머 기반 접근 방식. 깊이 기반 방법의 경우, 2D 특징을 명시적 또는 암시적인 깊이 추정을 통해 3D 공간으로 올리는 것이 주요 솔루션픽셀을 직접적으로 BEV로 매핑하는 대신, 각 픽셀의 깊이 분포를 계산하여 2D 특징을 이 분포로 3D로 올리고, 이후 3D에서 차원 축소를 통해 BEV 표현을 얻음n설명방법 1하나의 간단한 접근 방식은 변분 인코더-디코더 또는 MLP를 사용하여 PV 특징을 BEV로 투사하는 것방법 2트랜스포머 기반 접근 방식은 상향식 방식으로 BEV 쿼리를 직접 구성하고 교차 주의 메커니즘을 사용하여 원근 이미지에서 해당 특징을 찾음 BEV-Perception? -> Background입력 이미지 시퀀스 𝐼∈𝑅^(𝑁×𝑉×𝐻×𝑊×3)를 주.. 공감수 0 댓글수 0 2024. 5. 23.
  • 재건축 고려(용적률 vs 건폐율 vs 대지지분) 재건축성을 고려할 때 건폐율과 함께 용적률과의 관계를 고려해야 합니다. 건폐율과 용적률의 균형: 재건축성을 고려할 때 건폐율과 용적률을 조화롭게 고려해야 합니다. 적절한 건폐율과 용적률을 설정함으로써 새로운 건물이 부지에 적절히 맞춰지고, 자연환경과의 조화를 이룰 수 있습니다. 재건축성을 고려할 때는 위와 같은 다양한 측면을 종합적으로 고려하여 건폐율과 용적률을 결정해야 합니다. 용적률 용적률은 특정 지역 또는 건물에 대해 허용되는 건축물의 총 부피나 면적과 그 지역이나 건물 자체의 총 부피나 면적 간의 비율을 의미합니다. 이는 도시 계획이나 건축 디자인에서 중요한 요소 중 하나로, 건축물이나 지역을 효율적으로 이용하고, 주변 환경에 미치는 영향을 최소화하기 위해 고려됩니다. 일반적으로 더 높은 용적률은.. 공감수 0 댓글수 0 2024. 4. 21.
  • photopea 이미지 추출 https://www.photopea.com/ Photopea를 사용하여 특정 그림 부분을 따로 추출하는 방법은 다음과 같습니다. Photopea 열기: 웹 브라우저에서 Photopea 웹 사이트에 접속하여 Photopea를 엽니다. 이미지 열기: 메뉴에서 "File"을 클릭한 다음 "Open"을 선택하여 추출하려는 이미지 파일을 엽니다. 추출 도구 선택: 추출할 부분을 선택하기 위해 왼쪽 도구 모음에서 "마법봉 도구" 또는 "선택 영역 도구"를 선택합니다. 부분 선택: 선택 도구를 사용하여 추출하려는 그림 부분을 클릭하고 드래그하여 선택합니다. 필요에 따라 선택 영역을 조절할 수 있습니다. 부분 추출: 선택한 부분을 추출하려면 "Edit" 메뉴에서 "Copy"를 선택하여 선택한 부분을 클립보드에 복사합.. 공감수 0 댓글수 0 2024. 3. 26.
  • Python MultiProcessing Python의 multiprocessing 모듈은 병렬 처리를 위한 도구를 제공합니다. 이 모듈을 사용하면 여러 개의 프로세스를 동시에 실행하여 작업을 병렬로 처리할 수 있습니다. 이는 멀티코어 CPU 시스템에서 작업을 분산하여 수행함으로써 성능을 향상시키는 데 사용됩니다. multiprocessing 모듈을 사용하여 병렬 처리를 수행하는 데는 몇 가지 주요 개념이 있습니다. 프로세스 (Process): multiprocessing.Process 클래스를 사용하여 새로운 프로세스를 생성할 수 있습니다. 각 프로세스는 독립적인 메모리 공간을 가지며, 각각의 프로세스는 별도의 Python 인터프리터 인스턴스를 실행합니다. 각 프로세스는 운영체제에 의해 관리되며, CPU 시간을 할당 받아 실행됩니다. 풀 (P.. 공감수 0 댓글수 0 2024. 3. 16.
  • PagiNation.js 만들기 React에서 pagination을 구현하려면 몇 가지 단계를 따라야 합니다. 먼저, 데이터를 가져와서 페이지 단위로 나누어야 하며, 그 다음에는 현재 페이지에 해당하는 데이터만 렌더링하도록 처리해야 합니다. 아래는 간단한 예제 코드입니다. 데이터 가져오기 및 페이지 단위로 나누기: // App.js import React, { useState, useEffect } from 'react'; import Card from './Card'; const App = () => { const [data, setData] = useState([]); // 전체 데이터 const [currentPage, setCurrentPage] = useState(1); const [itemsPer.. 공감수 0 댓글수 0 2024. 3. 3.
  • python - cv2 라이브러리 사용하여 segmentation mask visualization 위 그림처럼 segmentation mask가 있을 경우 visualization 하는 방법에 대해 공유해보고자 한다. 이렇게 visualization 할때 matplotlib, cv2 등등 있지만, 본 포스팅에서는 cv2를 이용하여 만들고자 한다. mask가 boolean 형태로 이미지 가로,세로 크기 형태로 있을 경우 이미지에 다음과 같이 cv2.addWeighted 함수를 사용하면 쉽게 투명도를 반영하여 그릴 수 있다. cv2.addWeighted 함수는 다른 블로그에도 자세히 설명이 있으니 본 포스팅에서는 그냥 이용만 한다 def save_mask(origin_img, mask, save_name,color=(0,0,255)): # origin_img.shape => (h,w,c) # mask.s.. 공감수 0 댓글수 0 2024. 2. 18.
  • S3 -> Flask -> React (not using Presigned URL) 이미지가 S3에 있는 경우, Flask에서는 해당 이미지를 S3에서 읽어와 React 앱으로 전송할 수 있습니다. Flask에서는 smart_open 라이브러리를 사용하여 S3에서 데이터를 읽어오고, React에서는 이미지를 표시할 수 있습니다. 여기에 간단한 예제 코드를 제공하겠습니다. Flask 애플리케이션에서 S3에서 이미지를 읽어오는 엔드포인트를 만듭니다. from flask import Flask, send_file from smart_open import open app = Flask(__name__) s3_bucket_name = 'YOUR_S3_BUCKET_NAME' s3_key = 'path/to/your/image.jpg' @app.route('/ge.. 공감수 0 댓글수 0 2024. 2. 9.
  • FLASK - S3 연동 Flask에서는 boto3를 사용하여 AWS S3에 액세스할 수 있습니다. 다음은 Flask에서 POST 형태로 전송된 버킷 이름과 키를 이용하여 S3에서 파일 내용을 읽어오는 간단한 예제입니다. from flask import Flask, request, jsonify import boto3 from botocore.exceptions import NoCredentialsError app = Flask(__name__) # AWS 자격 증명 설정 (안전한 방식으로 관리해야 합니다.) aws_access_key = 'YOUR_AWS_ACCESS_KEY' aws_secret_key = 'YOUR_AWS_SECRET_KEY' s3_bucket_name = 'YOUR_S3_.. 공감수 0 댓글수 1 2024. 2. 8.
  • AULA F87 독거미 키보드 ( 맥북 command 키 안됨, 맥북 용으로 바꾸기) 이 키보드가 굉장히 인기가 많지만, 생각보다 관련 정보가 적다. 나는 그래서 이번 포스팅에서 나같은 사람이 있을 수도 있을거란 생각에 일단 나는 상황 상 MacOS, 윈도우 환경에서 개발을 번갈아 가면서 해야하는 상황이다. 근데, 이 키보드를 내 맥북에 연결했을 때 command 키가 안먹어 매우 당황했다. 그럼 어떻게 키보드를 MacOS 환경으로 바꾸냐 키 조합 OS Fn + Q Android Fn + w Windows Fn + e MAC Fn + R IOS 공감수 1 댓글수 1 2024. 2. 1.
  • python 원형 그래프 / 제일 많은 Ratio 강조 import seaborn as sns import matplotlib.pyplot as plt # 샘플 데이터 생성 data = [50, 40, 20, 10] # 가장 많은 비율을 가진 항목을 강조하기 위해 explode 설정 explode = (0.1, 0, 0, 0) # 첫 번째 항목을 10% 떼어냄 # 색상 지정 colors = ['#FFD700', '#D3D3D3', '#C0C0C0', '#A9A9A9'] # 그래프 스타일 설정 sns.set(style="whitegrid") # Seaborn을 사용하여 원 그래프 그리기 plt.figure(figsize=(6, 6)) patches, texts, autotexts = plt.pie(data, labels=["Category A", "Catego.. 공감수 0 댓글수 1 2024. 1. 24.
  • 원그래프 그리기 / 가장 많은 부분 강조 import seaborn as sns import matplotlib.pyplot as plt # 샘플 데이터 생성 data1 = [40, 30, 20, 10] data2 = [30, 20, 25, 25] data3 = [55, 25, 35, 25] # 가장 많은 비율을 가진 항목을 강조하기 위해 explode 설정 explode = (0.1, 0, 0, 0) # 첫 번째 항목을 10% 떼어냄 # 색상 지정 colors = ['#FFD700', '#D3D3D3', '#C0C0C0', '#A9A9A9'] # 그래프 스타일 설정 sns.set(style="whitegrid") # 여러 개의 subplot 생성 fig, axes = plt.subplots(1, 3, figsize=(18, 6)) # 첫 번째.. 공감수 0 댓글수 0 2024. 1. 24.
  • Flask & React 연결 (w/ s3) 프론트엔드 (React) React 앱 생성: npx create-react-app s3-image-app cd s3-image-app 필요한 라이브러리 설치: npm install axios 물론, 디자인을 별도의 CSS 파일로 분리하는 방법도 있습니다. 아래는 styled-components 대신에 외부 CSS 파일을 사용하는 방법입니다. 프론트엔드 (React) - CSS 파일 추가 src/components/ImageGrid.js 컴포넌트 수정: // src/components/ImageGrid.js import React, { useState, useEffect } from 'react'; import axios from 'axios'; import './ImageGrid.css'; const .. 공감수 0 댓글수 0 2024. 1. 23.
  • SQLite python - table 속성 추가 SQLite에서 특정 행에 속성을 추가하는 것은 일반적으로 지원되지 않습니다. SQLite는 스키마가 고정된 관계형 데이터베이스이기 때문에 테이블을 생성할 때 컬럼을 정의하고, 이 컬럼들에 대한 값을 추가하는 방식을 사용합니다. 그러나 특정 행에 동적으로 속성을 추가하는 것이 필요하다면, 해당 속성을 나타내는 컬럼을 테이블에 추가하고 값을 설정하는 방법이 있습니다. 새로운 속성이 필요할 때마다 ALTER TABLE 문을 사용하여 테이블에 새로운 컬럼을 추가할 수 있습니다. 예를 들어, 다음은 특정 테이블에 새로운 속성을 추가하는 방법입니다: import sqlite3 # SQLite 연결 및 커서 생성 connection = sqlite3.connect('your_database.db') .. 공감수 0 댓글수 0 2024. 1. 19.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.