Skip to content
This repository has been archived by the owner on Dec 4, 2019. It is now read-only.

Error when running prediction #22

Open
satyajithj opened this issue May 29, 2019 · 0 comments
Open

Error when running prediction #22

satyajithj opened this issue May 29, 2019 · 0 comments

Comments

@satyajithj
Copy link

I am trying to run the prediction step on my CPU, using a model that is exported from Detectron

Script:

import time

from caffe2.proto import caffe2_pb2
from caffe2.python import core, workspace

from caffe2.python import dyndep
import detectron.utils.env as envu

import cv2
import numpy as np

def import_detectron_ops():
    """Import Detectron ops."""
    detectron_ops_lib = envu.get_detectron_ops_lib()
    dyndep.InitOpsLibrary(detectron_ops_lib)

import_detectron_ops()


predict_net = caffe2_pb2.NetDef()
with open('models/pb_frcnn/model.pb', 'rb') as f:
    predict_net.ParseFromString(f.read())

init_net = caffe2_pb2.NetDef()
with open('models/pb_frcnn/model_init.pb', 'rb') as f:
    init_net.ParseFromString(f.read())

# Load predictor
p = workspace.Predictor(init_net, predict_net)

img = cv2.imread('test/data/aofmknbaftbokjcg.png', \
    cv2.IMREAD_COLOR).astype(np.float32)    # Load image
img = img.swapaxes(1, 2).swapaxes(0, 1)     # Switch to CHW
img = img[None, ...]                        # Add batch size
print(img.shape)                            # Print image shape

start_time = time.time()
results = p.run({'data': img})
end_time = time.time()

print(results)
print('Predict time:', (end_time-start_time), 'seconds')

Result:

Found Detectron ops lib: /home/fuzzybatman/.local/lib/python3.7/site-packages/torch/lib/libcaffe2_detectron_ops_gpu.so
(1, 3, 512, 512)
Traceback (most recent call last):
  File "/home/fuzzybatman/Workspace/ET4399_Extra_Project_Okotech/02_Mask_RCNN/detectron/caffe2pred.py", line 38, in <module>
    results = p.run({'data': img})
RuntimeError: [enforce fail at generate_proposals_op.cc:281] im_info_tensor.sizes() == (vector<int64_t>{num_images, 3}). [0] vs 1 3
Error from operator: 
input: "rpn_cls_probs_fpn2" input: "rpn_bbox_pred_fpn2" input: "im_info" input: "anchor2" output: "rpn_rois_fpn2" output: "rpn_roi_probs_fpn2" name: "" type: "GenerateProposals" arg { name: "spatial_scale" f: 0.25 } arg { name: "pre_nms_topN" i: 12000 } arg { name: "post_nms_topN" i: 2000 } arg { name: "nms_thresh" f: 0.8 } arg { name: "min_size" f: 0 } arg { name: "correct_transform_coords" i: 1 } device_option { } engine: ""frame #0: std::function<std::string ()>::operator()() const + 0x11 (0x7faecbd06441 in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libc10.so)
frame #1: c10::ThrowEnforceNotMet(char const*, int, char const*, std::string const&, void const*) + 0x49 (0x7faecbd06259 in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libc10.so)
frame #2: <unknown function> + 0x1cbd5de (0x7faf0280e5de in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #3: <unknown function> + 0x1829345 (0x7faf0237a345 in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #4: caffe2::SimpleNet::Run() + 0x161 (0x7faf0244e101 in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #5: caffe2::Workspace::RunNet(std::string const&) + 0x3a (0x7faf024855aa in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #6: caffe2::Predictor::run_map_workspace(std::unordered_map<std::string, caffe2::Tensor, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, caffe2::Tensor> > > const&) + 0x242 (0x7faf024f1882 in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #7: caffe2::Predictor::operator()(std::unordered_map<std::string, caffe2::Tensor, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, caffe2::Tensor> > > const&, std::vector<caffe2::Tensor, std::allocator<caffe2::Tensor> >*) + 0x1f (0x7faf024f1cef in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so)
frame #8: <unknown function> + 0x53ccb (0x7faf0b17fccb in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/caffe2_pybind11_state_gpu.cpython-37m-x86_64-linux-gnu.so)
frame #9: <unknown function> + 0x92f7e (0x7faf0b1bef7e in /home/fuzzybatman/.local/lib/python3.7/site-packages/caffe2/python/caffe2_pybind11_state_gpu.cpython-37m-x86_64-linux-gnu.so)
<omitting python frames>
frame #22: __libc_start_main + 0xf3 (0x7faf2edd0f33 in /lib64/libc.so.6)
frame #23: _start + 0x2e (0x561f374f408e in /usr/bin/python3)

Are there dependencies that I am not loading?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant