분류 전체보기 129

ERROR: OOM when allocating tensor with shape

1. 배치사이즈가 큰가? - data imbalance 로더로 바꿔주는 코드를 짜서 [837,22,456,456,3] 중에 필자의 경우 22가 배치사이즈이다. 10으로 수정했음에도 불구하고 숫자만 바뀌고 같은 에러가 뜸. 다른 방법을 찾아봐야겠다. 2. 할당된 GPU에서 다른 문제는 없는가 ? 여기서 필자는 1번 GPU를 설정하여 docker container로 작업을 진행중이다. 여기서 저 문제는 GPU메모리가 어디엔가 다른 곳에 할당되고 있는 것이다. 그래서 도커를 빠져나와서 nvidia-smi 로 확인해보면 1번 필자가 할당된 메모리에서 3줄이 있는데, 그 중 python으로 보이는 680396 PID번호를 죽여주면 된다. sudo kill 680396 watch -n 1 nvidia-smi 다시 ..

Deep learning/Error 2021.07.27

Model Performance Measure

Accuracyprecisionrecallf1 score Confusion Matrix를 통해서 만든 모델을 평가할 수 있음. Precision(정확도)모델이 실제로 True 라고 한 것 중에 실제 정답이 True 인 것 (모델의 관점)TP / (TP+FP) 2. Recall(재현율)실제로 정답이 True 인것 중에 모델이 True 라고 한 것 (데이터의 관점)TP/(TP+FN) 3. F1 ScorePrecision 과 Recall 의 조화평균2*(Precision*Recall)/Precision+Recall실제로 양성 positive 케이스들에서 진짜 true양성 positive 로 예측에 성공한 확률이다. 즉 예측했어야 하는 케이스들에서 놓치지 않고 예측해서 진짜를 잡아낸 경우라고 보면 된다. Upl..

Deep learning 2021.07.23

Imbalanced data

https://mjdeeplearning.tistory.com/77 기본 데이터셋에서 실험할 데이터크기에 따라 Imbalance 한 데이터셋을 만들어야한다. 데이터가 중복되지 않도록 만드는 것이 중요하다. 데이터의 크기가 많으면 그렇게 중요하지 않을수 있지만 소수의 데이터에서 실험하고자하는 데이터에서 각 클래스별로 데이터수가 다르고 이러한 데이터셋이 딥러닝 학습에 영향을 주는지 확인을 해야하기 때문에 중요한 사항이 된다. data크기만큼 정확한 학습을 하기 위해서는 배치 단위 학습시에 배치의 크기로 데이터의 크기를 나눴을때 나머지가 0이되도록 해서 데이터 전체가 학습에 사용되도록 해야한다. ex ) len(imbalance_data) / batchsize ==0 / 나누기 % 나머지 배치사이즈와 트레이닝..

Deep learning 2021.07.23

Transfer Learning

Transfer Learning은 이미지넷(100만장이 넘는 이미지를 담고 있는 데이터셋으로 각 이미지에 레이블이 붙어 있음)이 제공하는 거대한 데이터셋으로 학습한 가중치의 일부를 능력이 유사하거나 새로운 분야의 신경망에 복사한 후, 그 상태로 재학습을 수행하는 것을 의미한다. 전이 학습은 학습 데이터가 부족한 프로젝트를 진행하는 경우 매우 큰 도움이 된다. transfer learning 설명 https://dataplay.tistory.com/30 transfer learning 소스 코드 https://colab.research.google.com/drive/1UKg_Okb1zXdSzInghU6vXQMLnFQTBO5e#scrollTo=KXvkTWMu4Uih tensorflow 공식 튜토리얼 http..

Deep learning 2021.07.23

Error : Too many values to unpack

: 설정한 변수의 개수와 리턴해주는 변수의 개수가 차이가 날때 발생한다. 보통 sess.run , model.fit 이후 값을 리턴 받을때에 자주 발생한다. 예를 들면, sess.run([a,b,c])와 같은 값을 실행시켰을 때는 리턴 받는 개수를 3개로 맞추어 줘야한다 내 에러의 경우에는 값이 loss, accuracy, f1_score 까지 model.fit 에서 출력하도록 만들었기 때문에 loss, acc 두 개의 매개변수만 받았기 때문에 총 3개의 매개변수를 지정해서 값을 출력하여 주면 에러가 없어질 것이다 에러가 사라졌다 !

Deep learning/Error 2021.07.06

Error : logits and labels must have the same shape

ValueError: logits and labels must have the same shape (() vs (39, )) 이 에러,,, 너무 많이 봐서 진절머리가 난다 입사하고 초반에는 이해도가 떨어져서 한참 헤맸었는데 다시 나타난 에러,, one-hot encoding으로 금방 해결할 수 있었다. 이 글을 읽는 다른 분들은 나처럼 삽질을 하지 않았으면 하는 마음에 정리해본다. 구글링을 아무리해도 loss function을 바꿔라 ! 라는 말밖에 없는데,,, 그게 문제가 아니라 로스를 계산할 수 있는 shape로 맞춰주지 않았기때문에 오류가 뜬거였다... 계산을 못하니까 ! from tensorflow.keras.utils import to_categorical train_labels = [0,1,2..

Deep learning/Error 2021.07.01

Imbalanced data

https://mjdeeplearning.tistory.com/77 기본 데이터셋에서 실험할 데이터크기에 따라 Imbalance 한 데이터셋을 만들어야한다. 데이터가 중복되지 않도록 만드는 것이 중요하다. 데이터의 크기가 많으면 그렇게 중요하지 않을수 있지만 소수의 데이터에서 실험하고자하는 데이터에서 각 클래스별로 데이터수가 다르고 이러한 데이터셋이 딥러닝 학습에 영향을 주는지 확인을 해야하기 때문에 중요한 사항이 된다. data크기만큼 정확한 학습을 하기 위해서는 배치 단위 학습시에 배치의 크기로 데이터의 크기를 나눴을때 나머지가 0이되도록 해서 데이터 전체가 학습에 사용되도록 해야한다. ex ) len(imbalance_data) / batchsize ==0 / 나누기 % 나머지 배치사이즈와 트레이닝..

카테고리 없음 2021.07.01