You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快速倒置视频数组结构实现像素维度与时间维度互换

优化实现方案

你需要的本质是数组轴重排操作,直接使用Numpy内置的向量化操作即可完全替代三层Python循环,功能完全等价,速度可提升几个数量级:

import numpy as np

def remap_image(seq):
    seq = np.asarray(seq)
    # 轴顺序调整:将原来第2位的时间步维度移动到第0位,保持高、宽维度顺序不变
    return np.transpose(seq, axes=(2, 0, 1)) / 100.0

也可以用语义更清晰的moveaxis实现,效果完全一致:

def remap_image(seq):
    seq = np.asarray(seq)
    return np.moveaxis(seq, source=2, destination=0) / 100.0

原代码慢的原因

原实现用了三层Python原生循环逐元素赋值,Python循环的解释器开销非常高,处理大分辨率、多帧的视频数据时会被无限放大。而Numpy的轴重排、数值运算都是在底层C层面执行,轴重排操作仅调整数组的元信息,不会产生数据拷贝开销,数值运算也是批量执行,没有逐元素的解释器开销。


内容的提问来源于stack exchange,提问作者Boio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:45:03