We-Co

[We-Co] zeros, ones, fill 상수텐서 초기화 본문

Python/Tensorflow

[We-Co] zeros, ones, fill 상수텐서 초기화

위기의코딩맨 2021. 7. 21. 11:50
반응형

안녕하세요. 위기의 코딩맨 입니다.

오늘은 상수 텐서 초기화에 대해 알아보도록 하겠습니다.

 

TensorFlow는 기본 텐서를 메모리에 인스턴스화할 수 있는 여러 함수를 제공합니다.

 

오늘은 zeros()ones(), fill() 세가지를 알아보도록 하겠습니다.

 

 

[ zeros(), ones(), fill() ]

사용법으로는 제가 2.x 버전이므로 1.x 버전을 가져와 확인해 보았습니다.

 

with tf.compat.v1.Session() as sess:
    a = tf.zeros(2)
    print(a.eval())

 

이렇게 출력을 하게되면 

결과 값

[0. ,0.] 의 값이 출력되는데 0의 값을 입력 값 만큼 채워진 텐서를 반환 합니다.

2를 입력 했기 때문에  [0. ,0.] 2개가 반환된 것을 확인할 수 있습니다.

 

tf.zeros((2,2))

 

위 코드 처럼 배열처럼 입력 하게 되면 결과 값은

 

 

결과 값 2

즉,  [0.,0.] 을 2개를 반환 받는 것을 확인 할 수 있습니다. 

여기서 한번 더 나아가

 

a = tf.zeros((2,2,2))

 

위 코드를 입력하면 결과는

결과 값 3

[0. , 0.][0., 0.] 값을 2개 더 추가된 모습이 출력된 것을 볼 수 있습니다.

 

이제는 ones()를 알아보면 지금까지 알아본 zeros()는 모든 값이 0으로 반환 되지만

ones()를 사용하게 되면 모든 값이 1로 반환 됩니다.

 

a = tf.ones((2,2,2))

 

ones()

 

마지막으로 fill()은 0, 1 을 제외한 다른 값으로 텐서를 채우기 위한 간단한 방법 입니다.

사용 방법으로는 

 

a = tf.fill((2,2,2),128)

 

fill()의 첫번째 인자는 기존 zeros(), ones()와 같고, 두번째는 내가 채울 값을 입력하면 됩니다.

저는 128을 입력하여 128로 모두 채우는 텐서를 생성했습니다.

 

fill()

 

오늘은 zeros(), ones(), fill()를 사용하여 텐서를 채워 반환 하는 방법을 알아 보았습니다.

텐서를 채우는 방법은 여러가지가 있으니 상황에 맞게 사용하시면 될것같습니다. 

난수텐서 초기화도 확인하고 싶으시면

난수텐서 초기화

 

[We-Co] random_normal(), random_uniform() 난수텐서 초기화

안녕하세요. 위기의코딩맨 입니다. 저번 블로그 글에서는 상수 텐서 초기화 함수를 몇개 알아보았습니다. 오늘은 난수텐서 초기화 하는 간단한 방법을 알아보도록 하겠습니다. 상수텐서는 아이

we-co.tistory.com

 

반응형