본문 바로가기

분류 전체보기206

[pytorch, 딥러닝] pin_memory 란 무엇인가? Pin memory란 무엇인가? 우리가 모델을 제작을 함에 있어서 GPU를 사용하려면 GPU에 데이터를 로드를 해줘야 하는데, 이때 빠르게 데이터를 옮기기 위해 사용하는 것이 pin memory입니다(대부분의 데이터는 cpu + RAM에서 작동이 되기 때문에 이를 GPU에 세팅을 해줘야합니다.) 좀 더 자세히 이야기하자면(제가 이해하는데로 말하겠습니다.) 우리가 일반적으로 분석할때에는 CPU + RAM을 이용합니다. 변수를 DRAM에 할당시켜서 분석이 이루어집니다. 이때 GPU의 경우 DRAM에 할당된 데이터를 사용하지 못합니다. 그렇기 때문에 GPU 전용 메모리 쪽에 옮기기 위해서는 pinned memory를 사용하게 됩니다. 즉 DRAM (pageable Memory)에서 pinned memory로 .. 2022. 8. 10.
[딥러닝 연습문제] 딥러닝 연습용 데이터 공유 딥러닝을 연습하기 위해서는 다양한 경험이 필수인듯합니다. 제가 공부하면서 찾은 사이트들 공유드립니다. 추가로 업데이트 진행할 예정입니다. 1. TCGA 데이터가 있는 GDC 사이트이고, 병리이미지를 다운받을수 있습니다. 단점은 level이 3~4개정도 밖에 없습니다. 그래도 몇 안되는 WSI 데이터를 다운 받을 수 있는 곳 입니다. https://portal.gdc.cancer.gov/ GDC We detected you are using Internet Explorer. This site is best viewed with Chrome, Edge, or Firefox. portal.gdc.cancer.gov 2. colon관련 이미지를 찾다가 찾은 데이터 베이스입니다. segmentation 데이터도 .. 2022. 8. 8.
[pytorch, 이미지분석] CustomDataset 제작시 주의해야할 점. CustomDataset을 제작하는데 있어서 익숙한 포멧은 다음과 같습니다. import os import pandas as pd from torchvision.io import read_image class CustomImageDataset(Dataset): def __init__(self, annotations_file, img_dir, transform=None, target_transform=None): self.img_labels = pd.read_csv(annotations_file) self.img_dir = img_dir self.transform = transform self.target_transform = target_transform def __len__(self): return l.. 2022. 8. 5.
[pytorch, 이미지분석] 이미지 불러올 때, io.imread, plt.imread 차이 최근 이미지 분석을 공부하면서 논문에서 공개 해놓은 모델을 사용해보려고 했습니다. github에 공개해놓은 모델 pipeline은 실제 사용하기에 엉망이었기 때문에(스스로 만든 function을 공개를 못해놓으니.. 실사용이 불가하더라구요) 공개 해놓은 모델만 이용이 가능했었습니다. 그래서 내부 코드 분석후에 모델의 구조를 대략적으로 만들어서 돌아갈 수 있게끔 만들어냈고, TCGA 데이터를 patch들로 나누고 (해당 논문 github에 공개해놓은걸 조금 돌아갈수있게끔 개조했습니다.) 모델을 돌려보니 이게 왠걸 결과가 개똥으로 나오더군요.. (논문까지 나왔으면서.. 왜.. ) 이렇게 개똥같이 github가 정리되고 결과도 실제로 잘 안 나오는 논문이 가끔 있다는 것으로 알고 있어서 넘어갔습니다. 그리고 .. 2022. 8. 4.
[pytorch, 딥러닝] 모델 저장하는 방법 최근 논문을 보면서 github에 공개된 코드를 해석하는 중에 공개된 모델을 사용해보고자 하였습니다. 처음에는 제가 배운 모델 로드 방법이 먹히질 않아서(kaggle에서 얻게된 모델 로드방법...) 정말 오랫동안 알아 보는 도중에 알아내게 되었습니다. 그걸 포스팅 해보고자 합니다. 머리카락 한움쿰정도 뽑아진것 같네요. 제가 kaggle에서 배운 모델 저장 방법은 checkpoint를 저장하는 방법이고 모델을 제작할때 사용된 정보들을 이용하여 dictionary를 제작 후에 저장하는 방법입니다. checkpoint = { 'epoch': epoch + 1, 'loss': epoch_val_loss, 'state_dict': model.state_dict(), 'optimizer': optimizer.sta.. 2022. 7. 28.
[pytorch, 딥러닝] pytorch로 딥러닝 할 때 중요한 부분 (Dataset) pytorch를 배우면서 가장 두려웠던 부분이  Dataset을 어떻게 넣어야 할까  였습니다. 그래서 이 부분을 설명하고자 포스팅합니다(솔직히 pytorch 공홈에 보면 다 나와있더군요). 파이토치 공홈에 보면 다음과 같이 나와있습니다. https://pytorch.org/tutorials/beginner/basics/data_tutorial.html Datasets & DataLoaders — PyTorch Tutorials 1.12.0+cu102 documentationNote Click here to download the full example code Learn the Basics || Quickstart || Tensors || Datasets & DataLoaders || Transform.. 2022. 7. 27.