一篇普通的bug日志——bug的尽头是next吗?

这篇具有很好参考价值的文章主要介绍了一篇普通的bug日志——bug的尽头是next吗?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

method' object is not subscriptable,学而时习之,bug,python,numpy


[bug 1] TypeError: ‘method’ object is not subscriptable

问题代码:

print(item.full_name(), x.shape, item.parameters()[0].shape, item.parameters[1].shape)

原因:
parameters后面少了个括号。

method' object is not subscriptable,学而时习之,bug,python,numpy


[bug 2] TypeError: unsupported format string passed to numpy.ndarray.format

这段报错可以用如下代码重现出来:

import numpy as np
x = np.array([1.])
print('{:4f}'.format(x))

原因:
传给{:4f}的应该是一个浮点数数值,而 x 是 numpy 的数组,于是类型不匹配。我们只需将 x 转为浮点型即可,正确代码如下:

import numpy as np
x = np.array([1.])
x = float(x)
print('{:4f}'.format(x))

[bug 3] ValueError:Hint: Expected dtype() == paddle::experimental::CppTypeToDataType::Type()

描述
学习预训练模型的 fine-tune 时,将 AI Studio 上能跑的代码拷下来,到本地就报错了,我真的一脸懵。

当时上网查 ValueError,大多说将 ‘float64’ 换成 'float32‘,但我将输入的特征astype('float32')后,还是没用。

报错信息

ValueError: (InvalidArgument) The type of data we are trying to retrieve does not match the type of data currently contained in the container.
  [Hint: Expected dtype() == paddle::experimental::CppTypeToDataType<T>::Type(), but received dtype():5 != paddle::experimental::CppTypeToDataType<T>::Type():7.] (at ..\paddle\phi\core\dense_tensor.cc:137)
  [operator < accuracy > error]

解决

最后发现要改的是这里:

return im, int(grt)

int是 python 内置的数据类型,我将它转成 numpyint64 就好了。真没想到,python 内置的 int 居然不行。

# grt原本是给字符串
grt = np.int64(int(grt))
return im, grt

[bug 4] CondaSSLError: Encountered an SSL error.

使用 pipconda 安装 python 包时,如果开了梯子,可能会出现这样的报错,把梯子关掉就好了。

完整的报错如下:

CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue.
Exception: HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443):
 Max retries exceeded with url: /anaconda/pkgs/main/win-64/current_repodata.json
  (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol(_ssl.c:1125)')))

翻译:


CondaSSLError:遇到 SSL 错误。很可能是证书验证问题。 
异常:HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443):
超出最大重试次数,网址为:/anaconda/pkgs/main/win-64/current_repodata.json 
(由 SSLError(SSLEOFError(8'EOF 发生违反协议 (_ssl.c:1125)')))

[bug 5] pip install paddleclas失败

描述
一开始看到好像是faiss包的问题,一顿操作之后,我把 faiss 包下下来了,但还是无法下载 paddleclas。这应该是 python 版本的问题,现在的版本是 python3.10.6,但我之前在 python3.8.4 的版本下使用 pip 下载成功了。

处理方案
从 github 上下载 PaddleClas 的代码库后,直接 import 导入,跳过 pip 这一步。

import sys
sys.path.append('D:/code_all/gitCode/PaddleClas')  # 这里是代码库的路径
import ppcls

可能编辑器会提示 "没有名称为'ppcls'的模块”,但不用管,只要运行时不报错就行。因为sys.path.append()在运行的时候才会执行,而在它执行之前你确实没有 ppcls 这个包。


[bug 6] 想删除原来的文件夹后新建一个(逻辑错误)

错误代码片段:

import os
import shutil

isExist = os.path.exists(saveDir)
if isExist and deleteOld:
    shutil.rmtree(saveDir)
if not isExist:
    os.makedirs(saveDir)

但如果原本路径saveDir存在,则isExistTrue,执行删除,但是后面isExist依然为True,并不会重新创建路径。

修改:创建前再插入一段判断。

isExist = os.path.exists(saveDir)
if isExist and deleteOld:
    shutil.rmtree(saveDir)
isExist = os.path.exists(saveDir)
if not isExist:
    os.makedirs(saveDir)

文章来源地址https://www.toymoban.com/news/detail-786767.html

到了这里,关于一篇普通的bug日志——bug的尽头是next吗?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【已解决TypeError: ‘dict‘ object is not callable】

    情况1: 取字典内容的时候使用的是() 解决: 将()改为[ ] 情况2: 原来已经定义过dict函数,此时想使用python内置函数就会报错 可以看到如果我们先定义一个dict,那内置函数就会报错。 解决: 将之前定义的dict函数删掉 删除方法:你可以直接删掉函数重新运行,也可以

    2024年02月15日
    浏览(46)
  • TypeError: ‘float‘ object is not subscriptable 已解决

    其实就是个小问题,但是爆出来的时候也很莫名其妙。因为之前都跑得好好的,只是换了不同的文件去跑才出的问题,关键是不同的文件要处理的内容和格式都是完全一样的,一个顺利跑完,一个就报TypeError: ‘float’ object is not subscriptable这个错,就非常无语。接下来就是看

    2024年02月11日
    浏览(47)
  • python 报错TypeError: ‘float‘ object is not callable

    python公式中少打了乘号“*”,如下图所示 一般是变量名与函数冲突,如本文中前面代码用到sum,后面直接用sum()函数同样报错,下图: 检查公式是否少打“*”号,python中对格式要求比较严格,不能直接用数学中省略符号的算式 调用函数,sum()函数用np.sum()函数 python报

    2024年02月10日
    浏览(43)
  • Required request parameter ‘name‘ for method parameter type String is not present 报错解决方法

    注解 支持的类型 支持的请求类型 支持的  Content-Type 请求示例 @PathVariable url GET 所有 /test/{id} @RequestParam url GET 所有 /test?id=1 @RequestBody Body POST/PUT/DELETE/PATCH json {    \\\"id\\\" : 1 }      

    2024年02月11日
    浏览(43)
  • pip报TypeError: ‘type‘ object is not subscriptable错误

    因为安装 Manim库,中间下载 colour 组件时因为更新pip版本到 23.1.2 ,与python3.9.0 适配的 pip version 19.2.3 版本矛盾,导致后续无法正常使用python,出现如下报错: 修复 pip 的思路很简单,出问题的并不是 python ,而是因为 pip 的版本等级太高,因此想办法能够把 pip 的版本降低就可

    2024年02月15日
    浏览(48)
  • 【Python】成功解决TypeError: ‘float‘ object is not iterable

    【Python】成功解决TypeError: ‘float’ object is not iterable 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、

    2024年03月09日
    浏览(105)
  • python常见错误-TypeError: ‘int‘ object is not iterable

    可能大家在Python编程过程中经常会遇到​ ​TypeError: \\\'int\\\' object is not iterable​ ​的错误。这是因为我们尝试迭代一个整数对象,但Python无法迭代整数。 这个错误经常是用for循环迭代整数。例如以下代码: 运行以上代码会得到以下错误信息:TypeError: \\\'int\\\' object is not iterable 要解

    2024年04月14日
    浏览(38)
  • Django代码中的TypeError ‘float‘ object is not callable

    学习使用Django进行网页爬取取决于你对Python、Django框架和网络爬虫的熟悉程度。以下是一些关键点,总的来说,如果你已经具备Python和Django的基础知识,并对网页爬虫有一定了解,那么学习使用Django进行网页爬取将会比较容易。如果你是一个完全的初学者,那么可能需要更多

    2024年01月24日
    浏览(46)
  • 【异常】SpringMVC报错Required URI template variable ‘a‘ for method parameter type String is not present

    【异常】记一次因SpringMVC @GetMapping注解错误使用,导致SQLParsingException: You have an error in your SQL syntax 【异常】记一次因注解@RestController没加(@RestController不会用),导致无法调用Controller层的方法 【异常】Required URI template variable ‘a‘ for method parameter type String is not present 【异常

    2023年04月15日
    浏览(48)
  • spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable

    菜鸟笔者在运行下面代码时发生了报错: 报错描述如下:  显然这是传入的数据类型发生了错误: 因为我们试图对整数对象执行下标操作,而这是不允许的。 原来flatMap底层通过取下标来展开元素 如果rdd集合里面有非可迭代对象(如int元素)则会报错TypeError: \\\'int\\\' object is n

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包