본문 바로가기
  • Let's go grab a data
Data/TensorFlow

기본 자료구조 Tensor, 산술연산 명령어

by pub-lican-ai 2017. 3. 14.
반응형

[기본 자료구조 Tensor]

import numpy as np

#자료구조 1차원 배열

tensor_1d = np.array([1.3,1,4.0,23.99])

print(tensor_1d) #,로 구분되지 않는다

print(tensor_1d[0])

print(tensor_1d.ndim) #차원 rank

print(tensor_1d.shape) #형태 (4,) 하나의 행에 4개의 열

print(tensor_1d.dtype) #자료구조

[  1.3    1.     4.    23.99]
1.3
1
(4,)
float64


import tensorflow as tf

tf_tensor=tf.convert_to_tensor(tensor_1d,dtype=tf.float64) #텐서로 변환

with tf.Session() as sess:

    print(sess.run(tf_tensor))

[  1.3    1.     4.    23.99]


tensor_2d=np.array([(1,2,3,4),(5,6,7,8),(9,10,11,12),(13,14,15,16)])

print(tensor_2d)

print(tensor_2d[3][3])

print(tensor_2d[0:2,0:2])

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]
16
[[1 2]
 [5 6]]


#예제

import tensorflow as tf

import numpy as np

matrix1=np.array([(1,1,1),(1,1,1),(1,1,1)],dtype='int32')

matrix2=np.array([(2,2,2),(2,2,2),(2,2,2)],dtype='int32')

matrix3=np.array([(2,7,2),(1,4,2),(9,0,2)],dtype='float32')

print(matrix1)

print(matrix2)

print(matrix3)

#matrix1=tf.constant(matrix1)

#matrix2=tf.constant(matrix2) #constant이용해 텐서자료구조로 변환

matrix_product=tf.matmul(matrix1,matrix2)

matrix_sum=tf.add(matrix1,matrix2)

matrix_det=tf.matrix_determinant(matrix3)  #행렬식

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)

[[1 1 1]
 [1 1 1]
 [1 1 1]]
[[2 2 2]
 [2 2 2]
 [2 2 2]]
[[ 2.  7.  2.]
 [ 1.  4.  2.]
 [ 9.  0.  2.]]
[[6 6 6]
 [6 6 6]
 [6 6 6]]
[[3 3 3]
 [3 3 3]
 [3 3 3]]
56.0


#3차원 텐서

import numpy as np

tensor_3d=np.array([[[1,2],[3,4]],[[5,6],[7,8]]])

print(tensor_3d)

print(tensor_3d.shape)

print(tensor_3d[0,0,0])

print(tensor_3d[1,0,0])

print(tensor_3d[1,0,1])

print(tensor_3d[1,1,0])

[[[1 2]
  [3 4]]

 [[5 6]
  [7 8]]]
(2, 2, 2)
1
5
6
7


[산술연산 명령어]

 tf.add

 덧셈

 tf.sub

 뺄셈

 tf.mul

 곱셈

 tf.div

 나눗셈

 tf.mod

 나머지 연산(모듈러)

 tf.abs

 절댓값

 tf.neg

 음수로 변환한 값

 tf.sign

 양수인지 음수인지

 tf.inv

 역수

 tf.square

 제곱

 tf.round

 반올림한 정수 값

 tf.sqrt 제곱근

 tf.pow

 거듭제곱 값
 tf.exp 지수 함수 값
 tf.log 로그 함수 값

 tf.maximum

 최대값

 tf.minimum 최소값
 tf.cos 코사인 값
 tf.sin 사인 값


출처: 책 텐서플로 입문 _ 잔카를로 자코네

반응형