본문 바로가기

728x90

Programming

(34)
[Tensorboard] tensorboard를 찾지 못하는 경우 / 서버 원격 접속 시 tensorboard 사용 못하는 경우 (ERROR: Could not find `tensorboard`. Please ensure that your PATH contains an executable `tensorboard` program) Tensorboard를 가상환경에서 launch가 안되는 현상이 발생했다. 찾아보니 notebook과 가상 환경 사이 어떠한 충돌 때문이라고 한다. ERROR: Could not find `tensorboard`. Please ensure that your PATH contains an executable `tensorboard` program 이럴 경우에는 임의로 환경 변수를 설정해주면 실행이 가능하다! os.environ['TENSORBOARD_BINARY'] = '/가상환경path/bin/tensorboard' 그러나 서버에 원격 접속하여 tensorboard를 사용하는 경우 tensorboard가 여전히 안뜨는 경우가 있다. 그럴 경우에는 다음과 같이 원하는 포트를 설정한 후 %tensorboar..
[Python] UserWarning 숨기는 법 / 경고메세지 숨기기 파이썬의 다양한 라이브러리들의 버전 변화에 따라 경고메세지가 뜨는 경우가 있다! 프로그램 실행 결과 또는 로그만 확인하고 싶은데 굉장히 거슬릴 때 이런 경고메세지를 안보이게 설정할 수가 있다. import warnings # 경고메세지 끄기 warnings.filterwarnings(action='ignore') # 다시 출력하게 하기 warnings.filterwarnings(action='default') 매우 간단한데 지금까지 메세지를 숨길 생각을 안하고 다 보고있었다니 놀랍다..!
Transforms.Normalize()의 역할 파이썬에서 tensor로 이미지를 처리할 때 주로 transform.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))로 처리를 한다고 한다. 이는 이미지의 경우 픽셀 값 하나 하나가 0 ~ 255 값을 갖는데, tensor로 타입 변환 시 0 ~ 1 사이의 값으로 바뀌게 된다. 이를 -1 ~ 1 사이의 값으로 normalized 시켜서 이미지를 동일한 환경으로 어느정도 맞춰주어 학습을 진행하기 위해 사용하는 것이라고 한다! transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) 이렇게 한 번 Normalize 시켜주었던 이미지를 다시 복구시켜 확인하고 싶으면 아래처럼 값을 조정해주어야 한다. plt.imshow(transforms.T..
[PyTorch] DataLoader의 역할 및 사용법 DataLoader는 데이터를 미니 배치 단위로 나누어서 제공해주는 역할을 합니다. 학습을 하기 위해서 데이터를 읽어올 때 사용하게 됩니다. dataset 인자에는 pytorch Dataset 객체를 넣어주면 됩니다. DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None, *, prefetch_factor=2, persistent_workers=False) 인자를 하나씩 살펴보겠습니다. - batch_size : 말 그대로 batch_si..
[PyTorch] Dataset Types 정리 (Map-style datasets, Iterable-style datasets) 파이토치에서는 크게 두 가지 타입의 데이터셋을 지원해줍니다. 1) Map-style datasets map-style datasets은 __getitem__()과 __len()__을 구현하는 데이터셋으로 index(key)를 통해 데이터에 접근할 수 있는 경우를 의미합니다. dataset[index]를 통해 데이터셋의 특정 데이터에 접근할 수 있는 형태입니다. from torch.utils.data import Dataset class MyMapDataset(Dataset): def __init__(self, data): self.data = data def __len__(self): return len(self.data) def __getitem__(self, index): return self.dat..
[Python] asterisk - Unpacking의 역할 asterisk는 바로 * 를 의미한다. *를 보면 아마 대부분 가장 먼저 곱하기 연산이 생각날 것이다. (또는 ** 제곱연산?) 그러나 *는 그 외에도 다양한 역할을 하는데 그 중 하나는 바로 unpacking의 역할이다. tuple이나 dict와 같은 자료형에 있는 값들을 unpacking 할 수 있는데 이 말로는 잘 이해가 안갈 수 있으니 예제를 살펴보자 unpacking이 많이 사용되는 부분 중 하나는 바로 print함수이다. 다음과 같은 리스트가 있을 때 *를 통해 리스트로 묶인 값을 unpacking 해줄 수 있다. >>> a = [1, 2, 3, 4, 5] >>> print(a) [1, 2, 3, 4, 5] >>> print(*a) 1 2 3 4 5 이는 코딩 테스트 연습을 할 때도 매우 유..
[sklearn] Target is multiclass Error 해결 모델의 precision 성능을 확인하려고 sklearn.metrics 라이브러리에서 제공하는 precision_score 함수에서 이런 에러를 만났다! ValueError: Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted']. 이럴 때는 역시 바로 공식 문서를 보는게 최고다. sklearn.metrics.precision_score Examples using sklearn.metrics.precision_score: Probability Calibration curves Probability Calibration curves, Pr..
[Git] Git Repository 일부(하위) 폴더만 clone하기 (예제 포함) Git에 올라와있는 파일들 중 일부 파일만 clone하고 싶은 경우가 종종 있다. 물론 파일 개수가 적고 간단한 레파지토리의 경우에는 전체를 다 다운받아도 상관없으나 사이즈가 큰 레파지토리는 전체 클론을 하는 데에 시간도 많이 걸리고 귀찮을 뿐...! 1. 먼저, 클론할 파일을 저장할 폴더를 생성 후 해당 폴더로 이동한다. mkdir cd > .git/info/sparse-checkout 만약 위 예시의 레파지토리에서 백트래킹 폴더에 있는 코드만 가져오고 싶다면! echo back_tracking/ >> .git/info/sparse-checkout 6. pull 하기 git pull origin master 이렇게하면 원하는 폴더만 싹 가지고 오실 수 있답니다 😄

728x90