본문 바로가기
AI Codes/Numpy

Numpy zeros, zeros_like, ones 등등

by 아르카눔 2025. 4. 20.

여기 (링크)에서 PyTorch에서 제로 텐서, 원 텐서 등을 만드는 방법을 알아보았다.

 

Numpy에서도 마찬가지 작업을 수행할 수 있다.

 

딥러닝 보다는 머신러닝의 측면에서 데이터를 다룰 때 주로 넘파이를 쓰기 때문에 알아두면 좋다고 생각해서 적는다.

 

 

다음은 지정된 값으로 원하는 모양 shape의 텐서를 만드는 방법들이다. 

  • zeros는 0으로
  • ones는 1로
  • full은 지정된 값으로
  • empty는 uninitialized values로 채워진다. 
import numpy as np

a = np.zeros((2,3))
b = np.ones((2,3))
c = np.full((2,3),2)
d = np.empty((2,3)) 

print(a)
print(b)
print(c)
print(d)

>>

[[0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]]
[[2 2 2]
 [2 2 2]]
[[4.66233324e-310 0.00000000e+000 0.00000000e+000]
 [0.00000000e+000 0.00000000e+000 0.00000000e+000]]

 

 

다음은 지정된 값으로, 원하는 텐서와 똑같은 shape의 텐서를 만드는 방법들이다. 

아래는 (2, 3) 형태의 tensor d의 모양을 그대로 복사하는 코드다. 

e = np.zeros_like(d)
f = np.ones_like(d)
g = np.full_like(d,3)
h = np.empty_like(d)

print(e)
print(f)
print(g)
print(h)

>>

[[0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]]
[[3. 3. 3.]
 [3. 3. 3.]]
[[4.66233377e-310 0.00000000e+000 0.00000000e+000]
 [0.00000000e+000 0.00000000e+000 0.00000000e+000]]

 

  • zeros_like는 0으로
  • ones_like 는 1로
  • full_like 은 지정된 값으로
  • empty_like 는 uninitialized values로 채워진다. 

 

메소드 이름이 PyTorch랑 동일해서 기억하기 편할듯 하다.

 

 

Numpy에서 identity matrix 단위 행렬을 만드는 방법은 아래와 같다.

 

np.identity(3)

>> array([[1.,  0.,  0.],
       [0.,  1.,  0.],
       [0.,  0.,  1.]])

 

 

 

 

References:

https://algopoolja.tistory.com/37

https://numpy.org/doc/stable/reference/generated/numpy.zeros_like.html

https://jimmy-ai.tistory.com/84

https://numpy.org/doc/2.1/reference/generated/numpy.identity.html

 

'AI Codes > Numpy' 카테고리의 다른 글

Numpy Random Number Generating  (1) 2025.04.20
Numpy Products  (0) 2025.04.20