Giter Club home page Giter Club logo

preciseroipooling's People

Contributors

lerohiso avatar rasaford avatar vacancy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

preciseroipooling's Issues

About optimization-based bounding box refinement

Hi, thanks for your great work! I've been very interested in optimization-based bounding box refinement! But I have a question about it.
The bbox is in the form of (x_1, y_1, x_2, y_2), its coordinate values only participate in PrRoiPooling calculation part, so how to update bbox via back propagation.
I try to make it clear by implementing it on Pytroch, but the (grad, b_j) I got is None!
Could you tell me more details about this?
Thank you!

compiling error when executing ./travis.sh

My pytorch version is 0.4.0 and I meet the compiling error as follows:
Working directory: /home/ziwen/All/PreciseRoIPooling/pytorch/prroi_pool/src
Compiling prroi_pooling kernels by nvcc...
Working directory: /home/ziwen/All/PreciseRoIPooling/pytorch/prroi_pool
Building python libraries...
generating /tmp/tmpqoxl3f7f/__prroi_pooling.c
running build_ext
building '__prroi_pooling' extension
creating home
creating home/ziwen
creating home/ziwen/All
creating home/ziwen/All/PreciseRoIPooling
creating home/ziwen/All/PreciseRoIPooling/pytorch
creating home/ziwen/All/PreciseRoIPooling/pytorch/prroi_pool
creating home/ziwen/All/PreciseRoIPooling/pytorch/prroi_pool/src
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DWITH_CUDA -I/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/THC -I/usr/local/cuda/include -I/home/ziwen/anaconda3/envs/gan/include/python3.6m -c __prroi_pooling.c -o ./__prroi_pooling.o
In file included from /home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THVector.h:5:0,
from /home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/TH.h:12,
from __prroi_pooling.c:433:
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h: In function ‘TH_polevl’:
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h:134:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (size_t i = 0; i <= len; i++) {
^
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h:134:3: note: use option -std=c99 or -std=gnu99 to compile your code
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h: In function ‘TH_polevlf’:
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h:142:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (size_t i = 0; i <= len; i++) {
^
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h: In function ‘TH_trigamma’:
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h:260:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < 6; ++i) {
^
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h: In function ‘TH_trigammaf’:
/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH/THMath.h:278:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < 6; ++i) {
^
Traceback (most recent call last):
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/unixccompiler.py", line 118, in _compile
extra_postargs)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/ccompiler.py", line 909, in spawn
spawn(cmd, dry_run=self.dry_run)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/spawn.py", line 36, in spawn
_spawn_posix(cmd, search_path, dry_run=dry_run)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/spawn.py", line 159, in _spawn_posix
% (cmd, exit_status))
distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/cffi/ffiplatform.py", line 49, in _build
dist.run_command('build_ext')
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/ccompiler.py", line 574, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/distutils/unixccompiler.py", line 120, in _compile
raise CompileError(msg)
distutils.errors.CompileError: command 'gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "build.py", line 49, in
ffi.build()
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/init.py", line 184, in build
_build_extension(ffi, cffi_wrapper_name, target_dir, verbose)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/torch/utils/ffi/init.py", line 108, in _build_extension
outfile = ffi.compile(tmpdir=tmpdir, verbose=verbose, target=libname)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/cffi/api.py", line 684, in compile
compiler_verbose=verbose, debug=debug, **kwds)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/cffi/recompiler.py", line 1484, in recompile
compiler_verbose, debug)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/cffi/ffiplatform.py", line 20, in compile
outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
File "/home/ziwen/anaconda3/envs/gan/lib/python3.6/site-packages/cffi/ffiplatform.py", line 56, in _build
raise VerificationError('%s: %s' % (e.class.name, e))
cffi.error.VerificationError: CompileError: command 'gcc' failed with exit status 1
So how can I fix this bug? Thanks much.

Question about IOU prediction precision.

Hi, thanks for your great work.

Could you kindly give some hints on your IOU prediction precision?

  1. For example, assume the IOU between the GT box and the generated box is 0.9, what is the output value will be in the IOU brunch?
  2. Which dataset did you use to train the IOU brunch?
  3. Would a deeper network structure instead of 2 FC layers help to increase the accuracy of predicting the IOU?

Many thanks.

Coordinates reference frame?

I've two queries:

  1. What is the origin w.r.t coordinates are measured for ex. bottom left of image
  2. what x0,y0 and x1,y1 coordinate represent, Generally, x0,y0 is the top-left and x1,y1 is the bottom-right in other roi's implementation but I guess here it is bottom left and top right?

Can anyone please help!

Gradients for bounding box refinement

Dear authors,

I have a question regarding Algorithm 2: Optimization-based bounding box refinement.
In Algorithm 2 you set **grad** <- \nabla_{b_j} IoU(PrPool(F, b_j))
Later you also mention: "... the proposed PreciseRoI Pooling layer enables the computation of the gradient of IoU w.r.t. bounding box coordinates."

  • How do you get these gradient values, grad (in PyTorch)?

Thanks in advance!

no module named jactorch

above error have happened.
google search, not have the similar info.
hope to get your help.
thank you!

compile failed using windows

I tried to use this library in windows, and I came across the question "error LNK2019:......__declspec(dllimport)". Does anyone know how to solve this problem in windows 10?

output

I tested the code, but why the size of output always is 4*1?

RuntimeError: Error building extension '_prroi_pooling'

Thank u for your good jobs. I get a strange problem with my code. Could u please help me.

I use the same code on two machine (one with 1080TI, one with2080TI). When the code is on the 1080TI(cuda 9.0 ,torch 1.1.0) ,everything goes well, I even have trained my model with the code. But when I use it on 2080 TI(cuda 10 ,pytorch 1.0.0), with same way, the code can't be compiled.

I just run the simple code below , and it goes wrong

...
...
try:
            from os.path import join as pjoin, dirname
            from torch.utils.cpp_extension import load as load_extension
            root_dir = pjoin(dirname(__file__), 'src')

            _prroi_pooling = load_extension(
                '_prroi_pooling',
                [pjoin(root_dir, 'prroi_pooling_gpu.c'), pjoin(root_dir, 'prroi_pooling_gpu_impl.cu')],
                verbose=True
            )
        except ImportError:
            raise ImportError('Can not compile Precise RoI Pooling library.')

the message is below:

Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...

[1/3] /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/bin/nvcc -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/TH -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/THC -isystem /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/include -isystem /home/aaa/anaconda3/envs/ninja/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 -c /home/aaa/ttt/ttt/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o

FAILED: prroi_pooling_gpu_impl.cuda.o 
/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/bin/nvcc -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/TH -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/THC -isystem /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/include -isystem /home/aaa/anaconda3/envs/ninja/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 -c /home/aaa/ttt/ttt/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
/bin/sh: 1: /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/bin/nvcc: not found
[2/3] c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/TH -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/THC -isystem /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/include -isystem /home/aaa/anaconda3/envs/ninja/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++11 -c /home/aaa/ttt/ttt/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
FAILED: prroi_pooling_gpu.o 
c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/torch/csrc/api/include -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/TH -isystem /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/THC -isystem /usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/usr/local/cuda:/include -isystem /home/aaa/anaconda3/envs/ninja/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++11 -c /home/aaa/ttt/ttt/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
In file included from /home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/ATen/cuda/CUDAContext.h:5:0,
                 from /home/aaa/ttt/ttt/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c:15:
/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/lib/include/ATen/cuda/CUDAStream.h:6:10: fatal error: cuda_runtime_api.h: No such file or directory
 #include "cuda_runtime_api.h"
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 946, in _build_extension_module
    check=True)
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 31, in <module>
    _import_prroi_pooling()
  File "test.py", line 24, in _import_prroi_pooling
    verbose=True
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 645, in load
    is_python_module)
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 814, in _jit_compile
    with_cuda=with_cuda)
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 863, in _write_ninja_file_and_build
    _build_extension_module(name, build_directory, verbose)
  File "/home/aaa/anaconda3/envs/ninja/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 959, in _build_extension_module
    raise RuntimeError(message)
RuntimeError: Error building extension '_prroi_pooling'



its really wired. My friend can also use the 2080TI to train his model successfully. i think maybe some place (environment ?)is wrong. I do the same thing on 1080TI, Everything goes well. I guess maybe the problem is about the cuda. But 2080TI can only use cuda10.

I have read the other issue, they didn't work.

I can't use the pytorch0.4 version on my GTX2080TI,anyone can help me ? Thank you very much.

cublas runtime error : the GPU program failed to execute at /pytorch/aten/src/THC/THCBlas.cu:411

the detail

/home/ning/miniconda3/lib/python3.6/site-packages/torch/nn/functional.py:1961: 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))
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=663 error=11 : invalid argument
cublas runtime error : the GPU program failed to execute at /pytorch/aten/src/THC/THCBlas.cu:411
my cuda=9.0 pytorch=0.4.1 ,gtx2080ti, &the driver=418

about train

你好,非常感谢您的分享-IOUnet,但是我有几处不了解的地方。

  1. 文章说For a better performance, we use class-aware IoU predictors.这个是什么意思呢?
    2.在3.1 Learning to predict IoU节,这部分仅是介绍了怎么训练Standalone IoU-Net吧?就如rcnn一样分两步:第一步先训练前面的FPN。第二步,在您说的augment GT上训练IOU那个分支。再第二步的时候把augment的产生的box和第一步产生的feature输入到PrRoI-Pooling中,预测得到的IOU与IOU标签(取值[-1,1])作loss,进行训练?
    3.假如联合训练的话就是再2中第二步添加下边的分类和回归分支?

Running on different GPU in mulitple processes

Hello, @vacancy thanks for your great work.
Can PreciseRoIPooling run on different GPU in mulitple processes?
It seems that PreciseRoIPooling run on current gpu by default, resulting in slow speed when in multiple processes.

Reproducing IoU-Net

Hey there,

I find the concepts you describe in your paper very interesting. A few months back I started an attempt to reproduce it for my thesis. So far this has proved to be quite challenging.

In prior email contact with one of the authors I mentioned using Faster R-CNN as the baseline and backend of the model. We agreed that this would likely be possible.
Using Faster R-CNN, I managed to recreate Figure 2a. for COCO and other datasets.
But even after more than a hundred experiments and a lot of models with different hyperparameters, I haven't gotten the results you show in Figure 2b.

An example of Fig2a.-b. for COCO: fig2a-b
and for PASCAL: fig2a_b_pascal

The figure on the right is supposed to be similar to Figure 2b. from your paper.
But seeing as the inferred localization confidence (mentioned in the figure as 'loc') is predominantly in a short range (not 0.5-1.0) I believe I might have made a mistake with e.g. the jittering of the RoIs.

What I have done to jitter the RoI is:

  1. Take the ground truth bbox {x_1, y_1, w, h}
  2. Take 4 random numbers {a,b,c,d} each in range [0.85, 1.15]
  3. Jitter the bounding box invariant to its absolute position in the image:
    x_1' = w * a + x_1
    y_1' = h * b + y_1
    x_2' = w * c + w + x_1'
    y_2' = h * d + h + y_1'

This results in somewhat of a normal distribution: distribution_jitter

So, I attempt to sample from this distribution in a way to make it semi-uniform (sampling from bins in the distribution). This results in roughly the following distribution, and thus input for my model during training: sampled_distribution_jitter
In practice I do not sample values with an IoU lower than 0.5, the figure is merely to describe the sampling method in general.

Finally, I use this sampling method to draw ~128 jittered bboxes per batch from the ~2000 samples I create per batch. These samples are the actual jittered RoIs I input into my model during training.
Their target IoU, or localization confidence, is the IoU between the jittered RoI and the ground truth bbox the jittered RoI is based on.

  1. Do you feel my approach is correct?
  2. Could you please elaborate on how you jitter the RoIs?
  3. How do you sample from the jittered RoIs? How many do you sample per image?
  4. What IoU threshold do you use during the IoU-guided NMS? (I can't find the value for Omega_nms in the paper)

Thanks in advance!

Question about PrRoIPoolingMatCalculation

Define of PrRoIPoolingMatCalculation

__device__ static float PrRoIPoolingMatCalculation(F_DEVPTR_IN this_data, const int s_h, const int s_w, const int e_h, const int e_w,
const float y0, const float x0, const float y1, const float x1, const int h0, const int w0)

When called PrRoIPoolingMatCalculation in PrRoIPoolingForward

for (int w_iter = s_w; w_iter < e_w; ++w_iter)
for (int h_iter = s_h; h_iter < e_h; ++h_iter)
sum_out += PrRoIPoolingMatCalculation(this_data, h_iter, w_iter, h_iter + 1, w_iter + 1,
max(win_start_h, float(h_iter)), max(win_start_w, float(w_iter)),
min(win_end_h, float(h_iter) + 1.0), min(win_end_w, float(w_iter + 1.0)),
height, width);

Given 1 <= h_iter <= win_end_h - 1 and 1 <= w_iter <= win_end_w -1, for the parameters passed to PrRoIPoolingMatCalculation, s_h and s_walways equal y0 and x0respectively, and e_h and e_walways equal y1 and x1respectively.

Are these settings what you expected?

Worse performance than ROIPooling and ROIAlign on VOC07

Hi,

Thanks for sharing your work. I tried your code by directly replacing ROIPooling in faster-rcnn.pytorch using the provided example.

from prroi_pool import PrRoIPool2D

avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
roi_features = avg_pool(features, rois)

I trained the Faster RCNN with ResNet-101 backbone on VOC2007 trainval set and evaluated the performance on the VOC2007 test set.

I got these results:

Pooling method   #GPUs batch size lr       lr_decay max_epoch     mAP
ROI Pooling    4 16 0.016 5   7 74.3
ROI Align    4 16 0.016 5   7 75.2
Precise ROI Pooling    4 16 0.016 5   7 73.8

I'm using python 2.7 so I modified this code to python build.py and this code to super(PrRoIPool2D, self).__init__().

I haven't read faster-rcnn.pytorch codes carefully, but it seems that they followed the caffe implementation to use (batch_index, x0, y0, x1, y1) for rois.

Do you have any idea what might cause this degraded performance on VOC07 dataset? Do I need to change training parameters for Precise ROIPooling?

Can not compile Precise RoI Pooling library.

/home/dl/anaconda3/lib/python3.7/site-packages/torch/nn/functional.py:2539: 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))
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/prroi_pooling/build.ninja...
Building extension module prroi_pooling...
[1/3] c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/TH -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/dl/anaconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++11 -c /home/dl/qiqi/pytracking-master/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
[2/3] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/TH -isystem /home/dl/anaconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/dl/anaconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 -c /home/dl/qiqi/pytracking-master/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
[3/3] c++ prroi_pooling_gpu.o prroi_pooling_gpu_impl.cuda.o -shared -L/usr/local/cuda/lib64 -lcudart -o _prroi_pooling.so
Loading extension module _prroi_pooling...
Can not compile Precise RoI Pooling library.

compile error

When I tried to run 'travis.sh' to compile the file, I encountered the following errors. My environment is Ubuntu 16.04, cuda9.0, compiled using python2.This problem has troubled me for a few days. May I ask how to solve it? I really hope to get your help, thank you!

`prroi_pooling_gpu_impl.cu(1): error: expected a declaration

1 error detected in the compilation of "/tmp/tmpxft_00002a4b_00000000-6_prroi_pooling_gpu_impl.cpp1.ii".

/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:1: error: expected identifier or ‘(’ before ‘.’ token
../../../src/prroi_pooling_gpu_impl.cuh

/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c:19:47: error: ‘state’ undeclared (first use in this function)
const float *data_ptr = THCudaTensor_data(state, features);

PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c:44:47: error: ‘state’ undeclared (first use in this function)
const float *data_ptr = THCudaTensor_data(state, features);

/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c:73:47: error: ‘state’ undeclared (first use in this function)
const float *data_ptr = THCudaTensor_data(state, features);

raise VerificationError('%s: %s' % (e.class.name, e))
cffi.error.VerificationError: CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1`

Questions about Omega_train and loss of iou branch

Hi, i have other two questions and hope to get your help:

  1. What's the relationship between Omega_train(0.5) and normalized iou labels range([-1, 1])?
    In another issue #5 , I was told that iou branch labels can be normalized and achieved by 2 * (iou-0.5). I found, after filtering by the threshold of 0.5, the label of the samples is between [0.5,1]. So the normalized target labels is between [0,1]. Is this a intentionally design? If we change the Omega_train, do we need to change the normalized formula?
  2. How to compute the loss of iou branch? Dose the output of iou branch need to be activated by sigmoid layer or take an absolute value? What's the weight of the iou branch and original reg/cls branch?

Questions about IOU-Net

Hello! I am very interesting in this work. After reading the paper, I have several questions.
Firstly, the IOU head need label to regress, but the IOU and the final cls_score and bbox_reg are forwarded at the same time. So did you use the IOU between the RPN proposal and the groundtruth as the label of the IOU head?
Secondly, at the refinement part, do you actually update the weight of the network or just try if the network will be better or tolerant after backward but didn't actually update it?

Cannot simply use the layer, but get a PermissionError

Hi, could you please give me any hints why I cannot used the roipool layer directly. I donot have root in the server, should I manually compile the code by myself?

File "/data03/v_xuyunqiu/Projects/weakly_det/extend_oicr_bs1_roi/tools/../lib/layer_utils/prroi_pool/functional.py", line 44, in forward
_prroi_pooling = _import_prroi_pooling()
File "/data03/v_xuyunqiu/Projects/weakly_det/extend_oicr_bs1_roi/tools/../lib/layer_utils/prroi_pool/functional.py", line 33, in _import_prroi_pooling
verbose=True
File "/home/v_xuyunqiu/anaconda3/envs/weakly_det_1.2/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 658, in load
is_python_module)
File "/home/v_xuyunqiu/anaconda3/envs/weakly_det_1.2/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 816, in _jit_compile
if baton.try_acquire():
File "/home/v_xuyunqiu/anaconda3/envs/weakly_det_1.2/lib/python3.6/site-packages/torch/utils/file_baton.py", line 36, in try_acquire
self.fd = os.open(self.lock_file_path, os.O_CREAT | os.O_EXCL)
PermissionError: [Errno 13] Permission denied: '/tmp/torch_extensions/_prroi_pooling/lock'

RuntimeError: Error building extension '_prroi_pooling'

When I run as below:

from prroi_pool import PrRoIPool2D

avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
roi_features = avg_pool(features, rois)

I got the error:
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...


CalledProcessError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _build_extension_module(name, build_directory, verbose)
1029 cwd=build_directory,
-> 1030 check=True)
1031 else:

/usr/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
437 raise CalledProcessError(retcode, process.args,
--> 438 output=stdout, stderr=stderr)
439 return CompletedProcess(process.args, retcode, stdout, stderr)

CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

RuntimeError Traceback (most recent call last)
in
1 avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
----> 2 roi_features = avg_pool(features, rois)
3 roi_features.shape

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in call(self, *input, **kwargs)
539 result = self._slow_forward(*input, **kwargs)
540 else:
--> 541 result = self.forward(*input, **kwargs)
542 for hook in self._forward_hooks.values():
543 hook_result = hook(self, input, result)

~/private/PreciseRoIPooling/pytorch/prroi_pool/prroi_pool.py in forward(self, features, rois)
26
27 def forward(self, features, rois):
---> 28 return prroi_pool2d(features, rois, self.pooled_height, self.pooled_width, self.spatial_scale)
29
30 def extra_repr(self):

~/private/PreciseRoIPooling/pytorch/prroi_pool/functional.py in forward(ctx, features, rois, pooled_height, pooled_width, spatial_scale)
43 @staticmethod
44 def forward(ctx, features, rois, pooled_height, pooled_width, spatial_scale):
---> 45 _prroi_pooling = _import_prroi_pooling()
46
47 assert 'FloatTensor' in features.type() and 'FloatTensor' in rois.type(), \

~/private/PreciseRoIPooling/pytorch/prroi_pool/functional.py in _import_prroi_pooling()
31 '_prroi_pooling',
32 [pjoin(root_dir, 'prroi_pooling_gpu.c'), pjoin(root_dir, 'prroi_pooling_gpu_impl.cu')],
---> 33 verbose=True
34 )
35 except ImportError as e:

/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in load(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
659 verbose,
660 with_cuda,
--> 661 is_python_module)
662
663

/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _jit_compile(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
828 build_directory=build_directory,
829 verbose=verbose,
--> 830 with_cuda=with_cuda)
831 finally:
832 baton.release()

/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _write_ninja_file_and_build(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda)
881 if verbose:
882 print('Building extension module {}...'.format(name))
--> 883 _build_extension_module(name, build_directory, verbose)
884
885

/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _build_extension_module(name, build_directory, verbose)
1041 if hasattr(error, 'output') and error.output:
1042 message += ": {}".format(error.output.decode())
-> 1043 raise RuntimeError(message)
1044
1045

RuntimeError: Error building extension '_prroi_pooling'

So, what's the problem?

about iou-net train

嗨,作者您好!我对你们的这篇论文很感兴趣,在读论文的过程中遇到一些问题,麻烦能帮我解答一下吗?
1: iou-net训练过程?
是首先从gt box通过坐标变换生成一系列的candiate box以及其与gt box的iou(label),然后去除掉iou<0.5的,把剩下的数据采样作为iou-net的输入训练,那么是如何对iou-net的网络参数进行更新的呢?我在论文中看到关于框的精修(这个过程只是对坐标进行的更新,并没有对网络参数进行更新啊)
2、公式一中的transform是如何做的?
3、公式一中的crit是选用的smooth-l1吗?我问文中有一个地方有说
4、Algorithm 2中返回值不是应该返回修正好的吗?怎么返回的是B

What are the target of the IoU-Net branch?

Hi, thanks for your great work. I come here to try to find some answers about paper by reading code. However, it's not a full implementation. So I am asking here and hope that it will not cause trouble.

  1. What are the target of the IoU-Net branch during training? The IoU between RoIs and ground truth or others? Besides, Algorithm 2, bounding box refinement shows that we need to compute grad to update detected box. But we have no labels when we used this algorithm during inference. So you set the targets to 1 to make the detected box more precise?
  2. You said: We generate bounding boxes and labels for training the IoU-Net by augmenting the groundtruth, instead of taking proposals from RPNs. When I want to agument data, I tend to randomly change pictures, for example, fliping or rotation. I have no idea what's your meaning, could you give me some advice?

Thanks for you.

ImportError: undefined symbol: _Py_Dealloc

I have got the __prroi_pooling.so, but when I run the code, the error "ImportError: .../__prroi_pooling.so: undefined symbol: _Py_Dealloc" occurred. The code stopped running in line “from .__prroi_pooling import lib as _lib, ffi as _ffi”. The pytorch I used is 0.4.0, cuda is 9.
Could you give me some advice about this?

Traceback (most recent call last):
File "trainval_net.py", line 33, in
from model.faster_rcnn.vgg16 import vgg16
File "/data/fasterrcnnpytorch1/lib/model/faster_rcnn/vgg16.py", line 16, in
from model.faster_rcnn.faster_rcnn import _fasterRCNN
File "/data/fasterrcnnpytorch1/lib/model/faster_rcnn/faster_rcnn.py", line 15, in
from model.pre_align.modules.roi_prealign import PrRoIPool2D
File "/data/fasterrcnnpytorch1/lib/model/pre_align/modules/roi_prealign.py", line 25, in
from ..functions.roi_prealign import prroi_pool2d
File "/data/fasterrcnnpytorch1/lib/model/pre_align/functions/roi_prealign.py", line 14, in
from .._ext import _prroi_pooling
File "/data/fasterrcnnpytorch1/lib/model/pre_align/_ext/_prroi_pooling/init.py", line 3, in
from .__prroi_pooling import lib as _lib, ffi as _ffi
ImportError: /data/fasterrcnnpytorch1/lib/model/pre_align/_ext/_prroi_pooling/__prroi_pooling.so: undefined symbol: _Py_Dealloc

compile error

when I run ./travis.sh, I got an error.

Compiling prroi_pooling kernels by nvcc...
prroi_pooling_gpu_impl.cu(1): error: expected a declaration
1 error detected in the compilation of "/tmp/tmpxft_00009600_000000007_prroi_pooling_gpu_impl.cpp1.ii".

Could anyone help me ?

Issues related to running your code.

For running your code, I installed ninja using the command
pip install ninja

After that when I tried running the file test.py which contains the lines:
from prroi_pool import PrRoIPool2D from prroi_pool.functional import prroi_pool2d import cv2 import matplotlib.pyplot as plt

window_height = 7 window_width = 7 spatial_scale = 0.6

feature_map=cv2.imread("/home/pg2017/cse/17071016/img_873.jpg")

rois = ([ [0, 1, 1, 6, 6], [2, 6, 2, 7, 11], [1, 3, 1, 5, 10], [0, 3, 3, 3, 3]])

roi_features = prroi_pool2d(feature_map, rois, window_height, window_width, spatial_scale)

print(roi_features)

I encountered the following errors:
Traceback (most recent call last): File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 946, in _build_extension_module check=True) File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/subprocess.py", line 481, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "test.py", line 18, in <module> roi_features = prroi_pool2d(feature_map, rois, window_height, window_width, spatial_scale) File "/home/pg2017/cse/17071016/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 44, in forward _prroi_pooling = _import_prroi_pooling() File "/home/pg2017/cse/17071016/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 33, in _import_prroi_pooling verbose=True File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 645, in load is_python_module) File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 814, in _jit_compile with_cuda=with_cuda) File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 863, in _write_ninja_file_and_build _build_extension_module(name, build_directory, verbose) File "/home/pg2017/cse/17071016/.conda/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 959, in _build_extension_module raise RuntimeError(message) RuntimeError: Error building extension '_prroi_pooling'

IoU threshold in IoU Net

Hi, in your paper, predicted boxes with IoU larger than 0.5 will be fed into IoUNet.
I have a question that did you have a try to set the threshold as 0.0? We will regard boxes with IoU>0.5 as positive boxes, but does IoU net have the ability to distinguish boxes with low IoU?
If IoU net can only generate IoU score larger than 0.5, will it affect the performance?

complie error

when I run the ./ travis.sh, I got the error:

Working directory: /media/t1/0a33a0a0-b876-45c1-bb1c-f0d6fecc3bf9/cascade/bin/cascade-rcnn_Pytorch/lib/model/pr_roi_pooling/pytorch/prroi_pool/src
Compiling prroi_pooling kernels by nvcc...
Working directory: /media/t1/0a33a0a0-b876-45c1-bb1c-f0d6fecc3bf9/cascade/bin/cascade-rcnn_Pytorch/lib/model/pr_roi_pooling/pytorch/prroi_pool
Building python libraries...
Traceback (most recent call last):
File "build.py", line 13, in
import torch
ImportError: No module named 'torch'
But I think pytorch is installed correctly.Could you help me?
@vacancy Thank you~

how to use the Iou-Net in the work

hi,想请问输入图像首先被馈送到FPN骨干网提取特征,然后分别送到PrRoI pooling和RPN网络。在RPN网络中提取bbox和faster rcnn中一样的吗?PrRoI pooling是对bbox的优化调整?PrRoI pooling之后的77256那是?fc后面的分支就是nms以及分类回归吗?

Question about Optimization-based bounding box refinement

Hi, I think the Optimization-based bounding box refinement is very interesting. But I have a question. What is the meaning of "scale(grad, bj)" in the Optimization-based bounding box refinement? Do you have plan to share the code of it ?

env python3.5 torch 1.1 cuda9.0 But i have some error

Using /tmp/torch_extensions as PyTorch extensions root...
Creating extension directory /tmp/torch_extensions/prroi_pooling...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/prroi_pooling/build.ninja...
Building extension module prroi_pooling...
[1/3] /usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/torch/csrc/api/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/TH -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/luandong/anaconda3/envs/python35/include/python3.5m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 -c /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
FAILED: prroi_pooling_gpu_impl.cuda.o
/usr/local/cuda/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/torch/csrc/api/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/TH -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/luandong/anaconda3/envs/python35/include/python3.5m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS_ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 -c /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:10: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:12: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:14: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:16: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:18: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:20: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:22: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:24: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:26: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:28: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:30: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:32: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:34: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:36: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:38: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:40: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:42: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:44: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:46: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:48: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:50: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:52: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:54: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:56: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:58: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:60: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:62: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:64: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:66: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:68: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:70: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:72: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:74: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:76: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:78: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:80: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:82: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu:1:84: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu(1): error: unrecognized token

/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu(1): error: this declaration has no storage class or type specifier

/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cu(1): error: expected a ";"

3 errors detected in the compilation of "/tmp/tmpxft_00005ba7_00000000-6_prroi_pooling_gpu_impl.cpp1.ii".
[2/3] c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/torch/csrc/api/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/TH -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/luandong/anaconda3/envs/python35/include/python3.5m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++11 -c /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
FAILED: prroi_pooling_gpu.o
c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/torch/csrc/api/include -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/TH -isystem /home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /home/luandong/anaconda3/envs/python35/include/python3.5m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++11 -c /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
In file included from /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:19:0:
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:1: error: stray ‘\1’ in program
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:10: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:12: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:14: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:16: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:18: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:20: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:22: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:24: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:26: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:28: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:30: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:32: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:34: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:36: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:38: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:40: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:42: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:44: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:46: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:48: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:50: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:52: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:54: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:56: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:58: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:60: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:62: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:64: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:66: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:68: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:70: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:72: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:74: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:76: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:78: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:80: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:82: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:84: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:86: warning: null character(s) ignored
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:110:1: error: empty character constant
'''
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:110:3: warning: missing terminating ' character
'''
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:110:1: error: missing terminating ' character
'''
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:193:1: error: empty character constant
'''
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:193:3: warning: missing terminating ' character
'''
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:193:1: error: missing terminating ' character
'''
^
In file included from /home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:19:0:
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu_impl.cuh:1:1: error: ‘IntxLNK’ does not name a type
IntxLNK. . / . . / . . / s r c / p r r o i _ p o o l i n g _ g p u _ i m p l . c u h
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c: In function ‘at::Tensor prroi_pooling_backward_cuda(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int, int, float)’:
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:72:5: error: ‘PrRoIPoolingBackwardGpu’ was not declared in this scope
);
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c: In function ‘at::Tensor prroi_pooling_coor_backward_cuda(const at::Tensor&, const at::Tensor&, const at::Tensor&, const at::Tensor&, int, int, float)’:
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:103:5: error: ‘PrRoIPoolingCoorBackwardGpu’ was not declared in this scope
);
^
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c: At global scope:
/home/luandong/code/RT-MDNet-master/modules/Prroi_pool/src/prroi_pooling_gpu.c:110:1: error: expected unqualified-id before '\x0'
'''
^
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 949, in _build_extension_module
check=True)
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/subprocess.py", line 398, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "Run.py", line 144, in
iou_result, result_bb, fps, result_nobb = run_mdnet(img_list1, img_list2,init_bbox, gt, display=opts['visualize'])
File "/home/luandong/code/RT-MDNet-master/tracker.py", line 213, in run_mdnet
cropped_image1, cur_image_var1 = img_crop_model.crop_image(cur_image1, np.reshape(scene_boxes[bidx],(1,4)), crop_img_size)
File "./modules/img_cropper.py", line 56, in crop_image
cropped_image = self.forward(cur_image_var, roi)
File "./modules/img_cropper.py", line 33, in forward
aligned_image_var = self.pr_roi_model(image, roi)
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/nn/modules/module.py", line 493, in call
result = self.forward(*input, **kwargs)
File "./modules/Prroi_pool/prroi_pool.py", line 29, in forward
return prroi_pool2d(features, rois,self.pooled_height, self.pooled_width, self.spatial_scale)#(features, rois)
File "./modules/Prroi_pool/functional.py", line 43, in forward
_prroi_pooling = _import_prroi_pooling()
File "./modules/Prroi_pool/functional.py", line 33, in _import_prroi_pooling
verbose=True
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 644, in load
is_python_module)
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 813, in _jit_compile
with_cuda=with_cuda)
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 866, in _write_ninja_file_and_build
_build_extension_module(name, build_directory, verbose)
File "/home/luandong/anaconda3/envs/python35/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 962, in _build_extension_module
raise RuntimeError(message)
RuntimeError: Error building extension '_prroi_pooling'

Question about PrROIpooling

Hi, I am not so sure when do you use your Algorithm 2 in your paper to refine the bounding box.

I think it works more like a finetune process, am I right?

So when I use PrROIPooling, the net work paramters should be fixed, and the features here
roi_features = avg_pool(features, rois) is detached form the network already?
then you set the requires_grad of features and rois to true to refine the rois, right?

Can not compile Precise RoI Pooling library(after ./travis.sh)

Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...
Traceback (most recent call last):
File "/home/zqw/RT-MDNet-master/test.py", line 14, in
out = pool(features, rois)
File "/home/zqw/.local/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call
result = self.forward(*input, **kwargs)
File "/home/zqw/RT-MDNet-master/modules/preciseroipooling/pytorch/prroi_pool/prroi_pool.py", line 28, in forward
return prroi_pool2d(features, rois, self.pooled_height, self.pooled_width, self.spatial_scale)
File "/home/zqw/RT-MDNet-master/modules/preciseroipooling/pytorch/prroi_pool/functional.py", line 44, in forward
_prroi_pooling = _import_prroi_pooling()
File "/home/zqw/RT-MDNet-master/modules/preciseroipooling/pytorch/prroi_pool/functional.py", line 36, in _import_prroi_pooling
raise ImportError('Can not compile Precise RoI Pooling library.')
ImportError: Can not compile Precise RoI Pooling library.
Loading extension module _prroi_pooling...

please help me,thanks!
after excute ./travis.sh ,it is ok but when i run test.py, above problem happend
my python=2.7 torch=0.4 and cuda=8.0

Does this work for 0.4.1 / how to install?

Just checking if this works with PT 0.4.1 as well, because the README only specifies 0.4. I ask because I noticed the PyTorch 0.4.1 release tag includes "Breaking changes". Thanks!

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

Hello!
I have used your PrPool model into my own framework.
I used a pre-trained resnet-50 to extract features from one image, follwed by feeding into PrPool model to generate a vector with size (1, 1, 1024, 1).
Another image is also fed into the pre-trained network to extract features, followed by a GAP layer to generate another vector with the same size.
The two vectors are then calculated with MSE loss, which is utilized to back-propogate for the gradients of ROI index.
However, when I run the program, an error: 'RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED' occured, can you help me to fix this problem? thank you ~

Building extension module _prroi_pooling... ninja: error: unknown target '–v'

您好,我将它用在MaskRCNN官方公布的代码中出现一下问题
我的环境配置:
2020-02-13 17:32:54,111 maskrcnn_benchmark INFO:
PyTorch version: 1.0.0.dev20190328
Is debug build: No
CUDA used to build PyTorch: 9.0.176

OS: Ubuntu 16.04.6 LTS
GCC version: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
CMake version: Could not collect

Python version: 3.7
Is CUDA available: Yes
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: GeForce GTX 1080 Ti
Nvidia driver version: 418.56
cuDNN version: Could not collect
我运行后出现的问题
2020-02-13 17:33:11,894 maskrcnn_benchmark.trainer INFO: Start training
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...
ninja: error: unknown target '–v'
Traceback (most recent call last):
File "/home/syx/anaconda3/envs/maskrcnn_benchmark/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 950, in _build_extension_module
check=True)
File "/home/syx/anaconda3/envs/maskrcnn_benchmark/lib/python3.7/subprocess.py", line 487, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '–v']' returned non-zero exit status 1.

怎样在pytorch1.0下使用?

你好,我在pytorch1.0版本的环境下运行/travis.sh时提示如下错误:
ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.
请问怎样解决这个问题?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.