caffe python层增加输入bottom

本文详细介绍了如何在Faster R-CNN的源码中新增Python层,并向其输入额外数据的过程。具体步骤包括在train.prototxt文件中修改调用python层的设置,改造数据来源的Python层以增加输出,以及在数据输入的Python层中读取新增的数据。

在源码中,作者改造fast rcnn并新增了python层,在我的工作中我需要新传入python层一组数据,修改过程如下:

1、在train.prototxt文件中所有调用python层的地方,增加bottom,也就是对python层增加一组输入数据。在数据来源的那一层增加top,也就是增加一组输出数据。

2、数据来源的data层也是Python层,获得想要增加的数据后,增加一个输出,也就是改造self._name_to_top_map变量。

self._name_to_top_map = {
            'data': 0,
            'rois': 1,
            'labels': 2,
            'img': 3} # 增加的数据

这里要注意,传入gpu的数据只能是矩阵,不能是字符串,因此img变量只能用矩阵表示。然后再增加一个reshape。

# image index
top[3].reshape(1, 1) #想要调用多大维度的数据,就reshape成多大的维度

3、在数据输入的python层中增加对数据的读取,

img = bottom[3].data

修改完毕,成功运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值