728x90
- tf.argsort(values, axis=-1, direction='ASCENDING')
arr = [1, 2, 3, 10, 5, 6]
arr_ascending = tf.argsort(arr, axis=-1, direction='ASCENDING')
arr_descending = tf.argsort(arr, axis=-1, direction='DESCENDING')
with tf.Session() as sess:
print(sess.run(arr_ascending))
print(sess.run(arr_descending))
# -----------------------------------
arr2 = [[1, 2],
[4, 8],
[5, 3],
[2, 7]]
print(np.array(arr2).shape)
arr2_ascending_col = tf.argsort(arr2, axis=0, direction='ASCENDING')
arr2_ascengind_row = tf.argsort(arr2, axis=-1, direction='ASCENDING')
with tf.Session() as sess:
print(sess.run(arr2_ascending_row))
print(sess.run(arr2_ascengind_col))
- torch.argsort(input, dim=-1, descending=False)
arr = [1, 2, 3, 10, 5, 6]
print(torch.argsort(torch.tensor(arr), dim=-1, descending=False))
print(torch.argsort(torch.tensor(arr), dim=-1, descending=True))
# -----------------------------------
arr2 = [[1, 2],
[4, 8],
[5, 3],
[2, 7]]
print(torch.argsort(torch.tensor(arr2), dim=0, descending=False))
print(torch.argsort(torch.tensor(arr2), dim=-1, descending=False))
축을 기준으로 정렬된 값을 반환하는것이 아니라 index를 반환한다.
해당 위치의 index를 반환 예를들어서 [1, 3, 2, 4]면 [0, 2, 1, 3]이다.
즉, 첫번째 -> index 0번째 값(1) / 두번째 -> index 2번째 값(2) / 세번째 -> index 1번째 값(3) / 네번째 -> index 3번째 값(4)를 의미하게된다.
- tf.arg_max(input, dimension, output_type=tf.dtypes.int64, name=None)
dimension=1이면 행에서 가장 큰 값을 찾아서 index를 return
dimension=0이면 열에서 가장 큰 값을 찾아서 index를 return
data = tf.constant([[0.421],
[0.234],
[0.421],
[0.123],
[0.885]])
max_value = tf.argmax(input=data, axis=0)
min_value = tf.argmin(input=data, axis=0)
with tf.Session() as sess:
print(sess.run(max_value))
print(sess.run(min_value))
[4]
[3]
- torch.argmax(input)
data = torch.normal(0.0, 1.0, size=[5, 1])
max_value = torch.argmax(input=data)
min_value = torch.argmin(input=data)
print(data)
print(max_value)
print(min_value)
tensor([[-2.1037],
[-1.0173],
[ 0.7168],
[-1.0889],
[-0.8065]])
tensor(2)
tensor(0)
- tf.assign(ref, value, validate_shape=None, use_locking=None, name=None)
ref참고하고 있는 tensor에 value를 부여하는것이다. assign_add 등 사칙연산도 다양하게 적용이 가능하다.
a = tf.Variable(1)
a = tf.assign(a, 2)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(a))
변수를 할당했으므로 tf에서 변수를 반드시 초기화 해주어야한다.
728x90
'Tensorflow' 카테고리의 다른 글
Tensorflow vs Pytorch 명령어 비교 -(5) (0) | 2021.06.02 |
---|---|
Tensorflow vs Pytorch -(4) (0) | 2021.05.19 |
Tensorflow vs Pytorch 명령어 비교 - (3) (0) | 2021.05.17 |
Tensorflow vs Pytorch 명령어 비교 - (2) (0) | 2021.05.15 |
Tensorflow data pipeline 구축 (0) | 2021.05.13 |
댓글