인공지능

[Tensor Manipulation] Stack & Ones and Zeros like &Zip

sujin7837 2021. 1. 23. 22:42
반응형

Stack

축을 설정해주면 stack을 다양하게 이용할 수 있습니다.

x=[1, 4]
y=[2, 5]
z=[3, 6]

tf.stack([x, y, z]).eval()
->array([[1, 4],
		 [2, 5],
         [3, 6]], dtype=int32)
         
tf.stack([x, y, z], axis=1).eval()
->array([[1, 2, 3],
		 [4, 5, 6]], dtype=int32)

 

Ones and Zeros like

ones_like: 요소를 전부 1로 만들어줍니다.

zeros_like: 요소를 전부 0으로 만들어줍니다.

 

x=[[0, 1, 2],
   [2, 1, 0]]
tf.ones_like(x).eval()
->array([[1, 1, 1],
		 [1, 1, 1]], dtype=int32)
         
tf.zeros_like(x).eval()
->array([[0, 0, 0],
		 [0, 0, 0]], dtype=int32)

 

Zip

복수 개의 tensor를 가지고 있을 경우, 그것들을 for 루프를 통해 한번에 실행하고자 할 때 사용합니다.

for x, y in zip([1, 2, 3], [4, 5, 6]):
	print(x, y)
->1 4
  2 5
  3 6
  
for x, y, z in zip([1, 2, 3], [4, 5, 6], [7, 8, 9]):
	print(x, y z)
->1 4 7
  2 5 8
  3 6 9
반응형