问题标签 [stride]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 中跨步对 int 数组进行切片?
我正在学习Java。
在 Python 中,我可以:
我可以在 Java 中使用任何方法在 int 数组上执行此操作吗?
Edit1:对不起这个不好的例子。my_list [::-2] 怎么样?
Edit2:我的意思是 my_list [::-2] 就像
编辑3:Python中的跨步切片是每一步(步幅)“检查”列表中的项目。如果步骤为负,Python将从列表末尾到列表开头检查项目。例如:
arrays - 从指针数组和特定步长/步长获取数据
我有一个 C 指针数组,我想从中获取 Swift 中的数据。但是,我需要获取具有特定步幅/步长且没有 for 循环的数据以保持高效。
要获取所有数据,我会这样做:
但我不知道如何获得未跨步的数据。我会考虑使用 Swift 函数 stride,但以下(当然)不起作用:
是否有一种有效的方法来做到这一点并避免 for 循环?
arrays - 转置 numpy 数组对其步幅和数据缓冲区的影响
假设给你一个 numpy 数组
让我们来看看它的转置。
我对 numpy 文档的理解是,转置只修改了数组的步幅,而不是它的底层数据缓冲区。
我们可以通过运行来验证
但是,数据似乎也被修改了
根据我的理解,当预期的行为应该是y
的数据缓冲区与 的数据缓冲区保持一致时x
,只有步幅发生变化。
为什么我们看到不同的数据缓冲区y
?也许该data
属性没有显示底层内存布局?
copy - HOST 和 DEVICE 之间的跨步复制 clEnqueueWriteBufferRect
我寻找一种将数据从两个 HOST 缓冲区传输到单个 DEVICE 缓冲区的方法,方法如下:
下面是两个主机缓冲区 Host_buffer_1 = [0 5] // 以等于 5 的步幅复制到设备 Host_buffer_2 = [1 2 3 4 6 7 8 9] // 4 个数字的每个区域以一个步幅复制
我需要得到的设备缓冲区是设备缓冲区 [0 1 2 3 4 5 6 7 8 9]
我必须先在 HOST 上实现它,然后再正常传输到设备,还是你知道使用 clEnqueueWriteBufferRect 函数来实现它的方法,但是这个函数没有任何 stride 参数,对吗?
谢谢
swift - Swift 跨步函数,不能修改结束值
在 Swift 中,c 风格的 for 循环已被弃用,所以我切换到 stride 函数。
在第一个函数中,我使用了 c 风格的 for 循环。在第二个函数中,我使用了 stride 函数。createNumbers 输出为 [8, 7, 6, 5, 4, 3, 2] createNumbers2 输出为 [8, 7, 6, 5, 4] 我试图获得第一个输出。
这意味着如果我更改 endIdx 值,stride 函数将被忽略。有没有办法解决这个问题,使用 stride,这样 createNumbers2 也打印 3 和 2?
swift - 在 Swift 2.2 中的 UInt 上使用 stride() 将无法编译
我正在尝试对 UInt 变量使用 stride() 函数,但代码无法编译:
编译错误是:
无法使用类型为“(to:UInt,by:UInt)”的参数列表调用“stride”
Swift 2.2 文档指出它应该是可能的:http ://swiftdoc.org/v2.2/type/UInt/#func-stride-to_by_
这是一个 Swift 错误还是我做错了什么?
filter - 步幅的张量流输出
在尝试使用 Tensorflow 时,我遇到了一个关于步幅的小问题。
我有一个大小为 67*67 的图像,我想应用一个大小为 7*7 且步幅为 3 的过滤器。输出层的边长应为 20,计算公式如下:
其中n是输出层边缘长度(在本例中为 20)。其计算方式如下:
如果我们只考虑第一行(因为其他行相同),那么在第一行的 67 个元素中,前 7 个将进入输出层的第一个单元格。然后过滤器向右移动 3 个元素,这使得过滤器覆盖元素 4 到 10,这将对应于输出层的第 2 个元素。以此类推。每次我们推进 3 个元素,我们将推进的总次数(计算它涵盖 7 个元素的第一步)是n。因此,我使用的等式。
然而,我从 Tensorflow 得到的输出层是 23,即 67/3 并四舍五入到下一个整数。我不明白这背后的原因。
有人可以解释为什么在 Tensorflow 中这样做吗?
谢谢!
python - numpy stride_tricks.as_strided 与滚动窗口的列表理解
在处理滚动窗口时,我以列表理解之类的方式编写函数
最近我发现numpy.lib.stride_tricks.as_strided
它被广泛用于滚动窗口(例如,this post),即使它是一个“隐藏”功能。
在这个关于为什么 stride_tricks.as_strided 没有记录的问题中,提到了
故意地!这很危险!它只是帮助实现broadcast_arrays() 的低级管道。
stride_tricks.as_strided
与列表理解或 for 循环相比有什么优势吗?我看了一下源代码,stride_tricks
但收获甚少。