jwyang / fpn.pytorch

Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection
MIT License
952 stars 221 forks source link

longtensor and reciprocal #31

Open planckztd opened 5 years ago

planckztd commented 5 years ago

Loading pretrained weights from data/pretrained_model/resnet101_caffe.pth /home/ztd/anaconda2/envs/py2.7_tf1.4_tff/lib/python2.7/site-packages/torch/nn/functional.py:1749: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details. "See the documentation of nn.Upsample for details.".format(mode)) /test/frcnn_pytorch/fpn_torch_10_16/lib/model/rpn/rpn_fpn.py:79: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument. rpn_cls_prob_reshape = F.softmax(rpn_cls_score_reshape) Traceback (most recent call last): File "/test/frcnn_pytorch/fpn_torch_10_16/trainval_net.py", line 330, in roi_labels = FPN(im_data, im_info, gt_boxes, num_boxes) File "/home/ztd/anaconda2/envs/py2.7_tf1.4_tff/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, kwargs) File "/test/frcnn_pytorch/fpn_torch_10_16/lib/model/fpn/fpn.py", line 187, in forward rois, rpn_loss_cls, rpn_loss_bbox = self.RCNN_rpn(rpn_feature_maps, im_info, gt_boxes, num_boxes) File "/home/ztd/anaconda2/envs/py2.7_tf1.4_tff/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, *kwargs) File "/test/frcnn_pytorch/fpn_torch_10_16/lib/model/rpn/rpn_fpn.py", line 109, in forward rpn_data = self.RPN_anchor_target((rpn_cls_score_alls.data, gt_boxes, im_info, num_boxes, rpn_shapes)) File "/home/ztd/anaconda2/envs/py2.7_tf1.4_tff/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(input, kwargs) File "/test/frcnn_pytorch/fpn_torch_10_16/lib/model/rpn/anchor_target_layer_fpn.py", line 137, in forward positive_weights = 1.0 / num_examples File "/home/ztd/anaconda2/envs/py2.7_tf1.4_tff/lib/python2.7/site-packages/torch/tensor.py", line 320, in rdiv return self.reciprocal() * other RuntimeError: reciprocal is not implemented for type torch.cuda.LongTensor

Process finished with exit code 1

I dont know how to solve this

HeverLaw commented 5 years ago

Did you solve it? I got the same issue. At the same time, I got this "Exception NameError: "global name 'FileNotFoundError' is not defined" in <bound method _DataLoaderIter.del of <torch.utils.data.dataloader._DataLoaderIter object at 0x7fe12c6e2b10>> ignored"

tianyolanda commented 5 years ago

I solve this by change num_exmaples from type long to float before divide operation. Specifically, add one line in anchor_target_layer_fpn.py", line 136:

            num_examples = torch.sum(labels[i] >= 0)
            num_examples = num_examples.float() 
            positive_weights = 1.0 / num_examples
            negative_weights = 1.0 / num_examples