딥러닝 (Deep Learning)/tensorflow, keras

[tensorflow] 텐서 기본코드

DS지니 2021. 10. 14. 16:00
728x90
반응형

유튜브 이수안컴퓨터연구소-딥러닝한번에끝내기

 

1. 기본 텐서 만들기

- constant

- rank

import numpy as np
import tensorflow as tf

#0D TENSOR(스칼라)
t0 = tf.constant(1)
print(t0)
print(tf.rank(t0))

#1D TENSOR(벡터)
t1 = tf.constant([1,2,3])
print(t1)
print(tf.rank(t1))

#2D TENSOR(행렬)
t2 = tf.constant([[1,2,3],
                  [4,5,6],
                  [7,8,9]])
print(t2)
print(tf.rank(t2))

#3D TENSOR - 연속시퀀스, 시계열데이터
t3 = tf.constant([[[1,2,3],
                  [4,5,6],
                  [7,8,9]],
                 [[1,2,3],
                  [4,5,6],
                  [7,8,9]],
                 [[1,2,3],
                  [4,5,6],
                  [7,8,9]]])
print(t3)
print(tf.rank(t3))

 

 

2. 데이터 타입 변환

- dtype 지정

- cast

# 기본 32비트

# int
i = tf.constant(2)
print(i)

# float
f = tf.constant(2.)
print(f)

# String
s = tf.constant('Jieun')
print(s)

코드 결과 - 숫자 텐서는 기본 32비트이다.

 

1) 데이터타입 변환방법1 - dtype

# dtype 지정하기

i8 = tf.constant(2, dtype=tf.int8)
print(i8)

f16 = tf.constant(2., dtype=tf.float16)
print(f16)

 

2) 데이터타입 변환방법2 - cast 메서드

# cast 메서드 사용하기

i32 = tf.cast(i8, tf.int32)
print(i32)

f32 = tf.cast(f16, tf.float32)
print(f32)

 

 

 

3. 텐서 연산

#덧셈
print(tf.constant(2) + tf.constant(2))
print(tf.constant(2) - tf.constant(2))

#뺄셈
print(tf.add(tf.constant(2), tf.constant(2)))
print(tf.subtract(tf.constant(2), tf.constant(2)))

#곱셈
print(tf.constant(2) * tf.constant(2))
print(tf.constant(2) / tf.constant(2))

#나눗셈
print(tf.multiply(tf.constant(2), tf.constant(2)))
print(tf.divide(tf.constant(2), tf.constant(2)))
# 데이터타입이 다른 텐서 연산하기
print(tf.cast(tf.constant(2), tf.float32) + tf.constant(2.2))

*데이터타입이 다른 텐서끼리 연산하면 InvalidArgumentError가 발생한다.

 

 

728x90
반응형