Dicom 데이터 교육 실패 pytorch

0

질문

나는 문제에 대한 훈련 Pytorch 모델입니다. 저는 훈련을 위해 노력하고 내 Pytorch 모델을 사용하여 dicom 데이터 및 nifti GT 그러나 크기의 무게 파일의 터무니없이 작기 때문에 모델을 훈련 정상적으로 수행되지 않.

내가 사용하는 네트워크 모델 Unet++

나는 생각한 문제가 있으로 데이터 loader. 하지만 그럴 수 없에는 책상,무료 신문,전화 등이 그것...

나는 그것을 감사하겠는 경우에 당신은 나를 도울 수 없습니다.

Raw 이미지 파일의 형식은 dicom 및 GT 이미지 형식은 nifti

내 dataloder

def __getitem__(self, index):
    image_path = self.image_paths[index]
    image_GT_path = image_path[:8]+'_'+image_path[8:12]+'.nii'
    GT_path = self.GT_paths + image_GT_path

    ds = dcmread(self.root+image_path)
    image = ds.pixel_array.astype(np.float32)
    image = torch.from_numpy(image.transpose(0,1)/255)
    image = image.unsqueeze(0)

    GT = nib.load(GT_path)
    GT = GT.get_fdata(dtype=np.float32)
    print(GT.shape)
    GT = torch.from_numpy(GT.transpose(0,1))
    GT = GT.unsqueeze(0)

    return image, GT, image_path

과 코드를 기차

for epoch in range(self.num_epochs):

            self.unet.train(True)
            epoch_loss = 0
            for i, (images, GT,empty) in enumerate(tqdm(self.train_loader)):
                # GT : Ground Truth

                images = images.to(self.device)
                GT = GT.to(self.device)
                
                # SR : Segmentation Result
                SR = self.unet(images)
                SR_probs = torch.sigmoid(SR)

                SR_flat = SR_probs.view(SR_probs.size(0),-1)

                GT_flat = GT.view(GT.size(0),-1)
                loss =self.criterion(SR_flat,GT_flat)

                # self.criterion=DiceLoss() #BCE not use
                # loss = self.criterion(GT,SR_probs)
                epoch_loss += loss.item()
                train_losses.append(loss.item())
                # Backprop + optimize
                self.reset_grad()
                loss.backward()
                self.optimizer.step()
dataloader medical-imaging nifti pytorch
2021-11-24 06:40:12
1

최고의 응답

1

에 따라 어떤 양상 이미지는,이 가능성이 있지 않기 때문에 변환의 이미지로 데이터를 올바른 관련된 임상적으로,기계/공급 업체에 독립적이,단위 이전에 ML 교육 0-1normalization.

일반적으로그램 파일을 실제 원시 데이터 값 는 그들이 필요한 처리...

예를 들어,당신은 노력하고 훈련에 CT 데이터에 다음 단위를 해야 하려고 훈련하는 모델에는 Houndsfield s(후)숫자. (Google 에는,CT 및 dicom 을 얻을 배경).

그러나 원 CT dicom 데이터 수 little or big endian 가능성,필요 기울기/차단 교정 및 또한 수요를 찾아 테이블에 적용되로 변환 후진타오 숫자입니다. ...ie 을 얻을 수 있는 복잡하고 지저분하다. (다시 조금의 인터넷 검색을...에 적어도 당신이 있어야의 비트는 배경에는 이를 위해 노력하는 경우도 의료 이미지 형식).

나는 확실하지 않을 처리하는 방법 nifti 데이터를,그러나 다행히도에 대한 dicom 를 사용하여 파일을 pydicom 이러한 변환에 대해 수행 당신은 라이브러리에 의해 사용(일반적으로)전화 pydicom.pixel_data_handlers.util.apply_modality_lut:


dcm = pydicom.dcmread(my_ct_dicom_file)
data_in_HU = pydicom.pixel_data_handlers.util.apply_voi_lut(
    dcm.pixel_array,
    dcm
)
2021-11-26 19:55:55

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................