반응형

전체 글 41

[pytorch error] ValueError: Expected more than 1 value per channel when training, got input size torch.Size ...

안녕하세요 전자둥이 입니다. 학습을 진행 했을 때 분명 문제가 없던 모델이고 데이터셋만 바꿨을 뿐인데 해당 에러가 발생하는 것을 목격했습니다. ValueError: Expected more than 1 value per channel when training, got input size torch.Size ... 저의 경우 해당 에러가 발생한 이유가 (데이터셋의 개수 / batch_size) 를 했을 때 나머지가 1이 나오게 되면 저런 에러가 발생했습니다. ex) 사용한 데이터 개수가 13개 batch_size를 2 로 진행하게되면 위에서 언급한 에러가 발생하며 해당 에러를 발생 하지 않으려면 batch_size를 5를 주면 문제없이 학습이 진행됩니다. 이 글로 에러를 쉽게 해결하셨으면 좋겠습니다. 감사..

카테고리 없음 2022.08.12

[C언어] 남아 있는 입력 버퍼 비우는 방법

안녕하세요 전자둥이입니다. C언어로 코드를 작성할 때 scanf를 사용하 실 때 주의할 점이 있습니다. 예제를 통해서 살펴보겠습니다. #define _CRT_SECURE_NO_WARNINGS #include int main(){ char a,b; scanf("%c", &a); scanf("%c", &b); printf("%c\n", a); printf("%c\n", b); return 0; } ** 결과 a를 입력하자마자 위 결과처럼 끝나는 모습을 확인 할 수 있습니다. b변수에는 어떠한 값도 입력하지 않았는데 왜 입력을 받지않고 끝났을까요? 우선 b변수에 어떤 값이 들어가있는지 확인해보겠습니다. #define _CRT_SECURE_NO_WARNINGS #include int main(){ char a,..

C-language 2022.07.31

Reducing Network Agnostophobia 논문 리뷰 (Entropic Open-set Loss)

안녕하세요 open-set Loss라는 주제를 가지고 논문 리뷰를 진행하려고 합니다. https://arxiv.org/pdf/1811.04110.pdf (작성중..) ** Code class Entropic_Open_set_Loss(): def __init__(self, class_names): self.class_num = len(class_names) self.Cross_entropy = nn.CrossEntropyLoss() def __call__(self, output, target_batch): output_softmax = F.softmax(output, dim=1) loss = 0 for i, target in enumerate(target_batch): if target == self.cl..

AI 2022.07.31

[C언어] 배열 array

안녕하세요 전자둥이입니다. 이번 시간에는 배열에 대해서 간단히 설명하고자 합니다. * 배열을 사용하는 이유 : 동일한 성격의 데이터를 다수 표현할 수 있습니다. 제일 이해하기 쉬운 건 직접 배열을 선언하고 실제 코드에서 사용을 해보면 좋습니다. 바로 Code 보면서 설명해드리겠습니다. 1. 초기화를 하며 배열을 선언 int arr[8] = {3,6,8,3,4,7,3,4}; 이해하기 쉽도록 위에서 선언한 배열을 그림으로 표현해봤습니다. - 배열은 인덱스 번호가 0번부터 시작됩니다. - 배열 선언할 때 arr[8] 여기서 8은 배열의 총크기를 말합니다. -> 인덱스 번호는 0번부터 시작하기 때문에 총 크기를 8로 선언했을 때 마지막 인덱스 번호는 7이 됩니다. - int 형의 배열을 선언하였기에 해당 배열의..

C-language 2022.07.27

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
반응형