python中遇到的错误

错误:Can’t call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.

错误原因:想要转换的张量带有梯度,直接将其转换为numpy数据将破坏计算图

错误:预测结果执行着就变nan了

在这里插入图片描述
原因:忘记给全连接层加激活函数

错误:预测值是nan

解决:做的是回归,更换激活函数,将relu更换为sigmoid

错误:list.sort()函数输出为None

如果在重新给列表排序的时候,给它嵌套到其它语句中,比如说赋值语句,或者print语句,最后打印输出的结果都是None。
例如
错误1:list=list.sort()
错误2:print(list.sort())
解决:
单独作为一行出现
例如
a = [5, 2, 3, 1, 4]
a.sort()
print(a)

错误:KeyError Traceback (most recent call last)

背景:训练集和测试集转成dataset形式的,然后random_split,最后DataLoader
解决了两次
1:更新dataframe后index忘记调,random_split中应该是乱的,迭代失败
2:忽视了进dataset的数据是dataframe类型的,dataset中不能直接data[i]索引行

错误:RuntimeError: multi-target not supported at C:/w/b/windows/pytorch/aten/src\THCUNN/generic/ClassNLLCriterion.cu:15

在使用交叉熵损失函数的时候,target的形状应该是和label的形状一致或者是只有batchsize这一个维度的。
如果target是这样的【batchszie,1】就会出现上述的错误。应该用squeeze()函数降低纬度。

网络不学习

  1. 特征提取的不好
  2. 模型用的不对
  3. 损失函数不行

数据不均衡

https://blog.csdn.net/login_sonata/article/details/54290402

TypeError: ‘str’ object does not support item assignment

str_ = ‘abcdefg’
str_[1] = str_[2]
解决方法:在python中,字符串是不可变对象,不能通过下标的方式直接赋值修改。同样的不可变对象还有:数字、字符串和元组。
将字符串数据转为list,list(str_)即可

‘utf-8’ codec can’t decode byte 0xbe in position 0: invalid start byte

编码问题,使用Notepad++打开数据集文件,将编码转为UTF-8即可
在这里插入图片描述

SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: malformed \N character escape

没有处理路径中的\转义字符,路径前加r或者写成\

AttributeError: ‘float’ object has no attribute ‘decode’

读取存储为.csv格式的文件,报属性错误。
解决方法:在read_csv后面加上.astype(str)

有编码解码问题,可以尝试

file = open(path, encoding=‘gb18030’, errors=‘ignore’)
file = open(‘D://Document And Settings3/lqz/Desktop/Walden2.txt’, ‘w’)

encoding = ‘gbk’
encoding = ‘utf-8’
encoding = ‘utf-8-sig’ (似乎可以解决Excel打开保存的csv文件中文乱码的问题)
encoding = ‘gb18030’
encoding = ‘gb18030’, errors = ‘ignore’

to_csv() 参数

header=None 不要表头,也就是每列的名字
index=False 不要行号
encoding=。。。。

open()函数的参数说明

‘r’:默认值,表示从文件读取数据。

‘w’:表示要向文件写入数据,并截断以前的内容

‘a’:表示要向文件写入数据,添加到当前内容尾部

‘r+’:表示对文件进行可读写操作(删除以前的所有数据)

‘r+a’:表示对文件可进行读写操作(添加到当前文件尾部)

‘b’:表示要读写二进制数据

下载sentence_transformers包

pip install sentence_transformers -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

使用mean函数求list的平均值

必须这样导包才行。。。import numpy 不行。。。。

from numpy import *
list_ = [1,2,5,6]
print(mean(list_))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值