728x90
- tf.tile(input, multiples, name=None)
w = tf.constant([[1], [2]])
v = tf.tile(w, [3, 4])
with tf.Session() as sess:
print(sess.run(w))
print(sess.run(w).shape)
print(sess.run(v))
print(sess.run(v).shape)
[[1]
[2]]
(2, 1)
[[1 1 1 1]
[2 2 2 2]
[1 1 1 1]
[2 2 2 2]
[1 1 1 1]
[2 2 2 2]]
(6, 4)
- torch_tensor.repeat((num, ...)
w = torch.tensor([[1], [2]])
w.repeat((3, 4))
tensor([[1, 1, 1, 1],
[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 2]])
특정 tensor를 뒤에 원하는 값 만큼 곱해서 복제한다.
- tf.expand_dims( input, axis=None, name=None, dim=None)
t = tf.constant([[2, 2],
[2, 2]])
with tf.Session() as sess:
print(sess.run(tf.shape(t)))
print(sess.run(tf.shape(tf.expand_dims(t, 0))))
print(sess.run(tf.shape(tf.expand_dims(t, 1))))
print(sess.run(tf.shape(tf.expand_dims(t, -1))))
[2 2]
[1 2 2]
[2 1 2]
[2 2 1]
- torch.unsqueeze(input, dim)
t = torch.tensor([[2, 2],
[2, 2]])
print(torch.unsqueeze(t, 0).size())
print(torch.unsqueeze(t, 1).size())
print(torch.unsqueeze(t, -1).size())
torch.Size([1, 2, 2])
torch.Size([2, 1, 2])
torch.Size([2, 2, 1])
원하는 곳의 특정 차원을 늘려준다. 주로 연산의 shape를 맞춰주기 위해서 많이 사용된다.
- tf.squeeze( input, axis=None, name=None, squeeze_dims=None)
t = tf.constant([[1],
[2],
[1],
[1]])
with tf.Session() as sess:
print(sess.run(tf.shape(t)))
print(sess.run(tf.shape(tf.squeeze(t))))
print(sess.run(tf.squeeze(t)))
[4 1]
[4]
[1 2 1 1]
- torch.squeeze(input, dim)
t = torch.tensor([[1],
[2],
[1],
[1]])
print(t.size())
print(torch.squeeze(t).size())
print(torch.squeeze(t))
torch.Size([4, 1])
torch.Size([4])
tensor([1, 2, 1, 1])
차원이 1인곳을 없애준다. 계산을 마친후에 원래의 차원으로 되돌려줄때 사용된다.
728x90
'Tensorflow' 카테고리의 다른 글
Tensorflow vs Pytorch 명령어 비교 -(5) (0) | 2021.06.02 |
---|---|
Tensorflow vs Pytorch -(4) (0) | 2021.05.19 |
Tensorflow vs Pytorch 명령어 비교 - (2) (0) | 2021.05.15 |
Tensorflow vs Pytorch 명령어 비교 (0) | 2021.05.14 |
Tensorflow data pipeline 구축 (0) | 2021.05.13 |
댓글