반응형

Python 377

[Tensorflow] 텐서플로우 버전 확인, 업그레이드, 다운그레이드 방법

텐서플로우 버전(version) 확인 및 변경 텐서플로우(Tensorflow)를 사용하시다 보면 버전 호환성 문제로 버전을 업그레이드 혹은 다운그레이드해야 하는 경우가 가끔씩 발생합니다. 이번 시간에는 해당 모듈의 버전(version)을 간단하게 확인하는 방법과 업그레이드, 다운그레이드하는 변경 방법에 대해서 살펴보도록 하겠습니다. 텐서플로우 버전 확인(Tensorflow version check) Tensorflow 모듈의 버전 확인 방법은 모듈을 import한 뒤, __version__ 속성 값을 조회하여 쉽게 확인이 가능합니다. import tensorflow as tf print(tf.__version__) # 2.5.0 저는 2.5.0 버전의 텐서플로우를 사용 중이었습니다. version 확인 ..

Python/Tensorflow 2022.01.21

[Numpy] 파이썬 SVD 차원 축소 예제 : np.linalg.svd() 또는 LA.svd()

파이썬 넘파이 특이값 분해(SVD) 차원 축소 : LA.svd() 이번 글에서는 파이썬 넘파이에서 특이값 분해(SVD)를 이용하여 \(U, \Sigma, V\)의 3가지 행렬로 분리된 결과를 가져와보고, 이를 이용하여 차원 축소를 진행하는 예시까지 간단하게 살펴보도록 하겠습니다. 우선, 오늘 예제에서 사용할 간단한 2 * 3 행렬을 선언해 보겠습니다. import numpy as np A = np.array([[-1, 1, 0], [0, -1, 1]]) 파이썬 full SVD vs truncated SVD 예제 오늘 설명할 파이썬의 np.linalg.svd (혹은 import numpy.linalg as LA 선언 시 LA.svd) 함수는 full SVD와 truncated SVD의 두 가지 형태를 모두..

Python/Numpy 2022.01.20

[Matplotlib] plt.show() 의미와 여러 개일 때 차이

파이썬 plt.show() 함수 의미, 역할 이번 글에서는 파이썬 matplotlib에서 그래프를 그리기 위한 코드를 작성한 뒤, 마지막에 선언하게 되는 plt.show() 함수의 의미와 역할에 대해서 살펴보고, 여러 번 사용되는 경우의 차이점에 대해서도 다루어보도록 하겠습니다. 우선, scatter plot을 만들어보기 위한 임의의 데이터를 생성하겠습니다. import matplotlib.pyplot as plt import numpy as np x1 = np.random.random(50) y1 = np.random.random(50) x2 = np.random.random(50) + 1 y2 = np.random.random(50) + 1 x3 = np.random.random(50) + 2 y3 ..

Python/Matplotlib 2022.01.19

[Numpy] 행렬곱 함수 np.matmul 사용법, np.dot과의 차이

파이썬 넘파이 np.matmul vs np.dot 비교 이번 글에서는 np.dot 함수와의 차이 비교를 기준으로 np.matmul 함수의 사용 방법을 살펴보도록 하겠습니다. 참고로, 지난 번에 행렬곱 함수 중 하나인 np.dot 함수의 사용법에 대한 포스팅을 다룬 적이 있습니다. 해당 글의 링크는 아래에 첨부해두었습니다. [Numpy] 파이썬 내적, 행렬곱 함수 np.dot() 사용법 총정리 파이썬 넘파이 내적 함수 : np.dot() 안녕하세요. 이번 시간에는 파이썬 넘파이 라이브러리에서 제공하는 벡터 내적, 행렬곱 함수인 np.dot 함수의 사용법을 array의 차원에 따라서 총정리해보는 시간 jimmy-ai.tistory.com np.matmul 함수의 기본적인 사용법은 np.matmul(a, b)..

Python/Numpy 2022.01.19

파이썬 enumerate 이용 인덱스 번호 동시 for문 순회

파이썬 인덱스, 값 동시 for문 순회 : enumerate 파이썬에서 for문 순회 중에 인덱스의 번호를 같이 가져와 사용하고 싶은 경우 유용하게 사용 가능한 내장 함수인 enumerate의 원리와 사용 예제에 대해서 살펴보도록 하겠습니다. 파이썬 enumerate 원리 일반 리스트 순회와 enumerate를 이용한 for문 순회를 비교해보겠습니다. list_a = ['a', 'b', 'c', 'd'] # 일반 리스트 순회 for문 for i in list_a: print(i) # 출력 결과 a b c d 리스트를 순회하는 경우 리스트의 각 원소인 a, b, c, d에만 순서대로 접근하게 됩니다. # enumerate를 이용한 리스트 순회 for i in enumerate(list_a): print(i..

[Pandas] 파이썬 데이터프레임 중복 제거 : drop_duplicates() 사용법

파이썬 판다스 중복 행 제거 함수 : drop_duplicates() 이번 글에서는 판다스에서 중복된 행을 쉽게 제거할 수 있는 drop_duplicates 함수의 사용법에 대해서 살펴보겠습니다. 이 글은 판다스 공식 문서의 해당 함수에 대한 글을 기반으로 작성되었습니다. 우선, 다음과 같은 간단한 데이터프레임 있다고 가정해보겠습니다. import pandas as pd a = {'A' : [111, 111, 111, 111, 222, 222], 'B' : ['aaa', 'aaa', 'bbb', 'bbb', 'aaa', 'bbb'], 'C' : ['zzz', 'zzz', 'zzz', 'yyy', 'zzz', 'yyy']} df = pd.DataFrame(a) df 0, 1번 행은 완전히 동일하며, 일부 ..

Python/Pandas 2022.01.17

[Numpy] np.squeeze 함수 사용법과 의미

파이썬 넘파이 np.squeeze() 함수 : 크기가 1인 axis 제거 이번 시간에는 파이썬 넘파이 배열에서 크기가 1인 추가 axis를 제거하는 np.squeeze 함수의 사용법과 의미에 대해서 간단히 살펴보도록 하겠습니다. 먼저, 다음과 같은 2차원 배열처럼 보이는 3차원 배열이 있다고 가정해보겠습니다. import numpy as np a = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]) a.shape # (1, 3, 3) 겉으로 보기에는 3 * 3 크기의 2차원 배열처럼 생겼으나, 괄호가 가장 바깥쪽에 1개가 추가로 있어 실제 shape은 (3, 3)이 아닌 (1, 3, 3)입니다. [1, 2, 3, 4]와 [[1, 2, 3, 4]]의 관계로 생각하시면 이해가..

Python/Numpy 2022.01.14

[Tensorflow] 텐서플로우 원핫 인코딩 함수 : tf.one_hot()

텐서플로우 원핫 벡터 생성 함수 tf.one_hot() 사용법 안녕하세요. 이번 글에서는 파이썬 tensorflow에서 원핫 인코딩을 바로 진행할 수 있게 해주는 tf.one_hot 함수의 사용법에 대해서 간단히 다루어보도록 하겠습니다. 이 글은 텐서플로우 공식 문서의 tf.one_hot 함수 설명 글을 바탕으로 작성되었습니다. 원핫 인코딩(One-hot Encoding)이란? 원핫 인코딩은 딥러닝 과정에서 loss 함수 계산을 용이하게 해주어 학습의 효율을 증가시킬 수 있고, 범주형 변수를 머신러닝에 사용가능하게 만들어주는 방법입니다. 10장의 강아지, 고양이, 여우, 호랑이 사진들의 목록이 있다고 할 때, 이를 단일 벡터로 만든 경우와, 원핫 인코딩으로 표현한 결과는 아래 그림처럼 요약이 가능합니다...

Python/Tensorflow 2022.01.14

[Numpy] 배열 shape 변경 : np.reshape 함수 사용법, -1 의미

파이썬 넘파이 배열 차원 변경 함수 : np.reshape reshape 함수를 통하여 넘파이 배열의 차원을 변환하는 방법에 대해서 살펴보고, 함수 내 input으로 -1을 포함한 경우의 의미도 살펴보도록 하겠습니다. np.reshape 함수 기본 사용법 기본적인 사용 방법은 배열 a에 대하여 a.reshape(변환 shape) 혹은 np.reshape(a, 변환 shape) 형태로 사용해주시면 됩니다. axis 순서대로(가로 -> 세로 축 방향) 값들을 변환되는 shape으로 재배정하는 원리이며, 재배정이 불가능한 shape인 경우 ValueError가 발생합니다. 1차원 배열에 대한 실행 예제입니다. import numpy as np a = np.arange(9) # array([0, 1, 2, 3,..

Python/Numpy 2022.01.13

[Numpy] 배열을 반복하여 쌓는 함수 np.tile 사용법(그림으로 정리)

파이썬 넘파이 배열 쌓기 함수 : np.tile 이번 글에서는 넘파이 라이브러리에서 배열을 원하는 모양으로 쌓아 올릴 수 있는 함수인 np.tile 함수의 사용법에 대해서 알아보는 시간을 가져보겠습니다. 이 글은 np.tile 함수의 넘파이 공식 document의 내용을 기반으로 작성되었습니다. np.tile 함수의 사용법은 매우 간단합니다. np.tile(A, repeat_shape) 형태이며, A 배열이 repeat_shape 형태로 반복되어 쌓인 형태가 반환됩니다. 1차원과 2차원 배열을 np.tile 함수를 이용하여 반복 쌓기한 형태를 보며, 함수의 사용법을 이해해보도록 하겠습니다. np.tile 1차원 배열 쌓기 예제 [5, 6] 형태의 2개의 원소를 가진 배열을 선언하고, 가로로만 3차원, 그..

Python/Numpy 2022.01.13
반응형