TensorFlow-기본 사항
이 장에서는 TensorFlow의 기본 사항에 대해 알아 봅니다. 텐서의 데이터 구조를 이해하는 것으로 시작합니다.
Tensor 데이터 구조
Tensor는 TensorFlow 언어의 기본 데이터 구조로 사용됩니다. 텐서는 데이터 흐름 그래프라고하는 모든 흐름도에서 연결 에지를 나타냅니다. 텐서는 다차원 배열 또는 목록으로 정의됩니다.
텐서는 다음 세 가지 매개 변수로 식별됩니다.
계급
텐서 내에서 설명되는 차원 단위를 순위라고합니다. 텐서의 차원 수를 식별합니다. 텐서의 순위는 정의 된 텐서의 순서 또는 n 차원으로 설명 할 수 있습니다.
모양
행과 열의 수는 함께 Tensor의 모양을 정의합니다.
유형
유형은 Tensor의 요소에 할당 된 데이터 유형을 설명합니다.
사용자는 Tensor를 구축하기 위해 다음 활동을 고려해야합니다.
- n 차원 배열 만들기
- n 차원 배열을 변환합니다.
TensorFlow의 다양한 차원
TensorFlow에는 다양한 차원이 포함됩니다. 치수는 아래에 간략하게 설명되어 있습니다.
1 차원 텐서
1 차원 텐서는 동일한 데이터 유형의 값 세트 하나를 포함하는 일반 배열 구조입니다.
Declaration
>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d
출력을 사용한 구현은 아래 스크린 샷에 나와 있습니다.
요소의 인덱싱은 Python 목록과 동일합니다. 첫 번째 요소는 인덱스 0으로 시작합니다. 색인을 통해 값을 인쇄하려면 색인 번호를 언급하기 만하면됩니다.
>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0
2 차원 텐서
배열 시퀀스는 "2 차원 텐서"를 만드는 데 사용됩니다.
2 차원 텐서의 생성은 아래에 설명되어 있습니다.
다음은 2 차원 배열을 만들기위한 완전한 구문입니다.
>>> import numpy as np
>>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)])
>>> print(tensor_2d)
[[ 1 2 3 4]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
>>>
2 차원 텐서의 특정 요소는 인덱스 번호로 지정된 행 번호와 열 번호를 사용하여 추적 할 수 있습니다.
>>> tensor_2d[3][2]
14
텐서 처리 및 조작
이 섹션에서는 Tensor 핸들링 및 조작에 대해 알아 봅니다.
우선 다음 코드를 살펴 보겠습니다.
import tensorflow as tf
import numpy as np
matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32')
matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32')
print (matrix1)
print (matrix2)
matrix1 = tf.constant(matrix1)
matrix2 = tf.constant(matrix2)
matrix_product = tf.matmul(matrix1, matrix2)
matrix_sum = tf.add(matrix1,matrix2)
matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32')
print (matrix_3)
matrix_det = tf.matrix_determinant(matrix_3)
with tf.Session() as sess:
result1 = sess.run(matrix_product)
result2 = sess.run(matrix_sum)
result3 = sess.run(matrix_det)
print (result1)
print (result2)
print (result3)
Output
위의 코드는 다음 출력을 생성합니다.
설명
위의 소스 코드에서 다차원 배열을 만들었습니다. 이제 Tensor를 관리하고 적절한 출력을 생성하는 그래프와 세션을 생성했음을 이해하는 것이 중요합니다. 그래프의 도움으로 Tensor 간의 수학적 계산을 지정하는 출력이 있습니다.