记录一次pytorch训练模型遇到的报错

这篇博客详细介绍了在深度学习模型训练过程中遇到的常见错误,包括状态字典缺失项、类型错误、输入长度不足以及形状不匹配的问题,并提供了相应的解决策略。对于状态字典加载时的不严格匹配问题,可以通过设置`strict=False`来解决;类型错误通常是由于保存和加载方式不一致导致,需要确保保存和加载的对象类型对应;输入长度错误可以通过信号处理函数`filtfilt`解决;形状不匹配问题通常出现在数据预处理阶段,需要确保所有数据维度一致,可以使用`flatten`或`reshape`转换数组形状。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Missing key(s) in state_dict: "first_conv.bias", 
    1. 解决设置:model.load_state_dict(checkpoint,strict=False)
  2.  TypeError: 'Generator' object is not subscriptable
    1. 解决:将保存和加载统一(比如保存的是模型,就加载整个模型之后再load_state,如果保存的是超参数,则直接放入模型即可,不用load_state了)
  3.  报错:ValueError: The length of the input vector x must be greater than padlen, which is 18.
    1. 解决:y = signal.filtfilt(b, a, x,axis=0) 
  4. 报错:ValueError: operands could not be broadcast together with shapes (323596,2) (323596,)
    1. 原因:输出查看原始仓库中的数据的x的维度是一维的(如(96161,)),而新加入的数据的维度是二维的(如(321199, 2),(549108, 2))
    2. 错误解决:x_tmp=[token for st in x for token in st] 这样会把numpy变成了list,就没有shape属性了
    3. 正确解决:有shape属性的都是array可直接使用flatten将其变为1维的,如果需要变成其他维度可以使用reshape
  5. Expected weight to be a vector of size equal to the number of channels in input, but got weight of shape [512] and input of shape [512, 7622]
    1. 解决:将input进行转置
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值