Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从100x100 pytorch张量获得一个10x10的补丁,边界周围有环面样式的环绕_Python_Arrays_Pytorch_Slice - Fatal编程技术网

Python 从100x100 pytorch张量获得一个10x10的补丁,边界周围有环面样式的环绕

Python 从100x100 pytorch张量获得一个10x10的补丁,边界周围有环面样式的环绕,python,arrays,pytorch,slice,Python,Arrays,Pytorch,Slice,如何从100x100 pytorch张量中获得10x10面片,并附加一个约束条件,即如果面片超出阵列的边界,则它将环绕边缘(就像阵列是一个圆环,顶部与底部相连,左侧与右侧相连) 我写了这段代码来完成这项工作,我正在寻找更优雅、高效和清晰的东西: def shift_矩阵(a,距离)->张量: x、 y=距离 a=火炬。cat((a[x:],a[0:x]),dim=0) a=火炬。cat((a[:,y:,a[:,:y]),dim=1) 归还 def随机移位矩阵(a)->张量: 返回移位矩阵(a,n

如何从100x100 pytorch张量中获得10x10面片,并附加一个约束条件,即如果面片超出阵列的边界,则它将环绕边缘(就像阵列是一个圆环,顶部与底部相连,左侧与右侧相连)

我写了这段代码来完成这项工作,我正在寻找更优雅、高效和清晰的东西:

def shift_矩阵(a,距离)->张量:
x、 y=距离
a=火炬。cat((a[x:],a[0:x]),dim=0)
a=火炬。cat((a[:,y:,a[:,:y]),dim=1)
归还
def随机移位矩阵(a)->张量:
返回移位矩阵(a,np.random.randint(低=0,高=a.size())
def random_面片(a,大小)->张量:
全移位矩阵=随机移位矩阵(a)
返回全移位矩阵[0:size[0],0:size[1]]
我觉得带负指数片的东西应该可以用。不过我还没找到

你可以。

你要找的

def random_patch(a,大小)->张量:
移位=np.random.randint(低=0,高=a.size())
返回火炬。滚动(a,移位=移位,dims=(0,1))[:大小[0],:大小[1]]

我确实在找这个。您知道是否有任何方法可以避免滚动整个阵列,而只是拉出其中的一个子集?