Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

TensorFlow와 Python으로 두 행렬을 더하는 방법 완벽 가이드

TensorFlow란 무엇인가?

TensorFlow는 Google에서 제공하는 머신러닝 프레임워크입니다. 오픈소스로 공개되어 있으며, Python과 함께 사용하여 다양한 알고리즘과 딥러닝 애플리케이션을 구현할 수 있습니다. 연구 목적과 실제 프로덕션 환경 모두에서 폭넓게 활용되고 있으며, 복잡한 수학적 연산을 빠르게 처리할 수 있는 최적화 기법을 갖추고 있습니다.

이러한 성능은 NumPy와 다차원 배열을 기반으로 하기 때문에 가능합니다. 이 다차원 배열을 바로 '텐서(tensor)'라고 부릅니다. TensorFlow는 딥 신경망 작업을 지원하며, 뛰어난 확장성을 제공하고 다양한 대중적인 데이터셋을 기본적으로 포함하고 있습니다. 또한 GPU 연산을 활용하고 리소스 관리를 자동화하며, 수많은 머신러닝 라이브러리와 함께 풍부한 문서와 커뮤니티 지원을 받을 수 있습니다. 이를 통해 딥 신경망 모델을 실행하고 학습시키며, 데이터셋의 특성을 예측하는 애플리케이션까지 손쉽게 구축할 수 있습니다.

'tensorflow' 패키지는 Windows 환경에서 아래 한 줄의 명령어로 설치할 수 있습니다.

pip install tensorflow

텐서(Tensor)의 기본 개념

텐서는 TensorFlow에서 사용되는 핵심 데이터 구조로, 데이터 흐름 그래프(Data Flow Graph) 내에서 노드 간의 엣지(edge)를 연결하는 역할을 합니다. 텐서는 본질적으로 다차원 배열 또는 리스트에 불과하며, 다음 세 가지 주요 속성으로 정의됩니다.

랭크(Rank)

텐서의 차원 수를 나타냅니다. 즉, 정의된 텐서가 몇 개의 차원을 가지는지를 의미하며, 텐서의 차수(order)로도 이해할 수 있습니다.

타입(Type)

텐서의 요소들과 연관된 데이터 타입을 나타냅니다. 텐서는 1차원, 2차원 또는 n차원 형태일 수 있습니다.

형태(Shape)

텐서가 가진 행과 열의 개수를 의미합니다.

이 글에서는 Jupyter Notebook을 사용하여 코드를 실행해 보겠습니다. Jupyter Notebook에도 'pip install tensorflow' 명령어로 간단히 TensorFlow를 설치할 수 있습니다.

예제 코드

import tensorflow as tf
import numpy as np

matrix_1 = np.array([(1,2,3),(3,2,1),(1,1,1)],dtype = 'int32')
matrix_2 = np.array([(0,0,0),(-1,0,1),(3,3,4)],dtype = 'int32')
print("The first matrix is ")
print (matrix_1)
print("The second matrix is ")
print (matrix_2)
print("The sum is ")
matrix_1 = tf.constant(matrix_1)
matrix_2 = tf.constant(matrix_2)
matrix_sum = tf.add(matrix_1, matrix_2)
print((matrix_sum))

실행 결과

The first matrix is
[[1 2 3]
[3 2 1]
[1 1 1]]
The second matrix is
[[ 0 0 0]
[-1 0 1]
[ 3 3 4]]
The sum is
tf.Tensor(
[[1 2 3]
[2 2 2]
[4 4 5]], shape=(3, 3), dtype=int32)

코드 설명

  • 필요한 패키지를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.

  • NumPy 패키지를 사용하여 두 개의 행렬을 생성합니다.

  • 생성된 NumPy 배열을 TensorFlow의 상수(constant) 값으로 변환합니다.

  • TensorFlow의 'add' 함수를 사용하여 두 행렬의 값을 더합니다.

  • 연산 결과인 행렬의 합을 콘솔에 출력합니다.