python int64_一个numpy int64的坑

python int64_一个numpy int64的坑今天跑一个 tensorflow 代码 由于最后结果需要导出为 json 的文件 所以采用了 json dumps 直接写文件 但是一直报错 Traceback mostrecentca File predict test py line62 injson dump submit fw File home tensorflow pyenv versions 3 5 3

今天跑一个tensorflow代码,由于最后结果需要导出为json的文件,所以采用了json.dumps直接写文件,但是一直报错:

Traceback (most recent call last):

File “predict_test.py”, line 62, in

json.dump(submit, fw)

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/__init__.py”, line 178, in dump

for chunk in iterable:

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 427, in _iterencode

yield from _iterencode_list(o, _current_indent_level)

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 324, in _iterencode_list

yield from chunks

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 403, in _iterencode_dict

yield from chunks

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 324, in _iterencode_list

yield from chunks

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 436, in _iterencode

o = _default(o)

File “/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py”, line 179, in default

raise TypeError(repr(o) + ” is not JSON serializable”)

TypeError: 26 is not JSON serializable

db2e8b62db2a393ac0d56a5a46014e26.png

蒙蔽了很久,怎么26这个数字不可以serializable??

定位到报错代码位置,报错代码如下:

top_indices = []

submit = []

for i in range(n):

diction = {}

diction[“label_id”] = list(preds[i].argsort()[-3:][::-1])

diction[“image_id”] = id_list[i]

submit.append(diction)

with open(‘submit.plk’,’w’) as fw:

json.dump(submit, fw)

好像没有什么问题呀~??

做了个小测试:

In [2]: a = submit[1]

In [3]: a

Out[3]:

{‘image_id’: ‘c532ed79f6c54fb3cf8cea5284.jpg’,

‘label_id’: [25, 13, 15]}

In [4]: b = {‘image_id’: ‘c532ed79f6c54fb3cf8cea5284.jpg’,

…: ‘label_id’: [25, 13, 15]}

In [5]: json.dumps(b)

Out[5]: ‘{“image_id”: “c532ed79f6c54fb3cf8cea5284.jpg”, “label_id”: [25, 13, 15]}’

In [6]: a == b

Out[6]: True

In [7]: json.dumps(a)

—————————————————————————

TypeError Traceback (most recent call last)

in ()

TypeError: 25 is not JSON serializable

明明a 的值 和b 相等,为什么b就可以json.dumps,而 a json.dumps报错,懵逼一会,想想要不查看下25这个对象,原来对于a来说 25 是一个!!!

被狠狠地坑了半个小时~~由于平时做数据处理大家会经常用到numpy的array,所以大家也要注意,虽然都是整形,但numpy.int64和python的整数是不一样的,解决方案,可以用astype(‘in32t’)或者直接用python的int()方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225123.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午10:03
下一篇 2026年3月17日 上午10:04


相关推荐

  • 竹报联动数字技术有限公司:ChatGPT/Grok/Gemini/海外AIGEO优化技术先驱者

    竹报联动数字技术有限公司:ChatGPT/Grok/Gemini/海外AIGEO优化技术先驱者

    2026年3月13日
    1
  • Fragment onResume不执行「建议收藏」

    Fragment onResume不执行「建议收藏」本博客解决的主要问题:在多个fragment切换的时候刷新各自的fragment,一般我们会优先想到onResume(),但是有时不起作用。解决办法:我们可以重写setUserVisibleHint()@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVis

    2022年6月2日
    213
  • Qwt、QChart、QCustomPlot使用

    Qwt、QChart、QCustomPlot使用Qwt、QChart、QCustomPlot使用文档文章目录Qwt、QChart、QCustomPlot使用文档@[toc]效果图比较Qwt1、下载源码2、将Qwt编译成共享库3、添加Qwt4、使用Qwt5、添加帮助文档6、示例QCustomPlot1、下载源码2、使用源码3、将QCustomPlot编译成共享库4、示例QChart1、安装2、示例效果图QwtQcustomplotQChart比较美观方面:Qcustomplot≈Qchart>QwtQ

    2022年10月17日
    4
  • [数学学习笔记]导数的定义

    [数学学习笔记]导数的定义导数的定义 为处的一个增量 这样 称函数 y f x 在处可导 极限值 A 为 y f x 在处的导数 并记作或或导数表示 因变量 y 在自变量处的变化率 例 1 利用导数的定义求函数在 x 3 处的导数 解 例 2 利用导数的定义求函数在 x 0 处的导数 解 导函数的定义 nbsp nbsp 如果函数 f x 在开区间 a b 内可导 那么对于开区间 a b 内的任意一点 x

    2026年3月18日
    2
  • 三阶魔方公式记录

    三阶魔方公式记录第一步 详见魔方小站视频教程 https imofang taobao com p jiaocheng31 htm spm a1z10 4 c s w5003 14960603961 1 6d4723276NiL amp scene taobao shop 第二步 完成底面白色作为底层 视频教程 https imofang taobao com p jiaocheng

    2026年3月19日
    2
  • IntelliJ IDEA 2022 JetbrainsIdesCrack 激活码【2022免费激活】

    (IntelliJ IDEA 2022 JetbrainsIdesCrack 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~HC…

    2022年4月1日
    467

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号