반응형

분류 전체보기 45

XML to TXT annotation file format 변환

안녕하세요. Custom data를 사용하여 YoloV5s 모델을 사용하려다 보니 dataset annotation format이 txt파일 포맷인 걸 알고 난 후 기존에 가지고 있던 데이터셋의 annotation format을 바꾸는 작업을 하려고 합니다. 데이터 로더 부분을 수정하는 방법도 있겠지만 학습코드를 건드리지 않는 선에서 진행을 하고 싶어 이 방법을 택했습니다. * 사용한 학습 코드 https://github.com/ultralytics/yolov5 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ult..

AI 2022.07.26

Gradient Descent?

안녕하세요. Gradient Descent에 대해서 공부하기위해서 조사한 자료를 요약하고자 합니다. Gradient Descent Gradient descent는 한국말로 경사하강법이라고 불립니다. 머신러닝에서 Gradient Descent는 모델의 파라미터값들을 업데이트하기 위해서 사용됩니다. 어떤방식으로 파라미터값들을 업데이트 하는지 설명해드리겠습니다. Introduction 예시를 들어볼게요. 다음과 같이 3차원 그래프 그림이 있다고 가정을 해볼게요. 여기서 우리가 원하는 것은 오른쪽 위에보이는 높은 지형(높은 값을 가진 지형이라고 가정할게요) 에서 가장 낮은 지형(진한 파랑 -> 낮은 값을 가지고 있는 지형)으로 가고자 하는 것으로 하겠습니다. 그리고 그림에서 화살표는 해당 위치에서 음의 기울기방..

AI 2022.07.24

inconsistent use of tabs and spaces in indentation 에러 해결

안녕하세요 파이썬을 실행하다가 다음과 같은 에러를 처음 보시면 엄청 당황하실겁니다. 아무리 둘러봐도 문법적으로 틀린 부분이 없는데도 에러가 발생했다고 실행이 안되기 때문입니다. 파이썬은 탭 또는 스페이스바로 구분을 하는 언어인데요. 여기서 탭과 스페이스바를 혼용해서 사용하게되면 다음과 같은 에러가 발생합니다. 그래서 코딩을 하실 때는 스페이스바와 탭 둘중 하나로 통일시키는 걸 추천드립니다. 감사합니다.

python 2022.01.14

[에러] RuntimeError: Error(s) in loading state_dict for ~ , size mismatch for ~

안녕하세요 pretrained된 모델을 로드하고 학습 및 추론을 할 때 다음과 같은 에러를 보신적이 한두번은 있을겁니다. size mismatch가 아닌 없는 layer또는 있는 layer를 무시할 때는 state_dict = torch.load(cached_file) mdl.load_state_dict(state_dict,strict=False) 위에 코드처럼 load_state_dict()에 strict=False만 기입해주면 해결이 됩니다. 하지만 맨 위에 에러처럼 같은 layer에서의 size mismatch는 strict=False로 해결이 안됩니다... 외국 포럼 사이트에서 해결방법을 찾게되어 소개를 해볼려고 합니다. 우선 코드부터 보드리겠습니다. def on_load_checkpoint(se..

AI 2021.12.07

[git] github 비밀번호 없이 clone, pull, push 하기(ssh key 설정 방법)

안녕하세요 git에서 ssh key를 설정하는 방법을 소개드릴려고 합니다. 환경은 리눅스에서 진행을 했습니다. 1. SSH Key 파일 확인 - 일반적으로 SSH key는 ~/.ssh 경로에 존재합니다. 우선 기존에 생성해놓은 키가 있는지 확인을 해야합니다. $ cd ~/.ssh $ ll 생성해 놓은 키가 있다면 id_rsa, id_rsa.pub 등의 파일이 있을겁니다. (현재 글은 없다고 가정하고 진행하겠습니다.) 2. SSH Key 생성 ssh-keygen이라는 프로그램을 이용하여 생성 가능합니다. ssh-keygen -t rsa -b 4096 -C "Email@example.com" 다음 창이 뜨면 따로 절대경로를 지정하지 않을거면 엔터를 치시면 됩니다. 사용자 키의 암호 설정을 할려면 해당 창에서..

git 2021.11.16

리눅스 tar, tar.gz 압축 및 해제

tar로 압축하기 tar -cvf [파일명.tar] [폴더명] ex) kim이라는 폴더를 kim.tar로 압축한다면 tar -cvf kim.tar kim tar를 압축 풀기 tar -xvf [파일명.tar] ex) kim.tar을 압축을 풀기위해서는 tar -xvf kim.tar tar.gz로 압축하기 tar -zcvf [파일명.tar.gz] ex) kim 이라는 폴더를 kim.tar.gz로 압축하기위해서는 tar -zcvf kim.tar.gz kim tar.gz를 압축 풀기 tar -zxvf [파일명.tar.gz] ex) kim.tar.gz을 압축 풀기 위해서는 tar -zxvf kim.tar.gz tar 명령어의 옵션에 대해서도 간략하게 표로 나타내보겠습니다. 옵션 설명 -f 대상 tar 아카이브 지..

리눅스 2021.11.16

[Pytorch] LENET5 모델 학습 및 추론 코드(마스크 구별 프로그램)

안녕하세요 LENET5모델을 활용하여 Pytorch를 통해 학습시키는 과정을 해볼려고 합니다. 우선 전체 코드 공유해드릴게요~ import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from PIL import Image import os import torchvision.transforms as transforms from torchsummary import summary from torch import optim from datetime import datetime ##path define DATASET_PATH = './dataset/' EPOCHS..

AI 2021.11.11

tensorflow zoo && tensorflow detection api 사용하여 tflite파일 만드는 과정

안녕하세요 tensorflow zoo와 tensorflow detection api를 사용하여 tflite파일을 만드는 과정에 대해서 설명드리고자 합니다. https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2.md -> Object Detection API with TensorFlow 2 하나의 디렉토리를 만듭니다.(~디렉토리에 만든다고 가정할게요, 계속 나올거니까 유의하세요~) mkdir ~/tensorflow 그리고 Object Detection API를 설치하기 위해서는 protobuf-compiler를 설치해야합니다. (tensorflow는 파일 저장 포맷을 프로토콜 버퍼를 사용하고, 컴파일 하기위해..

AI 2021.11.10

RuntimeError: stack expects each tensor to be equal size, but got ~

안녕하세요 pytorch를 사용하여 학습 및 추론을 진행 할 때 RuntimeError: stack expects each tensor to be equal size, but got ~과 같은 에러가 DataLoader에서 발생하는 경우가 종종 있습니다. 해당 에러는 사용하는 데이터셋의 이미지의 사이즈가 서로 달라서입니다. 사이즈가 다르게되면 Array나 Tensor의 각 차원이 동일하지 않기 때문에 batch형태로 묶어줄 수 없기 때문에 발생합니다. 따라서 해결하기 위해서는 torchvision에서 제공하는 transforms.resize()함수를 사용하거나 그 외에 다양한 방법으로 Resize를 진행해주시면 됩니다. import torchvision.transforms as transforms tra..

AI 2021.11.09

RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 0

안녕하세요 Pytorch를 사용하여 학습을 진행하는 과정에서 DataLoader를 진행하는 과정에서 다음과 같은 에러가 발생하는걸 종종 확인 할 수 있습니다. 저의 케이스에서는 학습 시킬 이미지 중에 채널이 3개만 있는 이미지 뿐만 아니라 채널이 4개가 있는 이미지가 포함되어 있을 때 발생합니다. 왜냐하면 저의 경우 normalize를 ((0.5,0.5,0.5),(0.5,0.5,0.5)) 3개의 채널에 대해서만 진행을 하기 때문입니다. 따라서 이 에러를 해결하기 위해서는 Dataset 클래스에서 이미지를 불러올 다음과 같이 수정했습니다. image = Image.open(self.img_list[idx]) -> image = Image.open(self.img_list[idx]).convert('RGB'..

AI 2021.11.09
반응형