张量流等价于纽比.di

2024-03-28 12:39:56 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有张量流等价于numpy.diff?在

Calculate the n-th discrete difference along given axis.

对于我的项目,我只需要n=1


Tags: the项目numpydiffgivencalculate等价axis
2条回答

我不认为TensorFlow有一个等价物数字差异,所以您必须实现它,这应该不难,因为numpy.diff只是切片和减法:

def diff(a, n=1, axis=-1):
    '''(as implemented in NumPy v1.12.0)'''
    if n == 0:
        return a
    if n < 0:
        raise ValueError(
            "order must be non-negative but got " + repr(n))
    a = asanyarray(a)
    nd = len(a.shape)
    slice1 = [slice(None)]*nd
    slice2 = [slice(None)]*nd
    slice1[axis] = slice(1, None)
    slice2[axis] = slice(None, -1)
    slice1 = tuple(slice1)
    slice2 = tuple(slice2)
    if n > 1:
        return diff(a[slice1]-a[slice2], n-1, axis=axis)
    else:
        return a[slice1]-a[slice2]

试试这个:

def tf_diff_axis_0(a):
    return a[1:]-a[:-1]

def tf_diff_axis_1(a):
    return a[:,1:]-a[:,:-1]

检查:

^{pr2}$

相关问题 更多 >