tensorflow - 在空间轴上计算 Pytorch 中的方差
问题描述
我正在尝试计算 Pytorch 中的方差,但无法在多个轴上进行。
我在 Tensorflow 中做过类似的事情,但无法在 Pytorch 上做,因为 torch.var 函数将 int 作为维度而不是轴。 下面的代码是通道最后一个代码,我希望 axes=[2,3]
Lambda(lambda x: tf.nn.moments(x, axes=[1, 2]))
例如,如果 input_dims = (5, 10, 25, 25) 那么 output_dims 应该是 (5,10, 1, 1)。
解决方案
您可以做的一件事是在应用该方法tensor.view()
之前将所有要计算方差的维度展平为一个维度:var()
torch.var(x.view(x.shape[0], x.shape[1], 1, -1,), dim=3, keepdim=True)
我曾经keepdim=True
保留我们计算方差的维度以获得所需的输出形状。
推荐阅读
- python-3.x - 从截断的高斯分布生成 numpy 向量化值
- reverse-engineering - 如何使用 Ollydbg 对软件进行逆向工程
- r - R中的二进制矩阵,每列中都有特定的矩阵
- regex - Vim 的替代命令可以将递归模式处理为 sed 的“t labe”吗?
- javascript - 从 Json 值中读取
- java - 构建 NeuralNetConfiguration 配置类时出现 deeplearning4j 错误:org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException
- node.js - MongoDB 聚合查询,基于参数返回模型上的 refs 集合
- python - f.write 只写入未更改的变量?
- reactjs - React 表单失去了对更新的关注
- c# - 索引超出范围。如何解决