목록Python (70)
Koo's.Co
colab을 사용하다 보면 파이썬의 버전을 변경해주어야 하는 경우가 많이 발생합니다. 구글링을 해도 해결 방법을 찾지 못하다 가라식(?) 해결책을 찾게 되어 포스팅해보려 합니다. 💡 이 방법을 사용하면 노트북 런타임을 다시 시작하면 다시 설정해주어야 하는 번거로움이 있습니다. colab에서 공식적으로 지원하는 파이썬의 버전은 3.8 버전 이상으로 그 이전 버전을 필요로 하는 서드 파티 라이브러리를 사용하는 데 문제가 있습니다. 현재 colab에 설치되어 있는 파이썬 버전을 확인해보면 다음과 같습니다. 3.8 버전과 3.10버전을 지원하고 있기 때문에 이 상태에서는 3.7버전으로 바꾸려해도 바꾸기가 어렵습니다. 여기서 직접 apt를 사용해 python3.7을 설치해주겠습니다.!sudo apt upgrade..
pathlib — Object-oriented filesystem paths Source code: Lib/pathlib.py This module offers classes representing filesystem paths with semantics appropriate for different operating systems. Path classes are divided between pure paths, which p... docs.python.org pathlib은 file system을 PosixPath 객체를 사용해 경로를 객체지향 방식으로 사용할 수 있게 해주는 모듈입니다. pathlib을 사용하면 os 모듈을 사용할 때보다 더 직관적으로 파일과 폴더에 접근할 수 있는 장점이 있습니다. ..
텐서(Tensor) 파이토치(PyTorch) 기본 익히기|| 빠른 시작|| 텐서(Tensor)|| Dataset과 Dataloader|| 변형(Transform)|| 신경망 모델 구성하기|| Autograd|| 최적화(Optimization)|| 모델 저장하고 불러오기 텐서(tensor)는 배열(array)이 tutorials.pytorch.kr * Pytorch 튜토리얼에서 제공하는 내용을 기반으로 작성했습니다. import pytorch import numpy as np pytorch에서 사용하는 기본적인 자료형은 tensor입니다. pytorch에서는 tensor를 이용해 입출력과 매개변수들을 사용합니다. tensor는 numpy의 ndarray와 거의 유사하고, tensor와 ndarray는 동일..
hstack은 두 numpy 배열이 주어질 때 배열들을 가로로 붙여주는 역할을 하는 함수입니다. 최대 3차원까지의 배열에 적용할 수 있으며 첫번째 인자로 받은 배열 뒤에 두번째 인자로 받은 배열을 가로로 붙여 반환합니다. # 1차원 배열에서의 hstack a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) np.hstack((a, b)) # 2차원 배열 c = np.array([[1, 2, 3], [4, 5, 6]]) d = np.array([[7, 8, 9], [10, 11, 12]]) np.hstack((c, d))
pandas 라이브러리에서 사용하는 함수 정리 1. 생성 import pandas as pd # Dict를 입력값으로 받는 경우 # Key는 column이 된다 df = pd.DataFrame({'a': [4, 5, 6, 7], 'b': [8, 9, 10, 11], 'c': [12, 13, 14, 15]}, index=[1, 2, 3, 4]) # List를 입력값으로 받는 경우 # 각 리스트는 row가 된다 df2 = pd.DataFrame( [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]], index=[1, 2, 3, 4], columns=list('abc')) 2. 이중 인덱스 데이터프레임 # index를 MultiIndex로 설정 #..
if ~ else문을 이용하면 if 조건식에 있는 조건을 만족하지 못할 때 else에 있는 실행문이 실행된다. if 조건문1: 실행문1 else: 실행문2 이런 조건을 while문에 대해서도 동일하게 적용할 수 있다. while 조건문: 실행문1 ... if ~: break else: 실행문2 만약 while 조건문이 아니라 내부에서 break에 의해 반복문이 멈추면 else에 해당하는 실행문은 실행되지 않는다. 반면 while 조건문에 의해 while문이 멈춘다면 else에 있는 실행문이 실행되게 된다. # 백준 16952: A -> B a, b = map(int, input().split()) cnt = 0 while a != b: if b % 10 == 1: b //= 10 elif b % 2 ==..
1. 필터링(filtering) 영상에서 필요한 정보만 통과시키고 나머지는 걸러내는 작업 ① 주파수 영역 필터링(Frequency domain filtering) - 저주파 성분과 고주파 성분을 convolution 연산을 통해 처리 ② 공간적 필터링(Spatial domain filtering) - 영상의 픽셀 값을 직접 이용하는 필터링 방법 - 마스크 연산, convolution 연산을 이용 마스크의 형태에 따라 필터의 역할이 결정됨 영상 부드럽게 만들기 영상 날카롭게 만들기 edge 검출 잡음 제거 ... 2. 공간적 필터링: 마스크 연산 1) 픽셀들을 순환하면서 2) 그 주변값들과 mask값들의 값을 곱하여 3) 새로운 값을 연산 최외곽 픽셀의 경우, 마스크에 해당하는 부분을 대칭으로 넘겨 동일한..
1. 히스토그램 평활화(Histogram Equalization) - 히스토그램이 그레이스케일 전체 구간에서 균일한 분포로 나타나도록 변경하는 명암비 향상 기법 - 히스토그램 균등화, 균일화, 평탄화라고도 한다 - 누적함수를 이용해 입력 영상의 명암비를 조절 픽셀의 히스토그램 분포를 보면 기존 이미지는 좁게 분포해있지만 stretching과 equalization을 적용한 픽셀의 분포는 넓게 분포한 것을 알 수 있다. stretching은 넓어지는 범위가 일정한 반면, equalization은 cdf를 사용하기 때문에 분포에서 값이 뭉쳐있는 범위가 더 넓게 퍼지게 된 것을 확인할 수 있다. 2. 컬러 영상 Histogram Equalization BGR 색상 영역에서 split을 한 후 equalizat..