numpy 中的高维数组可以使用其自带的 flatten 函数转化成 1 维数组。 在优化问题的梯度下降求解过程中,把高维的梯度变成 1 维数组是很重要的,方便求自适应步长。 把张量拉平容易,怎么把它复原到原来的维度呢? 这自然想到把原本的张量维度保存下来,下面介绍这个小技巧: from functools import partial def flatten(x): original_shape = x.shape return x.flatten(), partial(np.reshape, newshape=original_shape) 上面这个 flatten 函数