scalsol / mega.pytorch Goto Github PK
View Code? Open in Web Editor NEWMemory Enhanced Global-Local Aggregation for Video Object Detection, CVPR2020
License: Other
Memory Enhanced Global-Local Aggregation for Video Object Detection, CVPR2020
License: Other
if i want to use the pretrained MEGA_R_101.pth to perform testing, which patch should I put?
On running the demo.py code, I am getting an import error
from mega_core import _C
ImportError: cannot import name '_C'
This error was coming from ./mega_core/layers/nms.py
and some other files in the same directory
so I commented it and changed it as
#from mega_core import _C
from ._utils import _C
After making the changes the code worked and I was able to get my predictions. Are the two things same? I want to know whether I did the correct thing or not. It would be great if someone could give help in this regard.
HI ,
When I read the code, the MEGA code has a parameter 'us' in its attention module.This is different from that in the Relation Networks for Object Detection paper. What is the meaning of the this parameter?
It seems that there are duplicated images in datasets/ILSVRC2015/ImageSets/DET_train_30classes.txt
, which can be confirmed by the following script.
lines = open('DET_train_30classes.txt', 'r').read().strip().split('\n')
print(len(lines))
# 53639
print(len(set(lines)))
# 53237
Is there a reason that you use duplicated training images?
Why do not you add data augmentation like SELSA? Will you intend to do so?
The ImageSet file (VID_train_15frames) that you use to train the MEGA model. It contains 15 frames uniformly sampled from each video. Can you please give any insight on why do you do this ?
I can't find anything in the paper, regarding this.
Thanks.
Why can only one picture run on one gpu now? If I want to modify, from what code and where should I modify it? Many thanks!
Thanks for your excellent work and nice open-source code.
"Currently, 1 GPU could only hold 1 image." Is it possible to increase the batch size of each GPU?
In addition, I noticed that all bn layer is fixed, is it related to the batch size of the single GPU is 1? but only the backbone is pre-trained from ImageNet, does fixing all bn layers affect the performance of the model?
Thank you so much for your incredible work!
For a paper I am writing about possible applications of object detection algorithms I am in need of the distribution of AP values that can be achieved for higher IoU values. If at all possible I would very much appreciate if you were to list the best possible AP values for IoU 0.5 to 0.95 or provide a file containing predictions for at least a part of the ImageNet Dataset so I can calculate them myself, as it is not feasible for me to do the inference itself.
Thanks again for your time.
Hi @Scalsol
Thanks for your great work. I created my custom dataset like VIDDataset and VIDMEGADataset for training and testing. Now, the training is finished, when I want to test like VID, I found the vid has a vid_ground_truth_motion_iou.mat file, how can I generate my own mat file or how can I avoid using this file? Thank you very much.
Thank you for sharing the code.
I found that only one reference frame is provided in the data loading module of FGFA and RDN. Why not all the frames in the range of -9 to 9 described in their paper, but only the last frame?
I use your repr and modify some code trying to reproduce DFF. But I only get a little better than 69%.
Here is some main code modified for this part:
generalized_rcnn_dff.py
`
"""
Implements the Generalized R-CNN framework
"""
from PIL import Image
from collections import deque
import torch
from torch import nn
import torch.nn.functional as F
from mega_core.structures.image_list import to_image_list
from ..backbone import build_backbone, build_flownet, build_embednet
from ..rpn.rpn import build_rpn
from ..roi_heads.roi_heads import build_roi_heads
class GeneralizedRCNNDFF(nn.Module):
"""
Main class for Generalized R-CNN. Currently supports boxes and masks.
It consists of three main parts:
- backbone
- rpn
- heads: takes the features + the proposals from the RPN and computes
detections / masks from it.
"""
def __init__(self, cfg):
super(GeneralizedRCNNDFF, self).__init__()
self.backbone = build_backbone(cfg)
self.flownet = build_flownet(cfg)
self.rpn = build_rpn(cfg, self.backbone.out_channels)
self.roi_heads = build_roi_heads(cfg, self.backbone.out_channels)
self.device = cfg.MODEL.DEVICE
# 10
self.all_frame_interval = cfg.MODEL.VID.DFF.ALL_FRAME_INTERVAL
# 1
self.key_frame_location = cfg.MODEL.VID.DFF.KEY_FRAME_LOCATION
self.images = deque(maxlen=self.all_frame_interval)
self.features = deque(maxlen=self.all_frame_interval)
def get_grid(self, flow):
m, n = flow.shape[-2:]
shifts_x = torch.arange(0, n, 1, dtype=torch.float32, device=flow.device)
shifts_y = torch.arange(0, m, 1, dtype=torch.float32, device=flow.device)
shifts_y, shifts_x = torch.meshgrid(shifts_y, shifts_x)
grid_dst = torch.stack((shifts_x, shifts_y)).unsqueeze(0)
workspace = torch.tensor([(n - 1) / 2, (m - 1) / 2]).view(1, 2, 1, 1).to(flow.device)
flow_grid = ((flow + grid_dst) / workspace - 1).permute(0, 2, 3, 1)
return flow_grid
def resample(self, feats, flow):
flow_grid = self.get_grid(flow)
warped_feats = F.grid_sample(feats, flow_grid, mode="bilinear", padding_mode="border")
return warped_feats
def forward(self, images, targets=None):
"""
Arguments:
#images (list[Tensor] or ImageList): images to be processed
targets (list[BoxList]): ground-truth boxes present in the image (optional)
Returns:
result (list[BoxList] or dict[Tensor]): the output from the model.
During training, it returns a dict[Tensor] which contains the losses.
During testing, it returns list[BoxList] contains additional fields
like `scores`, `labels` and `mask` (for Mask R-CNN models).
"""
if self.training and targets is None:
raise ValueError("In training mode, targets should be passed")
if self.training:
images["cur"] = to_image_list(images["cur"])
images["ref"] = [to_image_list(image) for image in images["ref"]]
return self._forward_train(images["cur"], images["ref"], targets, images['eq'])
else:
images["cur"] = to_image_list(images["cur"])
# images["ref"] = [to_image_list(image) for image in images["ref"]]
infos = images.copy()
infos.pop("cur")
return self._forward_test(images["cur"], infos)
def _forward_train(self, img, imgs_ref, targets, eq):
# 1
num_refs = len(imgs_ref)
concat_imgs = torch.cat([img.tensors, *[img_ref.tensors for img_ref in imgs_ref]], dim=0)
img_cur, imgs_ref = torch.split(concat_imgs, (1, num_refs), dim=0)
conv_feat = self.backbone(imgs_ref)[0]
# calculate flow and warp the feature
concat_imgs_pair = torch.cat([img_cur / 255, imgs_ref / 255], dim=1)
flow = self.flownet(concat_imgs_pair)
warped_feats_refs = self.resample(conv_feat, flow)
if not eq:
feats = warped_feats_refs
else:
feats = conv_feat
feats = torch.unsqueeze(feats, dim=1)
proposals, proposal_losses = self.rpn(img, feats, targets)
if self.roi_heads:
x, result, detector_losses = self.roi_heads(feats, proposals, targets)
else:
detector_losses = {}
losses = {}
losses.update(detector_losses)
losses.update(proposal_losses)
return losses
def _forward_test(self, imgs, infos, targets=None):
"""
forward for the test phase.
:param imgs:
:param frame_category: 0 for start, 1 for normal
:param targets:
:return:
"""
def update_feature(img=None, feats=None, embeds=None):
self.images.append(img)
# self.features.append(torch.cat([feats, embeds], dim=1))
self.features.append(feats)
if targets is not None:
raise ValueError("In testing mode, targets should be None")
if infos["frame_category"] == 0: # a new video
self.seg_len = infos["seg_len"]
self.end_id = 0
self.images = deque(maxlen=self.all_frame_interval)
self.features = deque(maxlen=1)
feats_cur = self.backbone(imgs.tensors)[0]
while len(self.images) < self.key_frame_location + 1:
update_feature(imgs.tensors, feats_cur)
final_feat = feats_cur
elif infos["frame_category"] == 1: # not key frame
self.end_id = min(self.end_id + 1, self.seg_len - 1)
# end_image = infos["ref"][0].tensors
# update_feature(end_image)
ref_img = self.images[0]
concat_imgs_pair = torch.cat([imgs.tensors / 255, ref_img / 255], dim=1)
flow = self.flownet(concat_imgs_pair)
warped_feat = self.resample(self.features[0], flow)
final_feat = warped_feat
elif infos['frame_category'] == 2: # new key frame
self.end_id = min(self.end_id + 1, self.seg_len - 1)
self.images = deque(maxlen=self.all_frame_interval)
self.features = deque(maxlen=1)
feats_cur = self.backbone(imgs.tensors)[0]
while len(self.images) < self.key_frame_location + 1:
update_feature(imgs.tensors, feats_cur)
final_feat = feats_cur
else:
raise ValueError("Not support frame_category value.")
final_feat = torch.unsqueeze(final_feat, dim=1)
proposals, proposal_losses = self.rpn(imgs, final_feat, None)
if self.roi_heads:
x, result, detector_losses = self.roi_heads(final_feat, proposals, None)
else:
result = proposals
return result
`
And I use deafult training configs the same as FGFA in your released configs. I am confused is that right? But I cannot get the same result as DFF paper.Some advices? Very thanks
Hi,
Thank you for your excellent codebase! I have a small question on your implementation for the feature aggregation code for FGFA paper. In the original paper, the feature of the current frame is also accumulated for feature aggregation across nearby frames. But in this line:
Thanks
作者您好,我是按照 README.md 上面的配置的,训练和推理也是按照那个里面的命令执行的,但是还是报错,是除了按照 README.md 里面的配资之外还要按照哪个配置啊?劳烦解答一下,谢谢!
I had processed the inference:
python -m torch.distributed.launch \
--nproc_per_node 4 \
tools/test_net.py \
--config-file configs/MEGA/vid_R_101_C4_MEGA_1x.yaml \
MODEL.WEIGHT MEGA_R_101.pth
However, i got very low mAP,:
mega_core.inference INFO: mAP: 0.2637
airplane : 0.0199
antelope : 0.2227
bear : 0.3345
bicycle : 0.1707
bird : 0.1427
bus : 0.0666
car : 0.1543
cattle : 0.4041
dog : 0.1296
domestic_cat : 0.4953
elephant : 0.3495
fox : 0.4683
giant_panda : 0.3769
hamster : 0.4125
horse : 0.0388
lion : 0.1511
lizard : 0.3799
monkey : 0.2813
motorcycle : 0.0661
rabbit : 0.5833
red_panda : 0.5000
sheep : 0.0673
snake : 0.4717
squirrel : 0.0557
tiger : 0.5354
train : 0.3820
turtle : 0.0911
watercraft : 0.2108
whale : 0.0651
zebra : 0.2824
is something wrong?
Will you release the ResNext-101 codes and models?
Hi,
Thank you for such a well-written paper & open-sourcing your work! 🤗
Do you also plan to open-source the pre-trained model with ResNeXt-101 backbone?
In the paper it's stated
Here the post processing technique we adopt is BLR [7], which is done by finding optimal paths in the whole video and then re-score detection boxes in each path. Table 2 summarizes the results of state of-the-art methods with different post-processing techniques.
Is the score MEGA (ours) ResNeXt-101 85.4 combination of SeqNMS, Tube Rescoring, BLR or only BLR?
Thanks & stay healthy,
Johannes
I like to use your pretrained model to do object detection on a MP4 video file.
tools/test_net.py is for validation because it needs target files which can not be used for my mp4 video file.
Any suggestion?
Thanks,
Hey
I follow the install instruction but when I tried to install apex I got the followng error:
raise RuntimeError("--cuda_ext was requested, but nvcc was not found. Are you sure your environment has nvcc available? If you're installing within a container from https://hub.docker.com/r/pytorch/pytorch, only images whose names contain 'devel' will provide nvcc.")
RuntimeError: --cuda_ext was requested, but nvcc was not found. Are you sure your environment has nvcc available? If you're installing within a container from https://hub.docker.com/r/pytorch/pytorch, only images whose names contain 'devel' will provide nvcc.
I tried to specify CUDAHOME but I got message
raise RuntimeError("Cuda extensions are being compiled with a version of Cuda that does not match the version used to compile Pytorch binaries. Pytorch binaries were compiled with Cuda 10.0.130.
In some cases, a minor-version mismatch will not cause later errors: NVIDIA/apex#323 (comment). You can try commenting out this check at your own risk ")
Any suggestion?
Thanks!
Hello, I see that when you train the MEGA model, you sample once every 10 frames to consistent training set (datasets/ILSVRC2015/ImageSets/VID_train_every10frame.txt). FGFA methods also sample the training set (VID_train_15frame.txt). However, these two methods have propagated feature to adjacent frames, but samples in VID_train_every10frame.txt have lost the characteristics of adjacent frames. Does MEGA not require continuous image during training model?
I am very confused about this. Could you please help me to answer this?
Dear Author,
Thanks for your sharing. I tried to make a demo of inference on an image folder with the online setting, but I'm a little confused about how to limit the sample range, etc. Would you mind adding a ReadMe about this like what you have done for demo and customize? Thanks in advance.
作者您好!我的工作环境在mac上,所以调试时无法使用GPU,请问如何设置才能在只有CPU的环境上对程序进行训练、测试等调试呢?
Hi, thank you so much for sharing your amazing work.
Have you tested lighter models, e.g., ResNet18/50?
Sorry, I just see that now. Thx, U could close this issue.
Hello! Thank you for your generous release of the source code on MEGA.
I was just wondering, the config files show that you tested the model with only the validation dataset, is there any reason why you did not test with the 'test' dataset of both VID and DET dataset? If I wanted to do that, will a simple change in the config file be enough? Or do I have to alter the 'ImageSets' folder to provide a list of files that I want to test with? Thanks a lot!
Is it recommended to train on still images before (i.e. DET dataset)?
Why does it help?
Is it just for train the backbone and rpn network?
Hey
I try to train model with a single class (pedestrian)
I change the variables in file mega_core/data/datasets/vid.py
so it look like that
classes = ['background', "person"]
classes_map = ['0.0', 'person']
however, In some cases I got files that has classes index like 12, 26, etc..
Am I doing it right?
Hi, I want to use a seperate branch to learn the knowledge of flownet. So I added another branch and took the added_branch output and flownet output to compute MSE Loss. Here is my implementation:
Notice : to avoid mse loss BP to flownet, I use detach() function to cut gradient bp.
generator_mse_loss = torch.nn.MSELoss() generator_loss = generator_mse_loss(flow.detach(), generator_flow) ...... losses.update({"generator_loss":(generator_loss)}) ......
And the other part remain the same as DFF training config. I think mse loss shuold not backpropagate to flownet part. After training, I could not get the same result as DFF using detection faster rcnn and flownet.That's really confused. Did u meet thing like this before? Thanks~
Is the performance poor when we choose resnet50 as the backbone ?
Im a newer in vedio detection,i did some yolo project before,thanks.
Hi,
I have a NVIDIA-1050Ti (4 GB) GPU. I was running the demo script. It worked perfectly fine for single-frame-baseline however for the "mega" method I am getting the error
CUDA out of memory. Tried to allocate 396.00 MiB (GPU 0; 3.95 GiB total capacity; 1.89 GiB already allocated; 384.75 MiB free; 650.19 MiB cached)
Are there any parameters in the configuration files that could be modified to make it work? Any help would be appreciated. Thanks in advance.
When I want to load MEGA_R_101.pth;
2020-04-02 08:48:13,503 mega_core.utils.model_serialization INFO:
backbone.body.layer1.0.bn1.bias loaded from backbone.body.layer1.0.bn1.bias of shape (64,)
2020-04-02 08:48:13,503 mega_core.utils.model_serialization INFO: backbone.body.layer1.0.bn1.running_mean loaded from backbone.body.layer1.0.bn1.running_mean
of shape (64,)
2020-04-02 08:48:13,503 mega_core.utils.model_serialization INFO: backbone.body.layer1.0.bn1.running_var loaded from backbone.body.layer1.0.bn1.running_var of shape (64,)
2020-04-02 08:48:13,503 mega_core.utils.model_serialization INFO: backbone.body.layer1.0.bn1.weight loaded from backbone.body.layer1.0.bn1.weight of shape (64,)
2020-04-02 08:48:13,504 mega_core.utils.model_serialization INFO: backbone.body.layer1.0.bn2.bias loaded from backbone.body.layer1.0.bn2.bias of shape (64,)
RuntimeError: Error(s) in loading state_dict for GeneralizedRCNNMEGA:
size mismatch for rpn.anchor_generator.cell_anchors.0: copying a param with shape torch.Size([12, 4]) from checkpoint, the shape in current model is torch.Size([15, 4]).
size mismatch for rpn.head.cls_logits.weight: copying a param with shape torch.Size([12, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([15, 1024, 1, 1]).
size mismatch for rpn.head.cls_logits.bias: copying a param with shape torch.Size([12]) from checkpoint, the shape in current model is torch.Size([15]).
size mismatch for rpn.head.bbox_pred.weight: copying a param with shape torch.Size([48, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([60, 1024, 1, 1]).```
Thanks for your sharing! And I test the dff part,, the inference speed is about 15-20fps on Titan 2080ti. But original dff(mxnet) is more than 30fps on Titan 2080ti. What about your opinion on this issue?
Hello,
I wanted to ask how the metric you use in this paper (and many other use with regard to Imagenet VID dataset) relate to COCO dataset metric? Is this simply IoU=0.50 metric (a second metric in cocotools printout/PASCAL VOC threshold?) Or is it loosened metric as mentioned here - page 11?
By the way, great repository! Thank you for uploading it to Git!
Hello, I'm following your instructions to train a custom dataset. You mentioned in your customize.md that the classes list should be changed to accomodate the new classes, but what do the classes_map mean? Is there any way to create a new classes_map for the categories in the custom dataset? Thanks a lot!
hello, when I run the test_net.py over, why is there no map prediction?
and there shows
if motion_iou[gt_index] < motion_range[0] or motion_iou[gt_index] > motion_range[1]:
IndexError: list index out of range
thanks for your work. when reading the test_net.py code, I do not find any code about BLR post process. Hasn't this part been released yet。 or just I miss somewhere and could you point out where this BLR code is. thanks your reply.
I followed install.md
when running command
python setup.py build develop
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168
gcc -version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
some of the output that state failed warnings
running build
running build_py
running build_ext
building 'mega_core._C' extension
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cpu
creating /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda
Emitting ninja build file /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/11] /usr/local/cuda/bin/nvcc -DWITH_CUDA -I/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc -I/opt/conda/lib/python3.6/site-packages/torch/include -I/opt/conda/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/opt/conda/lib/python3.6/site-packages/torch/include/TH -I/opt/conda/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/opt/conda/include/python3.6m -c -c /home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.cu -o /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -std=c++14
FAILED: /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.o
/usr/local/cuda/bin/nvcc -DWITH_CUDA -I/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc -I/opt/conda/lib/python3.6/site-packages/torch/include -I/opt/conda/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/opt/conda/lib/python3.6/site-packages/torch/include/TH -I/opt/conda/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/opt/conda/include/python3.6m -c -c /home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.cu -o /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -std=c++14
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.cu(42): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_pool_cuda.cu(68): error: identifier "AT_CHECK" is undefined
2 errors detected in the compilation of "/tmp/tmpxft_00000243_00000000-6_deform_pool_cuda.cpp1.ii".
[2/11] /usr/local/cuda/bin/nvcc -DWITH_CUDA -I/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc -I/opt/conda/lib/python3.6/site-packages/torch/include -I/opt/conda/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/opt/conda/lib/python3.6/site-packages/torch/include/TH -I/opt/conda/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/opt/conda/include/python3.6m -c -c /home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu -o /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -std=c++14
FAILED: /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.o
/usr/local/cuda/bin/nvcc -DWITH_CUDA -I/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc -I/opt/conda/lib/python3.6/site-packages/torch/include -I/opt/conda/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/opt/conda/lib/python3.6/site-packages/torch/include/TH -I/opt/conda/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda/include -I/opt/conda/include/python3.6m -c -c /home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu -o /home/jovyan/od/MEGA/mega.pytorch/build/temp.linux-x86_64-3.6/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -std=c++14
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(72): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(200): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(307): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(423): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(504): error: identifier "AT_CHECK" is undefined
/home/jovyan/od/MEGA/mega.pytorch/mega_core/csrc/cuda/deform_conv_cuda.cu(586): error: identifier "AT_CHECK" is undefined
6 errors detected in the compilation of "/tmp/tmpxft_00000240_00000000-6_deform_conv_cuda.cpp1.ii".
last part of the terminal output the complete output is too big.. if you would need i'll post it
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/opt/conda/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1423, in _run_ninja_build
check=True)
File "/opt/conda/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 "setup.py", line 68, in <module>
cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension},
File "/opt/conda/lib/python3.6/site-packages/setuptools/__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/opt/conda/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/conda/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/opt/conda/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/opt/conda/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/opt/conda/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/opt/conda/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/opt/conda/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/opt/conda/lib/python3.6/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/opt/conda/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/opt/conda/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 603, in build_extensions
build_ext.build_extensions(self)
File "/opt/conda/lib/python3.6/site-packages/Cython/Distutils/old_build_ext.py", line 194, in build_extensions
self.build_extension(ext)
File "/opt/conda/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 199, in build_extension
_build_ext.build_extension(self, ext)
File "/opt/conda/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/opt/conda/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 437, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/opt/conda/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1163, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/opt/conda/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1436, in _run_ninja_build
raise RuntimeError(message)
RuntimeError: Error compiling objects for extension
Hello authors,
It was great and really helpful for us that you people shared pre-trained weights. I wanted to use those weights for re-obtaining the AP scores you obtained. However I am facing issues in setting up the individual model architectures(mega,single-baseline,etc) and loading the corresponding weights into them. It would be great if you could give some help in this regard.
Thanks for your excellent work and nice open-source code. Do you mind adding the evaluation on the slow, medium, and fast motion group as shown in FGFA? It may be useful for further research in the field of video object detection.
how can I train my dataset in this git??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.