반응형

Python 411

파이썬 while문 예제와 사용법 정리

파이썬 while 반복문 예시, 원리, 탈출 방법 안녕하세요. 이번 시간에는 파이썬의 대표 반복문 패턴 중 하나인 while 구문을 작성하는 기본 방법, 사용 케이스와 원리 그리고 탈출 방법 등에 대한 내용들을 정리해보도록 하겠습니다. while문을 사용하는 경우, for문과의 차이 먼저, 다른 반복문 패턴인 for문 대신에 while문을 사용하는 것이 좋은 경우에 대해서 말씀드려보도록 하겠습니다. for문과 while문의 차이는 반복 횟수를 정해 놓느냐와 종료 조건을 정해 놓느냐의 차이입니다. 예를 들어, 당첨 확률이 1%인 복권을 200장 사서 몇 번 당첨되었는지를 알고 싶을 때는 반복 횟수가 정해져있는 것이므로 for문을 사용하는 것이 좋고, 당첨이 될 때까지 복권을 몇 장 샀는지를 알고 싶을 때는..

[Pytorch] 파이토치 설치 방법 정리

torch install 방법 요약 안녕하세요. 이번 시간에는 매우 간단하게 사용 환경에 맞는 파이토치를 설치하는 방법을 말씀드리도록 하겠습니다. 1단계. 파이토치 사이트 접속 및 커맨드 입력 먼저, 파이토치 공식 사이트인 https://pytorch.org/에 접속해줍니다. 위와 같은 설정에서 각 항목을 아래 기준으로 선택해줍니다. PyTorch Build : 현재 가장 안정 버전 / 최신 베타 버전 / 장기 지원 예전 버전 중 선택 Your OS : 리눅스 / 맥 / 윈도우 중 사용 운영체제 선택 Package : 가상환경이라면 Conda, 로컬환경이라면 Conda / Pip 중 선택 권장 Language : 사용할 언어 환경 선택 Compute Platform : GPU가 있다면 CUDA 버전에 맞..

Python/Pytorch 2022.02.09

[Pytorch] 파이토치 텐서 자료형 확인, 타입 변환(casting) 방법

torch tensor type check & casting 이번 글에서는 파이토치 라이브러리에서 텐서의 타입을 확인하고, 다른 자료형으로 캐스팅(변경)하는 방법에 대해서 간단하게 정리해보겠습니다. 파이토치 텐서 타입 확인 : dtype 속성 파이토치에서 자료형을 확인하는 방법은 텐서의 dtype 속성을 확인해주시면 간단히 해결됩니다. import torch a = torch.randn(2, 2, 2) b = torch.IntTensor([1, 3, 5]) print(a.dtype) # torch.float32 print(b.dtype) # torch.int32 참고로, 텐서의 자료형은 float, int, complex 등 실수, 정수, 복소수 등 속성 표현부와 8, 16, 32, 64 등 할당 메모리..

Python/Pytorch 2022.02.08

[Pytorch] contiguous 원리와 의미

torch의 contiguous에 대해서 안녕하세요. 이번 시간에는 파이토치에서 메모리 내에서의 자료형 저장 상태로 등장하는 contiguous의 원리와 의미에 대해서 간단히 살펴보도록 하겠습니다. contiguous 여부와 stride 의미 간단한 예시를 들어 설명하기 위해서 shape이 (4, 3)으로 동일한 두 tensor a, b를 다음과 같이 선언해보겠습니다. import torch a = torch.randn(3, 4) a.transpose_(0, 1) b = torch.randn(4, 3) # 두 tensor는 모두 (4, 3) shape print(a) ''' tensor([[-0.7290, 0.7509, 1.1666], [-0.9321, -0.4360, -0.2715], [ 0.1232,..

Python/Pytorch 2022.02.08

[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
반응형