본문 바로가기
728x90
반응형

딥러닝&머신러닝32

[GPU 환경 세팅]GPU와 파이토치 with Window [교훈] gpu 툴킷과 파이토치 버전을 필수적으로 확인하라~!! 기본적으로 리눅스와 친한 친구들이기 때문에 window와 호환이 잘되는 친구들을 적절히 찾아서 사용해야 한다. gpu툴킷과 호환되는 파이토치의 버전이 존재한다. 텐서2.0버전 이상은 기본으로 gpu를 활용한다. gpu의 성능에 따라 배치값을 조절 or yolov5폴더에 있는 util폴더 → datasets.py에서 nw를 고정해줘야함 2021년 11월 16일 참고 사이트: [Windows 10] Pytorch GPU 사용을 위한 CUDA 환경 만들기 Pytorch 사용을 위한 Cuda 환경구축에 대한 글입니다. Anaconda3를 이미 설치한 상태에서 설치를 진행했습니다. [GPU 환경 세팅] 1. 그래픽 드라이버 설치 우선 자신이 가지고 .. 2023. 4. 26.
[논문 읽기]EfficientNet, Rethinking Model Scaling for Convolutional Neural Networks 모델의 정확도를 높일 때, 일반적으로 (1) 모델의 깊이, (2) 너비, (3) 입력 이미지의 크기 를 조절합니다. 기존에는 이 세 가지를 수동으로 조절하였기 때문에, 최적의 성능과 효율을 얻지 못했습니다. EfficientNet은 3가지를 효율적으로 조절할 수 있는 compound scaling 방법을 제안합니다. 깊이, 너비, 입력 이미지 크기가 일정한 관계가 있다는 것을 실험적으로 찾아내고, 이 관계를 수식으로 만듭니다. Compound scaling 방법으로 NAS(neural architecture search) 구조를 수정하여 SOTA를 달성합니다. ResNet이나 MobileNet등 CNN 기반 구조에도 효과가 있다고 하네요. Model Scaling 일반적으로 모델을 Scaling하는 방법.. 2023. 4. 5.
CNN의 parameter 개수와 tensor 사이즈 계산하기 CNN의 parameter 개수와 tensor 사이즈 계산하기 이번 글에서는 네트워크의 텐서 사이즈와 파라미터의 갯수를 계산하는 공식에 대해 다루려 한다. 아래의 AlexNet을 이용하여 예시를 든다. Alexnet의 구조 AlexNet의 구조 Input: 2272273 크기의 컬러 이미지. 논문의 224*224 사이즈는 오타임 Conv-1: 11*11 크기의 커널 96개, stride=4, padding=0 MaxPool-1: stride 2, 3*3 max pooling layer Conv-2: 5*5 크기의 커널 256개, stride=1, padding=2 MaxPool-2: stride 2, 3*3 max pooling layer Conv-3: 3*3 크기의 커널 384개, stride=1, p.. 2023. 3. 30.
NFNet 논문 번역(추후에 리뷰) High-Performance Large-Scale Image RecognitionWithout Normalization(2021, Deepmind) 2021년 2월의 Deepmind 에서 발표한 CNN 모델로, ImageNet에서 EfficientNet을 넘는 SOTA 성능을 달성하였다. 이는 기존의 Batch-Normalization 기법을 사용하지 않고 고성능을 달성한 Normalizer-Free Net 에 관한 내용으로, 논문의 내용을 살피고 요약해보자. Abstract ‘배치 정규화(Batch-Normalization)’ 기법은 대부분의 이미지 분류 모델에서의 핵심 요소이지만 배치 크기(batch-size)에 대한 의존성, 예제(examples) 간의 상호작용으로 인해 완전한 성능을 보장하는 기.. 2023. 3. 28.
The Forward-Forward Algorithm: Some Preliminary Investigations 논문 리뷰 Forward-Forward Backpropagation을 완전히 대체하는 알고리즘을 소개한다는 의미보다는 딥러닝의 새로운 연구 방향을 제시함. [Abstract] 논문의 목표: 뉴럴 네트워크의 새로운 학습 방법과 작은 문제(작은 데이터?)에 대해 잘 작동된 입증 결과를 소개 핵심 내용: The Forward-Forward algorithm(Two Forward passes)으로 forward와 backward로 이어지는 첫번째(순방향) 학습과 두번째(역전파(backpropagation))학습을 대체합니다. - 각각 Positive / Negative pass라고 부르며, Positive pass는 Real data에 최적화되는 것(high goodness)을 목표로 하고, Negative pass는 F.. 2023. 3. 9.
논문 읽기와 ML/DL 커리어 경력에 대한 조언 by 앤드류 응 이번 포스팅은 medium 사이트에 있는 포스팅을 번역한 글입니다! 우리 모두의 ML/DL 선생님이신 앤드류응 교수님께서 스탠포트 CS 230 강의에서 ML/DL 커리어와 논문 읽기에 대한 강의를 하신 것을 정리한 포스팅이 있어서 같이 나누고자 정리했습니다! 애초의 수십분 강의를 요약한 내용이기 때문에 더 세줄요약 할 수는 없으니 이번에는 천천히 정독해주세요~ 그래도 긴 긁이 보기 부담스러우신 분들은 하단 핵심 정리 란으로 가주세요! 오역이 있을 수 있으니 본 링크로 직접 보시면 더욱 정확합니다! 원 강의는 CS 230 강의(https://youtu.be/733m6qBH-jI)이며 내용 정리가 된 영어 포스팅은 다음 링크를 참조하세요! (https://blog.usejournal.com/advice-on.. 2023. 3. 9.
과적합에 대한 대응방법 몇 가지 과적합 증상 모델 개발을 하다보면 수 없이 과적합을 만나게 됩니다. 학습을 완료한 후에 테스트셋으로 돌려보니 현격하게 성능 차이가 발생한다면 이는 과적합이 발생했다는 것으로 볼 수 있습니다. 과적합이 발생하는 원인이 다르기 때문에 해결방안도 각기 다를 것 같습니다. 오늘은 간략하게 소개만하고 세부적은 방법에 대해서 이어서 작성해야할 예정입니다. 대응 방안 과적합 발생 시 크게 두 가지 방법으로 대응을 할 수 있을 것 같습니다. 하나는 모델에 제약을 가하거나 모델에 변화를 주는 방법이고, 다른 하나는 데이터에 기반하여 해결이 가능할 것 같습니다. 데이터에 기반한 대응 방안 데이터 사이즈 늘리기 (데이터 증강) 얼마나 데이터 사이즈를 늘려야할까라는 질문이 뒤따르지만, 당연하게도 데이터가 사이즈가 늘어나면 과.. 2023. 2. 21.
Pytorch Custom CosineAnnealingWarmRestarts 정리 CosineAnnealingWarmRestarts 코드 : https://github.com/pytorch/pytorch/blob/v1.1.0/torch/optim/lr_scheduler.py#L655 CosineAnnealingWarmRestarts에 대하여 다루어 보겠습니다. (개인적으로 이 스케쥴러는 아쉽게 구현이 되어있습니다. 왜냐하면 warmup start가 구현되어 있지 않고 learning rate 최댓값이 감소하는 방법이 구현되어 있지 않기 때문입니다. 따라서 아래 따로 구현한 Custom CosineAnnealingWarmRestarts을 사용하길 바랍니다.) 사용할 파라미터는 optimizer 외에 T_0, T_mult 그리고 eta_min이 있습니다. - T_0는 최초 주기값 입니다... 2023. 2. 15.
DataLoader num_workers에 대한 고찰 Pytorch에서 학습 데이터를 읽어오는 용도로 사용되는 DataLoader는 torch 라이브러리를 import만 하면 쉽게 사용할 수 있어서 흔히 공식처럼 잘 쓰고 있습니다. 다음과 같이 같이 사용할 수 있겠네요. from torch.utils.data import DataLoader 상세한 설명이 기술되어 있는 공식 문서는 아래 링크에서 살펴볼 수 있습니다. https://pytorch.org/docs/stable/data.html#torch.utils.data.DataLoader torch.utils.data — PyTorch 1.13 documentation torch.utils.data At the heart of PyTorch data loading utility is the torch.ut.. 2023. 2. 3.
논문 효과적으로 읽는 법 딥러닝을 위한 논문 가이드: https://kmhana.tistory.com/3 논문 읽기와 ML/DL 커리어 경력에 대한 조언 by 앤드류 응: https://media-ai.tistory.com/7 최신 논문 보는 곳: https://paperswithcode.com/ 논문을 효과적으로 읽는법 논문을 읽을때 총 세번 다른 방법으로 읽는게 효과적임 1. 첫번째로 읽을때: 대략적인 아이디어 파악 2. 두번째로 읽을때: 디테일을 제외한 내용 파악 3. 세번째로 읽을때: 논문을 깊이 이해 First pass: - 5-10 분 이내 - 제목, abstract, intro 를 읽음 - section 과 subsection 제목만 읽고 나머지는 과감히 스킵 - 결론을 읽음 - reference를 대충 읽으면서 이.. 2023. 2. 3.
728x90
반응형