Processing math: 14%
[DICOM] MRI 볼륨 관련 Dicom tag 정리
Subtraction 이미지에 관한 태그(0020,0100) IS TemporalPositionIdentifier = 1(0020,0105) IS NumberOfTemporalPositions = 5 subtraction 영상은 보통 여러개가 존재한다. 해당 subtraction DICOM영상에서 Tag값을 확인해 Sub1, 2, 3, 4, 5를 구분할 수 있다.  (0020, 0013) Instance Number Attribute이미지 번호 (DICOM 슬라이스 순서)(0020,0013) IS InstanceNumber = 90해당 .dcm 파일이 series에서 몇 번째 슬라이스에 해당하는지 나타내는 Tag이다.   (0020,1002) Images in Acquisition Attribute(00..
2024.04.30
no image
[Matplotlib] 1로 채워진 이미지의 출력
Matplotlib를 사용해서 이미지를 출력해려고 다음과 같이 이미지를 출력하였다.x = np.empty(shape=(800,800), dtype=np.uint8)x.fill(255)plt.imshow(x, cmap='gray') 그러나 fill함수를 사용하여 어떤 값을 넣어도 검은색 이미지만 출력될 뿐 다른 것이 출력되진 않는다. vmin, vmax를 설정하여 이미지를 출력할 수 있다. vmin 및 vmax는 컬러맵 색상 제한에 매핑되는 값을 고정하여 이미지의 색상 배율을 설정한다. vmin 또는 vmax가 None인 경우 해당 제한은 배열 최소/최대 값에서 결정된다.  https://stackoverflow.com/questions/38340813/matplotlib-produces-a-black-i..
2024.04.28
no image
L1-Norm, L2-Norm
Norm기하학적 해석을 위해 존재한다. 벡터 사이의 길이와 거리를 재는 방법이며, 벡터 공간 V에서 norm은 함수이다.Norm 함수는 각 벡터 x의 그 자체의 길이 를 할당한다. 모든 \lambda \in \mathbb{R}, \lambda는 실수집합 내이고, x, y \in V, x,y는 vector space안의 원소이므로 다음을 따른다: - 동차 함수- 삼각 부등식- 양의 정부호-- (if and only if, 필요 충분 조건, \iff)   Trainalge ineaulity (삼각 부등식) 삼각 부등식이란, 삼각형에서 임의의 두 변의 합이 나머지 한 변보다 크거나 같아야 을 의미한다.  위키백과 이미지에 따르면 x..
2024.04.21
no image
[ML] Local connectivity, Global connectivity
Local connectivity, Global connectivity  Local connectivity: 인접한 데이터만 input으로 받는 것. -> 파라미터 절약      weight sharing: weight를 hidden unit마다 다르게 가져가지 않고 사용. 즉, pixel마다 같은 필터를 사용. -> 파라미터 절약          https://gofo-coding.tistory.com/entry/CNN-Local-Connectivity-Weight-Sharing
2024.04.15
RuntimeError: CUDA error: device-side assert triggered
RuntimeError: CUDA error: device-side assert triggered해당 오류는 많은 이유에서 발생할 수 있지만, 나의 경우에서는 값을 0으로 나누려는 과정에서 에러가 발생했고, 그리하여 다음과 같은 에러들을 만나게 되었다. RuntimeError: CUDA error: device-side assert triggeredCUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.For debugging consider passing CUDA_LAUNCH_BLOCKING=1./opt/conda/conda-bld/pytorch_1..
2024.04.05
Albumentation Color jitter 사용 오류
Albumentation에서 ColorJitter를 적용시키려 다음과 같이 세팅한 후 실행을 하였더니 오류가 발생하였다.transform = A.Compose([ # A.HorizontalFlip(), # A.VerticalFlip(), # A.Rotate(limit=(-180, 180), p=0.5), A.ColorJitter(brightness=0,contrast=(1,5),saturation=0,hue=0) ], is_check_shapes=False)  File "/opt/conda/lib/python3.10/site-packages/albumentations/augmentations/functional.py", line 1223, in adjust_contrast_t..
2024.04.05
no image
[Pytorch] 모델 저장 오류
분명 모델을 저장하는 과정에서는 문제가 없었는데, 모델을 불러오면 문제가 생겼다. strict옵션을 넣고 강제로 모델을 load할 수 있긴 하지만, 시드값을 맞추어도 실험의 재현이 되지 않았다.  해당 사진을 보면 저장한 모델의 값을 불러올 때 Missing key에러가 발생하는데 Unexpected key가 발생한 내역을 살펴보면 모든 key앞에 module가 붙어있다. 다음과 같이 모델의 state_dict()를 저장할 때, module.state_dict()를 저장하면 됐다.def save_model(net, save_path): # torch.save(net.state_dict(), save_path) torch.save(net.module.state_dict(), save_path) ..
2024.03.07
no image
[VScode] venv 가상환경에서 pylint 사용하는 방법
서론 예전에는 workspace setting에서 해당 옵션들을 다음과 같이 설정하여 pylint를 사용하였지만, deprecated되거나 지원되지 않는 방식으로 변하였다. { "python.linting.pylintEnabled": true, "python.linting.enabled": true, "python.pythonPath": "가상환경의 Python 경로", "python.linting.pylintPath": "가상환경 내의 Pylint 경로", } 2023년 8월 vscode-pylint 이슈에 따르면 vscode에 pylint extension을 설치해서 사용하길 권장한다. 설정 방법 요약 생성했던 Venv 가상환경 활성화 해당 가상환경에서 pylint 설치 VScode에서 `ctrl +..
2024.03.01
no image
[VScode] Python Venv 경로 설정 옵션 (venvFolders, venvPath)
1. VScode 환경에서 Venv 경로 설정 옵션 venv 사용하여 가상환경을 생성한 뒤 가상환경의 인터프리터를 사용하려면 경로 설정을 해줘야한다. 이 때 경로 설정의 옵션은 총 2가지가 있으며 다음과 같다. python.venvFolders python.venvPath 1.1 python.venvFolders 해당 옵션은 사용자의 홈 디렉토리 아래에 있는 venv 가상 환경이 저장된 위치의 상대 경로들을 입력하여 사용할 수 있다. mac, linux에서는 홈 디렉토리가 눈에 띄지만 윈도우 환경에서는 생각하기 어려울 수 있다. 윈도우의 홈 디렉토리 보통 cmd, powershell을 실행하게 되면 처음 시작하는 경로가 윈도우의 홈 디렉토리이며, powershell이라면 cd ~를 통해 홈 디렉토리로 이..
2024.03.01
[Python] 리눅스 환경에서 Maplotlib에서 한글폰트 사용하기
Maplotlib에서 한글폰트 사용하기sudo apt-get install fonts-nanum* # 폰트 설치sudo fc-cache -fv # 캐시 제거fc-list | grep nanum # 폰트 설치 확인rm -rf ~/.cache/matplotlib/* # matplotlib 캐시 제거 설치된 폰트 확인/usr/share/fonts/truetype/nanum/NanumSquareRoundB.ttf: NanumSquareRound,나눔스퀘어라운드,NanumSquareRound Bold,나눔스퀘어라운드 Bold:style=Bold,Regular/usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf: NanumSquareRound,나눔스퀘어라운드,NanumSq..
2024.02.28
[Pytorch] Generator
Pytorch 공식문서에서의 설명 CLASStorch.Generator(device='cpu') 의사 난수를 생성하는 알고리즘의 상태를 관리하는 Generator의 객체를 생성하고 반환한다. 많은 In-place random sampling 함수에서 keyword argumend로 사용된다. In-place random sampling 텐서에 정의된 random sampling 함수 torch.Tensor.bernoulli_() - in-place version of torch.bernoulli() torch.Tensor.cauchy_() - numbers drawn from the Cauchy distribution torch.Tensor.exponential_() - numbers drawn from..
2024.02.27
[Pytorch] Randomness 제어
Randomness 제어랜덤성 제어를 위해 필요한 것- 초기 가중치 고정- augmentation에 사용되는 random값 고정 def set_seed(seed=990912): torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False np.random.seed(seed) random.seed(seed)  torch.manual_seed랜덤한 숫자를 생성하기 위한 시드를 고정한다. return은 torch.Generator 오브젝트..
2024.02.27