Python – tensorflow.argsort()方法
TensorFlow是谷歌设计的开源python库,用于开发机器学习模型和深度学习神经网络。Tensorflow有一个方法argsort(),用于查找排序后的张量的索引。
语法: tf.argsort(values, axis, direction, stable, name)
参数:
- values: 它是一个任意维度的数字张量。
- axis: 它定义了需要做短路的轴。如果没有给定值,默认为-1,并根据最后一个轴进行排序。
- direction: 无论是ASCENDING还是DESCENDING。
- stable: 如果它是真的,那么在平等的情况下,原来的顺序被保持。
- name: 这是一个可选的参数,用于定义操作的名称。
返回:它返回一个int32类型的张量,其形状与数值相同。这个张量包含的索引将给出给定数值的排序顺序。
如果轴或方向无效,将引发ValueError._
示例 1:
# importing the library
import tensorflow
# initializing value
a= [1,5,2.5,10,7,8.5]
# getting the indices for sorted values
b = tensorflow.argsort(a,axis=-1,direction='ASCENDING',stable=False)
# printing the result
print('Indices:'b)
print('Sorted values')
#printing the sorted value
for i in b:
print(a[i])
输出:
Indices: tf.Tensor([0 2 1 4 5 3], shape=(6,), dtype=int32)
Sorted Values
1
2.5
5
7
8.5
10
例子2:在这个例子中,错误的值被传递给了方向。这将引发ValueError。
# importing the library
import tensorflow
# initializing value
a= [1,5,2.5,10,7,8.5]
# getting the indices for sorted values
b = tensorflow.argsort(a,axis=-1,direction='ASC',stable=False)
输出:
ValueError: ASC should be one of ASCENDING, DESCENDING