반응형

분류 전체보기 176

Pydicom library 이용해 dcm 파일 불러오기

Pydicom package를 이용해 dcm 파일의 이미지와, 헤더 정보를 불러올 수 있다. import pydicom dcm_data = pydicom.read_file(file_path) 이미지 가져오기 - 이미지를 numpy array 형태로 가져온다. img = dcm_data.pixel_array - 추가로, CT image의 경우는 RescaleSlope, RescaleIntercept 정보를 가져와 pixel intensity 값을 조정해주어야 한다. - RescaleSlope는 각 pixel intensity값에 곱해주는 값, RescaleIntercept는 더해주는 값이라고 생각하면 된다. - pydicom의 get(attribute, default_value) method는 해당 att..

[PyTorch Implementation] PyTorch로 구현한 cycleGAN의 loss 부분 설명

cycleGAN 논문에서는 cycleGAN의 Loss function을 다음과 같이 정의하고 있다. (identity loss는 optional) 이 수식은 코드로 볼 때 훨씬 간단해진다. 나는 PyTorch를 이용해 cycleGAN의 loss 부분을 다음과 같이 작성했다. 코드는 저자가 공개한 official code와 simplified version(unofficial)을 참고했다. 처음 공부할 때는 simplified version을 통해 전체 구조를 이해한 후, official code를 참고하면 이해하기 편하다. (*cycleGAN의 detail이나, 이론적인 부분은 이 글에서는 설명하지 않기로 한다.) 우선, 각 stage의 loss를 다음과 같이 식으로 정리할 수 있다. 참고로, realA..

EdgesCats

pix2pix를 이용해 만든 그림->사진 변환 툴의 일종이다. 링크 : https://affinelayer.com/pixsrv/ Image-to-Image Demo - Affine Layer Interactive Image Translation with pix2pix-tensorflow The pix2pix model works by training on pairs of images such as building facade labels to building facades, and then attempts to generate the corresponding output image from any input image you give it. affinelayer.com 마우스로 고양이 그림을 그리면 고양..

[MATLAB] function handle

kr.mathworks.com/help/matlab/matlab_prog/creating-a-function-handle.html function handle(함수 핸들): 함수를 간접적으로 호출한다. 용도: 함수를 다른 함수에 전달할 때 사용할 수 있음. 함수를 정의하지 않고 바로 사용할 수 있음. Python의 Labmda 식과 동일하다. 골뱅이 @ 기호를 이용한다. f = @myfunction Example) function y = computeSquare(x) y = x.^2; end f = @computeSquare; y = f(4) > y = 16 익명 함수 함수 파일을 별도로 생성하지 않고(정의하지 않고) 함수를 생성할 수 있다. 괄호 안에 함수에서 사용할 변수를 정의하고, 이어서 함수 식을..

[Scikit-learn] Logistic Regression 정리, 예제

from sklearn.linear_model import LogisticRegression model = LogisticRegression() 주요 arguments max_iter: iteration의 최대치 (default: 100) penalty: penalization에 사용되는 norm의 종류. Solver의 종류에 따라 사용 가능한 penalty의 종류가 상이하기 때문에 docs를 확인해야 함. {'l1', 'l2', 'elasticnet', 'none'}, (default: 'l2') 'elasticnet' 의 경우 l1+l2 penalty를 함께 사용하며, l1_ratio parameter를 통해 그 비율을 조정할 수 있다. solver: optimization에 사용되는 algorith..

[PyTorch] Livelossplot 사용예제

www.kaggle.com/pmigdal/livelossplot-for-training-loss-tracking Livelossplot은 학습 과정에서 real-time으로 실행 로그를 보여주는 패키지이다. 다음과 같이 설치할 수 있다. !pip install livelossplot 아래는 사용 예제이다. from livelossplot import PlotLosses liveloss = PlotLosses() model = model.to(device) loss_F = nn.MSELoss() for epoch in range(num_epochs): logs = {} for phase in ['train', 'validation']: if phase == 'train': model.train() else..

[MRI] View Angle Tilting (VAT)

출처: dtrx.de/od/mmm/ M3 - Monologues, MRI, Miscellanea View-angle tilting MRI (part 3): Fewer approximations This is a third (and presumably final) text about view-angle tilting (or VAT) MRI concluding the explanations posted on 2020-09-10 and on 2020-09-15. I don’t really like the mathematical approximatio dtrx.de Metallic artifact Metallic implant는 MRI에 심각한 artifact를 발생시킨다. 이를 해결하기 위한 방법 중 하나가 ..

[Overview] Attention 정리 - (2) seq2seq, +attention

순서: (1) LSTM (2) seq2seq, +attention (3) Show, Attend and Tell Reference: Visualization of seq2seqmodel Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention) Translations: Chinese (Simplified), Japanese, Korean, Russian, Turkish Watch: MIT’s Deep Learning State of the Art lecture referencing this post May 25th update: New graphics (RNN animation, word embedd..

[Overview] Attention 정리 - (1) LSTM

순서: (1) LSTM (2) seq2seq, +attention (3) Show, Attend and Tell reference: colah.github.io/posts/2015-08-Understanding-LSTMs/ Recurrent Neural Network 기본적인 RNN의 구조는 위와 같다. 이전의 state를 함께 input으로 주어 이전 input과의 연관성을 함께 학습해 나간다. 하지만 이러한 구조는, input의 길이가 길어질수록, 네트워크의 뒷부분으로 갈 수록 앞 부분의 정보를 잊어버리는 문제점이 있다. LSTM은 이러한 문제점을 극복하기 위해 제시되었다. Long Short Term Memory 위는 간단한 RNN의 구조, 아래는 LSTM의 구조이다. 각 기호의 의미는 다음과 같다..

MSE Loss (L2 Loss) vs. MAE Loss (L1 Loss)

heartbeat.fritz.ai/5-regression-loss-functions-all-machine-learners-should-know-4fb140e9d4b0 의 일부를 번역 & 요약한 글 MSE Loss and MAE Loss MSE(Mean Squared Loss, L2 Loss)는 Error의 제곱의 평균을 낸 값입니다. 수식으로 나타내면 아래와 같습니다. 다음은 True value를 100이라고 했을 때 Predicted value를 -10,000에서 10,000까지 변화시켜 가며 그린 그래프입니다. x축은 Predicted value, y축은 MSE Loss의 값을 나타냅니다. MAE(Mean Absolute Loss, L1 Loss)는 Error의 절대값의 평균을 낸 값입니다. 수식으로..

반응형