AI
-
[모두팝] 생성모델부터 Diffusion 1회 내용 정리
https://www.youtube.com/watch?v=vZdEGcLU_8U&t=122s 오늘 강의 하나로 GANs은 모두 마스터 불가능 합니다 이런 연구들이 있었구나. 저런 문제를 해결했구나 이런 자세로 들으면 된다 💡 Unconditional GAN GAN이란 이미지를 생성하는 모델 training data의 distribution을 만들어내려고 함 - real 샘플을 사용할 경우, 판별하는 Discriminator을 input으로 넣으면 , output(회색박스) 안의 logit값들이 모두 1이 되도록 loss를 지정 (L2, L1, 사용 가능 / cross entropy를 사용하는 이유는 틀린 샘플에 대해서 패널티를 강하게 걸음) - fake 샘플(genearator가 가우시안 노이즈로부터 샘플..
2023.10.05 14:32 -
SoftNNloss ( Soft Nearest Neighbor loss )
instance들 간의 유사도를 기반으로 loss를 측정하는 softNN loss에 대해서 알아보자 출처 : https://arxiv.org/abs/1902.01889 Analyzing and Improving Representations with the Soft Nearest Neighbor Loss We explore and expand the $\textit{Soft Nearest Neighbor Loss}$ to measure the $\textit{entanglement}$ of class manifolds in representation space: i.e., how close pairs of points from the same class are relative to pairs of poin..
2023.04.01 14:06 -
Overfitting(과적합), Underfitting(과소적합) 원인 및 해결 방법
Underfitting Overfitting 우리가 머신러닝 모델을 얘기 할 때 기본으로 항상 나오는 얘기가 바로 모델의 overfitting 및 underfitting이다. 우리는 모델을 학습할 때 새로운 인풋 데이터에 대해서 예측을 잘 하는, 즉 일반화가 잘 된 모델이 생성되기를 원한다. 모델이 일반화가 잘 되려면 모델이 다양한 데이터에 노출이 되어야 하고 모델 자체가 잘 짜여진 알고리즘이어야 한다. 먼저 용어들에 대해서 살펴보자 Bias: 모델의 예측값과 실제 값 차이를 측정 한 값. 모델이 지나치게 단순화되면 예측 값이 실제 값과 멀어져서 더 큰 bias가 발생한다. Variance : 다양한 데이터셋의 예측값들이 얼마나 일관성 있는지, 또는 없는지를 측정한 값. 모델의 성능이 서로 다른 데이터셋..
2023.02.16 00:41
Programming
-
[CUDA] PID 모를 때 GPU 프로세스 Kill 하기(sudo권한 필요 X)
CUDA OOM 에러로 프로세스가 종료되었을 때 할당되어있던 메모리를 릴리즈하지 못하고 그대로 가지고 있는 상황에서 GPU를 강제로 죽이는 방법을 알아보자 통상적으로는 nvidia-smi 명령을 통해서 PID를 확인하고 kill -9 {PID번호}를 하면 간단하게 프로세스를 죽일 수 있다. 하지만 나의 경우 PID가 전혀 나오지 않는 상황이었다. 그리고 sudo권한을 사용 할 수 없는 서버여서 sudo fuser -k /dev/nvidia3 명령어도 사용 할 수 없었다. 내가 선택한 방법은 ps aux명령어를 통해 현재 모든 프로세스를 조회하는 것이었다. ps aux 해당 명령어를 입력하면 모든 프로세스가 주르륵 나온다. 아래와 같은 형식으로 나오는데 이때 PID번호와 내가 삭제하고 싶은 프로세스 명을 ..
2023.03.02 22:22 -
[OpenCV] 이미지 ROI 마스크 적용 방법들, 컬러 마스크 중복 적용 하기 (x연산, bitwise, copyTo, addWeighted)
이미지를 플롯하다보면 다양한 방법으로 이미지 마스킹을 하고 싶을 때가 있다. 특히 segmentation과 같은 마스크를 같이 이용하는 네트워크를 이용하다보면 실제 gt mask와 pred mask를 효율적으로 플롯할 방법을 고민하게 된다. 매번 마스킹 방법을 검색하는 것이 너무 번거로워서 내가 자주 사용하는 마스킹 방법들을 총 망라해 보겠다. 💡 bitwise_and 💡 곱하기 연산 (x) 💡 copyTo 💡 addWeighted 💡 컬러 마스크 / 중복 마스크 적용 사용 마스크 이미지 사용한 이미지는 skimage에서 가져온 PIL이미지이므로 opencv에서 사용 할 수 있도록 numpy 배열로 바꾸고 이진화를 먼저 수행했다. horse_mask = cv2.cvtColor(np.array(images..
2023.02.18 17:01 -
[백준/C++] 17142 연구소3 (BFS)
💡 문제 설명 비활성 바이러스의 위치가 2로 표시되는데 연구실 바이러스 M개를 활성시킨다는 것은 2로 표시된 위치 중에서 M 개를 선택해서 바이러스를 뿌리겠다는 것이다. 그리고 전체 빈 공간을 바이러스(비활성,활성 포함)로 모두 채우는데 얼마나 걸리는 지를 계산 하는 문제이다. 전형적인 bfs이지만 조합이 한 번 들어갔다는 점에 있어서 아주 살짝 까다로운 느낌을 내려고 한 문제이다. 💡 문제 풀이 먼저 바이러스 정보들을 struct info에 저장하고 이 struct를 벡터로 구성하여 virus정보를 저장한다. 조합을 통해서 바이러스의 활성 상태를 on/off 해 주면서 조합을 구한다. 조합은 중복되지 않는 숫자들을 고르는 것이기 때문에 for (int i = inx ; i < virus.size() ;..
2023.02.18 15:23