반응형

Python 377

[Tensorflow] 텐서플로우 GPU 확인, 특정 GPU 사용 방법

텐서플로우 GPU 사용 가능 여부 체크, 원하는 GPU 지정 하기 안녕하세요. 이번 글에서는 tensorflow 2 버전에서 gpu가 연결되었는지를 점검하고, 원하는 gpu를 사용할 수 있도록 하는 방법에 대해서 간단히 설명해보도록 하겠습니다. Tensorflow gpu 연결 확인 방법 아래의 코드를 작성해서 손쉽게 gpu 사용 가능 여부를 확인할 수 있습니다. from tensorflow.python.client import device_lib device_lib.list_local_devices() 만일, CPU만 연결된 경우는 아래와 같이 메시지가 출력됩니다. 반면, GPU가 1개 이상 연결된 경우는 아래쪽에 GPU:0, GPU:1, ... 식으로 번호가 할당된 디바이스가 추가로 탐색됩니다. 텐서플..

Python/Tensorflow 2022.02.07

[Numpy] 파이썬 상삼각행렬 생성 함수 : np.triu 사용법

넘파이 상삼각성분만 남기기 : np.triu() 이번 글에서는 파이썬 넘파이 라이브러리에서 행렬을 다룰 때, 상삼각행렬에 해당하는 원소만 남길 수 있는 np.triu() 함수의 사용법을 간단히 살펴보도록 하겠습니다. 정방행렬 예시 np.triu 함수의 사용법은 array와 k값을 차례대로 인자로 적어주면 되며, k를 생략할 경우 기본 값은 0으로 지정됩니다. k의 의미는 가장 윗줄부터 0의 개수가 k개부터 시작한다는 의미로 보시면 되며, 아래로 1줄씩 내려갈 때 마다 0의 개수가 1개씩 많아지는 원리입니다. 먼저, 4 x 4 정방행렬에 np.triu 함수를 적용한 예시를 살펴보겠습니다. import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 1..

Python/Numpy 2022.02.05

[Numpy] np.sum() 사용법, axis와 keepdims 의미

파이썬 넘파이 합계 함수 np.sum() 사용 방법 정리 안녕하세요. 이번 글에서는 넘파이 라이브러리에서 전체 합계 혹은 축 합계를 구할 수 있는 np.sum 함수의 사용법을 주요 인자인 axis와 keepdims 인자를 중심으로 설명해보는 시간을 가져보도록 하겠습니다. np.sum() 함수 기본 사용법 기본 사용법은 array 내 전체 값들의 합을 구하는 방법으로, 파이썬 내장 함수인 sum과 동일한 기능을 수행하게 됩니다. np.sum(array) 혹은 array.sum() 두 가지 형태로 전체 합계를 구할 수 있습니다. 이번 글에서는 아래의 간단한 2차원 배열에서 합계를 구한 예시를 살펴보도록 하겠습니다. import numpy as np a = np.array([[1, 0, 3], [2, 5, 4..

Python/Numpy 2022.02.02

[Sklearn] 파이썬 학습 데이터, 테스트 데이터 분리 : train_test_split

사이킷런 train / test 데이터 셋 분리 함수 사용법 정리 안녕하세요. 이번 글에서는 파이썬 scikit-learn 라이브러리에서 학습 데이터와 테스트 데이터를 원하는 조건으로 쉽게 분리 가능한 train_test_split 함수의 사용 방법에 대해서 정리해보도록 하겠습니다. 우선, 아주 간단한 1000개 행을 가진 데이터셋을 가정해보도록 하겠습니다. feature는 3가지로, class label은 0과 1의 2가지로 설정해보았습니다. import pandas as pd import numpy as np a = {'feature 1' : np.random.random(1000), 'feature 2' : np.random.random(1000), 'feature 3' : np.random.ran..

Python/Sklearn 2022.02.01

[Matplotlib] 파이썬 그래프 그리드(격자) 설정

파이썬 그리드 지정 함수 사용법 : plt.grid() 안녕하세요. 이번 시간에는 파이썬 matplotlib으로 그래프 내에서 격자 눈금을 원하는대로 그리는 방법에 대해서 살펴보도록 하겠습니다. 기본 격자 설정 방법 먼저, 예시를 위하여 아래와 같이 0~10 범위의 빈 플롯을 생각해보겠습니다. import matplotlib.pyplot as plt plt.xlim(0, 10) plt.ylim(0, 10) plt.show() 이제, plt.grid() 메소드를 호출하여 기본적인 격자를 생성하면 아래처럼 나타납니다. plt.xlim(0, 10) plt.ylim(0, 10) plt.grid() # 기본 격자 설정 plt.show() 현재 xticks, yticks의 간격이 기본적으로 2로 지정되어 있어 2 ..

Python/Matplotlib 2022.01.31

[Pytorch] 텐서 쌓기 함수 torch.cat(), torch.stack() 비교

torch cat vs stack 함수 차이 이번 글에서는 파이토치에서 텐서를 쌓는 경우 사용하게 되는 cat과 stack 함수의 차이와 사용 방법에 대해서 살펴보도록 하겠습니다. 먼저, 다음과 같이 간단한 (2, 3) shape의 2차원 텐서 2개를 선언하겠습니다. import torch # (2, 3) 사이즈 2차원 텐서 2개 생성 a = torch.tensor([[1, 2, 3], [4, 5, 6]]) b = torch.tensor([[7, 8, 9], [10, 11, 12]]) 이제 이 두 개의 텐서를 가지고 cat과 stack 함수를 적용해보겠습니다. 파이토치 cat 함수 사용법 cat 함수는 원하는 dimension 방향으로 텐서를 나란하게 쌓아줍니다. 예를 들어, (a, x, y)와 (b, ..

Python/Pytorch 2022.01.27

[Pytorch] 원소 반복 텐서 확장 : expand, expand_as, repeat 사용법

torch expand, expand_as, repeat 함수 차이 비교 이번 글에서는 파이토치에서 원소를 반복하여 텐서의 차원을 확장하는 함수들인 expand, expand_as, repeat 함수들의 사용법 차이를 분석해보는 시간을 가져보도록 하겠습니다. 파이토치 expand 함수 expand() 메소드는 원하는 차원 크기를 input으로 받아 텐서의 값들을 뒤쪽 axis에서 반복하여 확장된 차원의 반복 텐서를 생성합니다. 반복을 원하는 텐서의 size가 (x, y, z) 식이라면, input으로는 (a, b, c, ... , x, y, z) 처럼 마지막 axis들의 크기는 input으로 넣은 차원과 동일한 크기여야 합니다. 첫 번째로, 1차원 텐서의 확장 예시입니다. import torch x = ..

Python/Pytorch 2022.01.26

[Pytorch] squeeze와 unsqueeze 함수 사용법 정리

torch squeeze vs unsqueeze 이번 글에서는 파이토치에서 squeeze와 unsqueeze 함수의 용도와 사용 예시에 대해서 살펴보도록 하겠습니다. 이 글은 파이토치의 squeeze, unsqueeze 함수에 대한 공식 문서를 바탕으로 작성되었습니다. Pytorch squeeze 함수 사용 방법 참고로, 지난 번에 numpy의 squeeze 함수 사용법에 대하여 다룬 글이 있었는데, torch 라이브러리에서도 원리는 거의 비슷합니다. [Numpy] np.squeeze 함수 사용법과 의미 파이썬 넘파이 np.squeeze() 함수 : 크기가 1인 axis 제거 이번 시간에는 파이썬 넘파이 배열에서 크기가 1인 추가 axis를 제거하는 np.squeeze 함수의 사용법과 의미에 대해서 간단..

Python/Pytorch 2022.01.25

[Matplotlib] 파이썬 그래프 범례(legend) 크기, 위치, 글자 색 설정법

plt legend 설정 방법 정리 이번 글에서는 파이썬 matplotlib 라이브러리에서 그래프의 범례를 설정하는 기본적인 방법과 범례의 크기, 위치, 글자 색 등의 속성을 정하는 방법에 대해서 다루어보도록 하겠습니다. 파이썬 그래프 범례 설정법 2가지 첫 번째로 그래프 내에 범례를 표시하는 방법은 그래프를 그리는 과정 내에서 label 인자로 해당 그래프의 범례 텍스트를 미리 지정한 뒤, plt.legend() 메소드를 실행시켜 주시면 지정했던 범례 텍스트들이 그래프를 그린 순서대로 출력됩니다. import matplotlib.pyplot as plt import numpy as np x = np.linspace(-2 * np.pi, 2 * np.pi, 100) # 그래프 내에 label 인자로 범례..

Python/Matplotlib 2022.01.24

[Pytorch] 쿠다 버전 확인, 파이토치 버전 체크, 업데이트 방법

CUDA 및 파이토치 버전 확인 및 관리 Pytorch를 사용하는 경우 CUDA 버전을 확인하고, 쿠다와 호환이 잘 되는 파이토치 버전으로 변경해주어야 하는 경우가 있을 수 있습니다. 이번 글에서는 간략하게 파이토치를 최적으로 사용하기 위한 환경에 대해 점검하고 버전을 관리하는 방법을 말씀드려보도록 하겠습니다. 쿠다 버전 확인법 CUDA 버전을 확인하는 방법은 명령 프롬프트에 $ nvcc --version를 입력하시거나, ipynb 파일의 셀 내에 !nvcc --version를 입력해주시면 됩니다. 출력 결과에서 마지막 줄의 숫자를 확인해보시면 됩니다. 예시로 코랩 환경에서 CUDA의 버전을 조회해본 결과, 11.1 version을 사용하고 있는 것을 알 수 있었습니다. 혹은, 아래의 pytorch ve..

Python/Pytorch 2022.01.23
반응형