【杂】解决关于mean(0)理解错误引发的程序bug

一、环境和解释器要一起配置好

invalid syntax

发生你在终端激活了一个环境,但 VSCode 依然使用之前的解释器的情况。

解释器设置影响了 VSCode 中运行 Python 脚本、调试、代码补全等功能的行为。VSCode 会根据你选择的解释器来执行这些操作。
二、关于mean(0)引发的错误:

1、

[N, bs * T, C, W, H]

[T, N* bs,C,W,H]

mean(0) ---->[N* bs, C,W,H]

2、

[bs*T, C,W,H]

[T, bs, C, W, H]

mean(0) ---->[bs, C, W, H]

[ [bs,C,W,H],

[bs,C,W,H],...]

stack(0)---->[N * bs, C,W,H]
1和2的逻辑肯定是不一样的,跟view或者reshape无关,就是对mean(0)方法理解不到位。

出错肯定是自己对一些东西的理解出错了,肯定是想当然了 ,那就去一点点排查到底哪里出错了。
mean(dim)方法

bash 复制代码
tensor = torch.randn(3, 4, 5)
mean_along_dim1 = tensor.mean(1)
print(mean_along_dim1.shape)  # 应该输出 torch.Size([3, 5])

mean_along_dim1[i, j] 是原始张量 tensor[i, :, j] 中所有元素的均值。

直观的操作相当于:[i,0,j]+[i,1,j]+[i,2,j]+[i,3,j] / 4 ---> [i,j],i,j为某一固定实数

所以:

[T, N* bs,C,W,H]

mean(0) ---->[N* bs, C,W,H]
这个过程把N考虑进来一起加,肯定是不对的。

三、杂

  1. label_onehot = F.one_hot(label, 10).float()

    RuntimeError: one_hot is only applicable to index tensor.

    PyTorch 中的索引张量必须包含整数值。确保 label 是一个整数张量,可以通过使用 .long()

  2. squeeze是要赋值的,除了extend都要赋值

    lua 复制代码
    label_onehot = label_onehot.squeeze(1)
  3. 命令:pip3 show

相关推荐
哦豁灬1 小时前
NCNN 学习(2)-Mat
深度学习·学习·ncnn
鸽芷咕2 小时前
【Python报错已解决】xlrd.biffh.XLRDError: Excel xlsx file; not supported
开发语言·python·机器学习·bug·excel
十有久诚2 小时前
E2VPT: An Effective and Efficient Approach for Visual Prompt Tuning
人工智能·深度学习·提示学习·视觉语言模型
王豫翔2 小时前
OpenAl o1论文:Let’s Verify Step by Step 快速解读
人工智能·深度学习·机器学习·chatgpt
qq_435070783 小时前
python乱炖6——sum(),指定维度进行求和
pytorch·python·深度学习
L10732034823 小时前
深度学习笔记17_TensorFlow实现咖啡豆识别
笔记·深度学习·tensorflow
醒了就刷牙4 小时前
机器翻译与数据集_by《李沐:动手学深度学习v2》pytorch版
pytorch·深度学习·机器翻译
靡不有初1115 小时前
深度学习领域相关的专业术语(附带音标解释)
深度学习
AI第一基地5 小时前
推荐系统-电商直播 多目标排序算法探秘
人工智能·深度学习·排序算法·transformer·知识图谱·word2vec
我是瓦力5 小时前
球形包围框-Bounding Sphere-原理-代码实现
人工智能·python·深度学习·计算机视觉·3d