东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3682|回复: 0
打印 上一主题 下一主题

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

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14431
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 (199.11 KB, 下载次数: 118)

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 12:48 , Processed in 0.207312 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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