본문 바로가기

딥러닝\머신러닝32

[pytorch vs. Tensorflow] 딥러닝 프레임워크? 어떤 차이가 있을까? 1. Intro python으로 Deep learning 연구를 할때, 대부분의 사람들이 pytorch, Tensorflow를 이용합니다. 저는 pytorch를 이용합니다. 그런데 이 둘의 차이점에 대해서 궁금해 보신적이 없나요? 저도 항상 궁금하던 찰나에 외국 블로그를 참고하여 정리해 보았습니다. 2. pytorch vs. Tensorflow pytorch는 Facebook 그룹이 제작을 하였고, 2017년 github를 통해 open-source로 공개되었습니다. Tensorflow는 구글에서 만들어졌고, pytorch보다 더 일찍인 2015년에 open-source로 공개가 되었습니다. 그리고 구글에서 제작하다보니 안드로이드를 포함한 다양한 장치와의 호환성으로 인해 많은 스타트업이나, 조직에서 사용.. 2024. 4. 4.
[pytorch] transforms.Compose 사용법 1. Intro 요즘 이미지 분석에 대해서 흥미가 생겨서 열심히 공부하고 있습니다(사실 관련된 일을 맡게 되었습니다. 먹고살려고 빡시게 공부중입니다.). tensorflow를 공부하려다가 pytorch가 사용하기 편하다는 이야기를 듣고 바로 pytorch로 마음을 돌렸습니다. 바로 본론으로 들어가도록 하겠습니다. 딥러닝에서 이미지관련 모델을 제작할 때, 힘든 부분 중 하나가 바로 데이터의 양이지 않을까 싶습니다. 제한된 이미지에서 좋은 모델을 제작하기 위해서 사람들이 생각을 해낸 것은 Data augmentation입니다. Data augmentation은 생각보다 쉽습니다. 각도나, 명암을 변경하던지, 부분을 자르던지 다양한 방법으로 통해 augmentation 을 할 수 있습니다. Data augme.. 2024. 1. 15.
[Torch] RuntimeError DataLoader worker pids 15332 exited unexpectedly 에러가 나는 이유? 1. Introduction 딥러닝을 하다보면 다음과같은 에러가 발생할 때가 있다. RuntimeError : DataLoader worker pids * exited unexpectedly 구글에 찾아보면 dataloader에 num_workers = 0 으로 수정하면 된다는 포스팅이 보인다. 혹은 에러나는 부분의 구문을 삭제하라는등.. 이런 해결책이 보인다. dataloader에서 사용하고 있는 num_workers는 병렬로 처리해서 분석해주는 것이기 때문에 데이터가 클 때 빠르게 분석하고 싶다면 필수적으로 사용해야한다. 대신 무턱대로 숫자를 올리면 서버가 너무 느려지니 고려해야한다. 2. 이유가 뭔데? 에러의 이유는 다양하다. - 이것저것 많이 돌려서 메모리가 충분하지 않거나 - 데이터의 문제가 있.. 2023. 9. 26.
[Pytorch] torch.hub.load를 사용 못하는 상황에서 로컬로 진행하기 일하는 곳이 병원이다 보니 시발 폐쇄망에서 서버를 돌리고 있습니다. 이게 단점이 외부에 접속해서 뭔가 다운이 안되는 단점이 있습니다. 우회로 로컬컴에서 다운받고 서버로 옮기는 것은 가능합니다. 이번에 SwinTransformer모델을 돌리게 되었는데, 제가 받은 코드에는 github에서 모델을 다운받아야 하는 코드였습니다. -> torch.hub.load 말입죠. 당연히 폐쇄망이기 때문에 다운이 안되어서 이런저런 방안을 찾다가 해결책을 찾아 포스팅합니다. 코드에서는 다음과 같이 사용하더군요. torch.hub.load('github의 모델','모델명',pretrained) 일단 SwinTransformer에서 모델을 사용하기 위해서 로컬컴퓨터에서 해당 github를 방문해줍니다. https://githu.. 2023. 4. 28.
[cv2] 색감을 보는 방법 (RGB, BGR, HSV, LAB) 이미지 분석을 하다보면 흔하게 볼 수 있는 색감 관련 개념은 GRAY 혹은 RGB를 많이 사용해보셨을겁니다. 저도 이미지분석을 공부중이라 분석에 적용할 때에는 잘 알고있는, GRAY 혹은 RGB를 이용한 분석을 주로 하였습니다. 그런데 GRAY, RGB 만 이용해서 분석을 하면서 표현적 한계에 부딪치는 경우가 있었습니다. 예를들어 cv2.inRange를 이용하여 색감들을 고를 경우 같은 색감일지라도 RGB로는 표현이 불가능 할 때가 있습니다. 아래의 코드를 이용하여 보라색 계열을 일부가져 왔습니다. image_color = np.array([ [255, 72, 255], [204, 0, 204], [153, 0, 153], [102, 0, 102], [51, 0, 51], [51, 0, 102], [10.. 2023. 1. 19.
[딥러닝] 모델 결과가 매번 다르게 나오는 경우 최근 딥러닝 모델을 개발하고 모델확인을 하면서 문제를 직면한 부분중 하나가 바로 모델 결과가 매번 다르게 나오는 경우입니다. 모델을 열심히 시간 돌려가면서 제작을 하더라도 확인할 때, 아래와 같이 결과가 안나오거나, 이상하게 예측이 되는 때가 있었습니다. 모델 내부나 pytorch의 random 문제가 이일을 발생시키는 줄 알고 다양한 방법을 시도 해보았으나, 해결이 되지 않았습니다. torch.manual_seed(1234) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(1234) 그러다 겨우 찾아낸 문제가 바로 데이터셋 제작할 때, train에 썻던 이미지 변환방법이 문제였습니.. 2022. 12. 15.