人工智能视频教程 ai vip技术 人工智能数学基础 爬虫 python机器学习 tensorflow深度学习 20+个企业AI实战项目

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 55|回复: 0

[课堂笔记] TypeError: slice indices must be integers or None or have an __index__ method

[复制链接]

791

主题

965

帖子

9818

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
9818
QQ
发表于 2019-8-10 17:17:03 | 显示全部楼层 |阅读模式


bbox_targets[ind, start:end] = bbox_target_data[ind, 1:]
TypeError: slice indices must be integers or None or have an __index__ method



出错原因:
可能是源代码发布的时候,numpy 是支持浮点数作为索引的,但是在 numpy1.12.0 之后,numpy 只能用整数作为索引。所以,解决办法有两种:
第一种是卸载当前的 numpy,安装回以前的 1.11.2 版本,但是同时安装的 opencv 版本也得退回老版本,因为新版本的 opencv3.1 依赖于新版本的 numpy,相同的依赖问题还有matplotlib。因此的重装回 openCV2.4.13, matplotlib1.5.1,当然这种办法比较麻烦;
第二种办法是找到使用浮点数作为 numpy 索引的相关代码,将其强制转换为 int 型:


修改
py-faster-rcnn/lib/rpn/proposal_target_layer.py 第124行
强转为int类型   cls = int(clss[ind])






proposal_target_layer.png
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备18018285号-1 )

GMT+8, 2019-8-20 11:48 , Processed in 0.193945 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表