거의 알고리즘 일기장

CT사진에서 폐사진만 가져오기!! 본문

딥러닝

CT사진에서 폐사진만 가져오기!!

건우권 2020. 9. 29. 11:24

www.youtube.com/watch?v=z8lK69BQ0VE&t=556s

이 영상과 케라스로 짠 코드를 보고 pytorch로 바꿔 구현해보았다.


epoch : 100

batch size : 32

model :

class Net(nn.Module):
    def __init__(self):
        # 가중치 초기화
        super(Net, self).__init__()

        # sequential을 사용하면 편하게 모델 만들기 가능
        self.layer1 = nn.Sequential(
            nn.Conv2d(1, 32, 3, padding=1),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 64, 3, padding=1),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(2),
            nn.Conv2d(64, 128, 3, padding=1),
            nn.ReLU(inplace=True),
            nn.MaxPool2d(2),
        )

        self.layer2 = nn.Sequential(
            nn.Upsample(scale_factor=2),
            nn.Conv2d(128, 128, 3, padding=1),
            nn.Sigmoid(),
            nn.Upsample(scale_factor=2),
            nn.Conv2d(128, 64, 3, padding=1),
            nn.Sigmoid(),
            nn.Upsample(scale_factor=2),
            nn.Conv2d(64, 1, 3, padding=1),
            nn.Sigmoid()
        )
    #foward 생략

optim, loss function :

optim = torch.optim.SGD(my_net.parameters(), lr=0.001, momentum=0.9)
loss_function = nn.BCELoss()

테스트 결과

 

왼쪽부터 ct사진(input), 정답사진, 모델이 뱉은 output 순이다.


그냥 케라스를 pytorch로 옮기기만 하는데도 데이터를 넣는 부분에서 헷갈려서 시간이 조금 걸렸다.ㅠ

전체 코드는 밑의 깃허브에 올려놨습니다. 허접이라 잘못짠 부분이 있을수도 있습니다. ㅠ

github.com/Kwonkunkun/CT_Lung_Pytorch

 

Kwonkunkun/CT_Lung_Pytorch

get lung image from ct image. Contribute to Kwonkunkun/CT_Lung_Pytorch development by creating an account on GitHub.

github.com


 

반응형

'딥러닝' 카테고리의 다른 글

CNN (합성곱 신경망)  (0) 2020.10.03
ANN (인공신경망)  (0) 2020.10.02
선형회귀분석  (0) 2020.10.02
Comments