Giter Site home page Giter Site logo

thinklab-sjtu / r3det_tensorflow Goto Github PK

View Code? Open in Web Editor NEW
539.0 26.0 122.0 7.02 MB

Code for AAAI 2021 paper: R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object

License: Apache License 2.0

Python 98.89% Makefile 0.01% C++ 0.02% Cuda 1.08%
rotation object-detection tensorflow dota

r3det_tensorflow's People

Contributors

yangxue0827 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  avatar  avatar

r3det_tensorflow's Issues

loss is nan

I use R3Det to train my own images, But I found the loss is nan

2020-03-30 13:01:15: global_step:59360 current_step:59360
per_cost_time:0.968s
cls_loss:0.912
reg_loss:nan
refine_cls_loss:0.000
refine_reg_loss:0.000
refine_cls_loss_stage3:0.000
refine_reg_loss_stage3:0.000
total_losses:nan
mask_loss:0.000

the default learning rate is 5e-4, very low

train occur NAN

bbox_transform.py:98: RuntimeWarning: divide by zero encountered in log
targets_dw = np.log(gt_rois[:, 2] / ex_rois[:, 2])


2020-04-07 20:04:45: global_step:140 current_step:140
per_cost_time:0.687s
cls_loss:1.132
reg_loss:nan
refine_cls_loss:0.161
refine_reg_loss:0.000
refine_cls_loss_stage3:0.161
refine_reg_loss_stage3:0.000
total_losses:nan

I use the DOAT1.5, is that means the dataset labels rbbox transform crossing the boundary? how can I solve it?

损失为nan

用自己的数据集做训练,需要改的都改了,和之前跑网络retinanet一样,但跑r3det网络就有问题,刚开始训练到300次的时候就开始出这个问题,此时学习率已经调低到5e-5,
../libs/box_utils/bbox_transform.py:99: RuntimeWarning: divide by zero encountered in log
targets_dh = np.log(gt_rois[:, 3] / ex_rois[:, 3])
../libs/detection_oprations/refinebox_target_layer_without_boxweight.py:40: RuntimeWarning: invalid value encountered in greater_equal
positive_indices = max_overlaps >= pos_threshold
../libs/detection_oprations/refinebox_target_layer_without_boxweight.py:41: RuntimeWarning: invalid value encountered in greater
ignore_indices = (max_overlaps > neg_threshold) & ~positive_indices


2020-04-28 23:54:22: global_step:310 current_step:310
per_cost_time:1.205s
cls_loss:0.346
reg_loss:0.000
refine_cls_loss:0.017
refine_reg_loss:0.000
refine_cls_loss_stage3:0.016
refine_reg_loss_stage3:0.000
total_losses:0.379


2020-04-28 23:54:49: global_step:320 current_step:320
per_cost_time:1.330s
cls_loss:1.129
reg_loss:nan
refine_cls_loss:0.017
refine_reg_loss:0.000
refine_cls_loss_stage3:0.016
refine_reg_loss_stage3:0.000
total_losses:nan

IndexError: Out of bounds on buffer access (axis 0)

您好,很感谢能看到您的论文,在MODEL_ZOO.md.下载模型测试,报错,谢谢
File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0)

2020-04-02 15:56:01.255092: W tensorflow/core/framework/op_kernel.cc:1490] Unknown: IndexError: Out of bounds on buffer access (axis 0)
Traceback (most recent call last):

File "/home/yongfeng/.local/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0)

2020-04-02 15:56:01.255216: W tensorflow/core/framework/op_kernel.cc:1490] Unknown: IndexError: Out of bounds on buffer access (axis 0)
Traceback (most recent call last):

File "/home/yongfeng/.local/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0)

2020-04-02 15:56:01.255469: W tensorflow/core/framework/op_kernel.cc:1490] Unknown: IndexError: Out of bounds on buffer access (axis 0)
Traceback (most recent call last):

File "/home/yongfeng/.local/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0)

2020-04-02 15:56:01.256507: W tensorflow/core/framework/op_kernel.cc:1490] Unknown: IndexError: Out of bounds on buffer access (axis 0)
Traceback (most recent call last):

File "/home/yongfeng/.local/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0)

2020-04-02 15:56:01.257749: W tensorflow/core/framework/op_kernel.cc:1490] Unknown: IndexError: Out of bounds on buffer access (axis 0)
Traceback (most recent call last):

File "/home/yongfeng/.local/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in call
ret = func(*args)

File "rotate_polygon_nms.pyx", line 22, in rotate_polygon_nms.rotate_gpu_nms (rotate_polygon_nms.cpp:1874)

IndexError: Out of bounds on buffer access (axis 0),

请问这是啥原因呢,谢谢!

multi_gpu_training_r3det

Hi. First of all, thank you for opensourcing your great work!
I am trying to train a model through multi_gpu_training_r3det.py using the configurations given in the repo but I am facing some problem.

My environment is consistent with the README
(1、python == 3.5
2、cuda == 10.0 , gcc = 4.9.4
3、opencv(cv2)
4、tfplot == 0.2.0
5、tensorflow == 1.13.1

However while running multi_gpu_training_r3det.py, my script is stuck at sess.run([train_op, global_step])

with tf.Session(config=tfconfig) as sess:
            sess.run(init_op)

            # sess.run(tf.initialize_all_variables())
            coord = tf.train.Coordinator()
            threads = tf.train.start_queue_runners(coord=coord, sess=sess)

            summary_path = os.path.join(cfgs.SUMMARY_PATH, cfgs.VERSION)
            tools.mkdir(summary_path)
            summary_writer = tf.summary.FileWriter(summary_path, graph=sess.graph)

            if not restorer is None:
                restorer.restore(sess, restore_ckpt)
                print('restore model')

            for step in range(cfgs.MAX_ITERATION // num_gpu):
                training_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

                if step % cfgs.SHOW_TRAIN_INFO_INTE != 0 and step % cfgs.SMRY_ITER != 0:
                    _, global_stepnp = sess.run([train_op, global_step])

                else:
                    if step % cfgs.SHOW_TRAIN_INFO_INTE == 0 and step % cfgs.SMRY_ITER != 0:
                        start = time.time()
                        _, global_stepnp, total_loss_dict_ = \
                            sess.run([train_op, global_step, total_loss_dict])

My output right now is as such
(ive commented out the var in graph and ckpt while restoring resnet better display)

Use tf.cast instead.
WARNING:tensorflow:From /mnt/lustre/parkchanho/equivariance-project2/r3det/data/io/read_tfrecord_multi_gpu.py:21: TFRecordReader.__init__ (from tensorflow.python.ops.io_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.TFRecordDataset`.
WARNING:tensorflow:From /mnt/lustre/parkchanho/equivariance-project2/r3det/data/io/read_tfrecord_multi_gpu.py:118: batch (from tensorflow.python.training.input) is deprecated and will be removed in a future version.
Instructions for updating:
Queue-based input pipelines have been replaced by `tf.data`. Use `tf.data.Dataset.batch(batch_size)` (or `padded_batch(...)` if `dynamic_pad=True`).
tfrecord path is --> /mnt/lustre/parkchanho/equivariance-project2/r3det/data/tfrecord/DOTA_train*
WARNING:tensorflow:From ./tools/multi_gpu_train_r3det.py:161: py_func (from tensorflow.python.ops.script_ops) is deprecated and will be removed in a future version.
Instructions for updating:
tf.py_func is deprecated in TF V2. Instead, use
    tf.py_function, which takes a python function which manipulates tf eager
    tensors instead of numpy arrays. It's easy to convert a tf eager tensor to
    an ndarray (just call tensor.numpy()) but having access to eager tensors
    means `tf.py_function`s can use accelerators such as GPUs as well as
    being differentiable using a gradient tape.
 
Tensor("tower_0/Shape:0", shape=(4,), dtype=int32, device=/device:GPU:0) #############################
we are in Pyramid::-======>>>>
['P3', 'P4', 'P5', 'P6', 'P7']
base_anchor_size are:  [32, 64, 128, 256, 512]
WARNING:tensorflow:From /mnt/lustre/parkchanho/anaconda3/envs/r3det/lib/python3.5/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
Tensor("tower_1/Shape:0", shape=(4,), dtype=int32, device=/device:GPU:1) #############################
we are in Pyramid::-======>>>>
['P3', 'P4', 'P5', 'P6', 'P7']
base_anchor_size are:  [32, 64, 128, 256, 512]
Tensor("tower_2/Shape:0", shape=(4,), dtype=int32, device=/device:GPU:2) #############################
we are in Pyramid::-======>>>>
['P3', 'P4', 'P5', 'P6', 'P7']
base_anchor_size are:  [32, 64, 128, 256, 512]
Tensor("tower_3/Shape:0", shape=(4,), dtype=int32, device=/device:GPU:3) #############################
we are in Pyramid::-======>>>>
['P3', 'P4', 'P5', 'P6', 'P7']

model restore from : /mnt/lustre/parkchanho/equivariance-project2/r3det/output/trained_weights/RetinaNet_DOTA_R3Det_2x_20191108/DOTA_1079996model.ckpt
2020-04-07 16:58:19.716699: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-04-07 16:58:19.723312: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2400075000 Hz
2020-04-07 16:58:19.725536: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x7fdc0a9c33c0 executing computations on platform Host. Devices:
2020-04-07 16:58:19.725561: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>

/mnt/lustre/parkchanho/anaconda3/envs/r3det/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py:110: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.
  "Converting sparse IndexedSlices to a dense Tensor of unknown shape. "
WARNING:tensorflow:From ./tools/multi_gpu_train_r3det.py:315: start_queue_runners (from tensorflow.python.training.queue_runner_impl) is deprecated and will be removed in a future version.
Instructions for updating:
To construct input pipelines, use the `tf.data` module.

WARNING:tensorflow:From /mnt/lustre/parkchanho/anaconda3/envs/r3det/lib/python3.5/site-packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
restored model

One of the problems I believe is that when I run the code below as stated in the README, it does not produce anything but an empty file (data/tfrecord/DOTA_train.tfrecord ).

cd $PATH_ROOT/data/io/  
python convert_data_to_tfrecord.py --VOC_dir='/PATH/TO/DOTA/' 
                                   --xml_dir='labeltxt'
                                   --image_dir='images'
                                   --save_name='train' 
                                   --img_format='.png' 
                                   --dataset='DOTA'

Could this be the source of the problem? If not can you suggest any directions I should take? Thank you !

box_utils/cython_utils下无cython_box

你好,我按readme的compile步骤,在第一部make完后,没有看到cython_utils文件夹下由cython_box生成,这导致在anchor_target_layer_without_boxweight脚本中会出现导入错误,请问这个是怎么回事?
谢谢

After modifing bbox encode format, the reg loss is Nan

using DOTA dataset, default cfgs.py of DOTA

原本代码对于输入grountruth box的格式是4个角点坐标 (x0, y0, x1, y1, x2, y2, x3, y3)
我想改成bbox中心点和size的格式,即(xcenter, ycenter, width, height, angle),也就是论文里Fig 9.(b)描述的格式,使得angle的角度范围位于(-180, 0), box的长宽保持固定。
看了下代码感觉网络训练的时候用的是(xc, yc, w, h, angle)的格式,以为只需要改动 gtboxes 输入输出的坐标转换部分就行,于是改了代码里用到box_utils.coordinate_convert.forward convert()box_utils.coordinate_convert.backward convert()的地方,以及angle_range=180的地方

改完之后跑训练代码,一直都是跑到100+步左右就出现除零warning,之后的reg loss就都是Nan。
参照了issue里面有一个方法提到加epsilon=1e-5,也还是没有解决问题。而且在tensorboard里面看refine_stage都没有positive anchor。不知道是什么情况会导致ex_roi(也就是anchor)的长宽出现0?

数据没有问题,直接用没有改的代码跑是正常的。

报错信息:
refinebox_target_layer_without_boxweight.py:40: RuntimeWarning: invalid value encountered in greater_equal
​ positive_indices = max_overlaps >= pos_threshold
refinebox_target_layer_without_boxweight.py:40: RuntimeWarning: invalid value encountered in greater
​ ignore_indices = (max_overlaps > neg_threshold) & ~positive_indices
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dy = (gt_rois[:, 1] - ex_rois[:, 1]) / ex_rois[:, 3]
bbox_transform.py:98 RuntimeWarning: overflow encountered in true_divide
​ targets_dy = (gt_rois[:, 1] - ex_rois[:, 1]) / ex_rois[:, 3]
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dw = np.log(gt_rois[:, 2] / (ex_rois[:, 2] + epsilon) )
bbox_transform.py:98 RuntimeWarning: invalid value encountered in true_divide
​ targets_dx = (gt_rois[:, 0] - ex_rois[:, 0]) / ex_rois[:, 2]
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dh = np.log(gt_rois[:, 3] / (ex_rois[:, 3] + epsilon) )

inference code not working

Hi,
I wanted to test the code by running inference on a couple of samples images i downloaded from the internet. But it's not working. Here are the steps that i followed:

  1. cloned repo and setup the conda environment. Note: since there were compatibility issues between tf 1.13 and python 3.5, I used python version 3.6.
  2. created a subdirectory in the repo called data/pretrained_weights and downloaded the resnet50 related ckpt files from GDrive into the directory. That is, the files resnet50_v1d.ckpt.data-00000-of-00001 , resnet50_v1d.ckpt.index and resnet50_v1d.ckpt.meta.
  3. ran the inference code on a folder containing the following two images:
    1. image_1.
    2. image_2.
  4. the images generated in the destination folder don't contain any bounding boxes.

Am I doing something wrong? Could you please guide. Thanks in advance.

HRSC2016数据集的预训练模型

我看到configs中有关于HRSC2016数据集的相关设置,但是我没有找到R3Det关于HRSC2016数据集的预训练模型,请问在哪里可以获得它?

多GPU运行会出现截图中的错误

执行python multi_gpu_train_r3det.py,多GPU运行会出现截图中的错误,切换成一个GPU就不会出现,错误如下:
InternalError (see above for traceback): WhereOp: Could not launch cub::DeviceReduce::Sum to count number of true / nonzero indices. temp_storage_bytes: 5887, status: invalid resource handle
[[node tower_1/build_refine_loss/Where_2 (defined at ../libs/losses/losses.py:56) = WhereT=DT_BOOL, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]

请问如何解决这个问题。

NMS on categories

Thanks for your share. I run you code on my dataset, and inferece it, i find that there maybe several predicted boxes on a target with different categories. The cfgs about NMS is :

NMS = True
NMS_IOU_THRESHOLD = 0.05
MAXIMUM_DETECTIONS = 40
FILTERED_SCORE = 0.5
VIS_SCORE = 0.5

I guess that you didn't do NMS between different categroies, but it's what I need. So where should I fix?

测试的时候速度很慢

你好,我在测试自己的数据的时候,用的2080ti,网络的backbone是Resnet152,发现推理速度很慢,需要几秒一张,我的图片里头有很多目标,大概有几十个,请问是因为目标多导致的速度慢么?

No moudle error

No moudle named'help_utils.gaussian_wasserstein_distance' when run Eval on DOTA

How about set H + R anchors?

在您的论文中,‘anchor combination strategy.  the horizontal anchors are used in the first stage for faster speed and more proposals, and then the refined rotating anchors are used in the refinement stages to adapt to intensive scenarios。 ’
水平框 在第一阶段可以加速, 优化阶段用 优化过的旋转框
可是在代码中: rpn部分和后面refine stage都用R-anchor,没像论文中所说:用水平锚加速,用旋转锚提高准确率。
不知道 我看的对不对

用HRSC2016数据集训练

作者您好,请问你用HRSC数据集做实验的训练集有多少张图片,是论文里提到的436张吗,

复现不出70.16

大佬你好,我尝试复现出R3Det+数据扩充的结果(70.16)。在原cfgs.py中修改四个数据扩充项为True。结果只有66点几。请问一下大佬训练时有没有什么策略?谢谢!

可视化

各位好,我在训练那过程可视化检测的结果,感觉结果很奇怪,而且效果好像很不好,请问下各位我这图片都看不到是什么原因呢?
Screenshot from 2020-07-03 14-12-46

模型尺寸

@yangxue0827 大佬,你好。我用的是自己的数据集,如果我想训练400*400的模型,直接修改IMG_SHORT_SIDE_LEN这个参数为400的话,训练1600步后,就会报RuntimeWarning: divide by zero encountered in log
targets_dw = np.log(gt_rois[:, 2] / ex_rois[:, 2]),然后loss就直接会变成nan了,训练过800的,是可以的,但是400的不行

关于 refine retinanet的问题

你好,在你用retinanet做实验时,相关环境可以介绍下么,我用 tf-1.14, cuda-10.0.
出现了 两个错误:Internal: WhereOp: Could not launch
Non-OK-status: CudaLaunchKernel
在构建图的时候正常,执行图的时候run train_op,就会报上面两个错误~

about batch_size

Hello author, how to use larger batch_size for training? I changed the batch_size in cfg from 1 to 4, but the actual training process is still training according to batch_size of 1.

errors when testing

I get an error when using test_dota_r3det.py, and the ckpt is saved from training. Can anyone help me? The original error:

Key build_pyramid/build_P3/reduce_dim_P3/biases not found in checkpoint
[[node save/RestoreV2 (defined at ../libs/networks/build_whole_network_r3det.py:386) = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, ..., DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
[[{{node save/RestoreV2/_393}} = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_397_save/RestoreV2", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]

Running eval on images returns nothing

I downloaded the pretrained weights, loaded the model, and tested on random images + some images i sampled from the DOTA dataset test images

But the model returns nothing

I think this might be the result of my confusion, does the pretrained weights contained in the drive the pretrained weights of a fully trained model, or just the backbone?

inference没有输出框

你好,在自己的数据集上训练resnet50_v1d,在测试集上测试,没有框。我输出:
show_indices = detected_scores >= cfgs.VIS_SCORE print(show_indices)
结果也是空。在训练的tensorboard里显示图片似乎有损坏,但下载下来图片完好。请问是什么问题?
image

模型测试和预测

你好,请问下如何在模型测试时,进行coco类型的mAP计算呢?
还有个问题是如何进行模型预测,得到结果呢?
烦请各位大佬指点下,谢谢!

DOTA 1.5

Have you tested your model on DOTA 1.5. If yes, what are the accuracy results?

ICDAR2015 config

Hello, the paper mentions that the F score of the ICDAR2015 dataset reaches 84.96. Can you provide the configuration file, some training details? Are you using other datasets for pre-training?

训练自己的数据

你好,下载好R3Det预训练模型,训练自己的数据,需要调整相应cfg文件中比如freeze之类的操作吗?
我似乎找不到相关的操作命令。(主要是因为下载了预训练模型然后训练,感觉效果并不好,所以在想是不是我只是在trained model上进行微调,而没有freeze backbne进行全部参数的训练呢?)

inference script not working

applied tools/inference.py on DOTA Test set 2 images, still no bounding boxes. Adjusted libs/configs/cfgs.py VIS_SCORE to 0.0, still no bounding boxes.

Here's the code I used
python inference.py --data_dir '/dir/of/2/test/images/' --save_dir '/my/chosen/folder/' --gpu 0 --draw_imgs

Here's the output running inference script on DOTA Test set P0034.png
image

Originally posted by @ncdejito in #7 (comment)

Doing the large rotated objects detection, hope for some recommendations

  1. those objects are rotated and relatively large [i.e the target will take 1/3 of the image]
  2. I am trying the multi_gpu_train_r3det.py, total loss is like below 0.5, but when I test it by test_dota_r3det.py, it seems no correct annotations shown.

Do I need to adjust the anchor parameters like ratio and scale ? or other methods are suggested to make it better ?

Thx.

360 degree predictions

Can this framework be used to predict object orientations from 0-360 degrees?
I'd love to be able to detect objects and know which way they are facing.

Thanks!
-R

Cannot compile C code in box_utils

Errors:
bbox.c: In function ‘__Pyx__ExceptionSave’:
bbox.c:9439:19: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’
*type = tstate->exc_type;

Actually i have solved this problem by deleting .c files in box_utils.
Just a reminder for those have same the problems can have an access to solve it.

Analysis:
The incompatibility of Cython and .c files will raise the above error.
After you updated the Cython, you would find it useless for that those old .c files will not be covered by the new generated .c files.
Delete the old .c files, and then recompile it, you will find anything goes well.

Missing file ?

I don't find multi_gpu_train_r3det.py, test_dota_r3det.py file. Can you update them ? Thanks !

about RetinaNet cfgs's question

RetinaNet | ResNet50_v1d 600->800 | DOTA1.0 trainval | DOTA1.0 test | 68.65 | 1X GeForce RTX 2080 Ti | 1 | R | iou-smooth L1 | 1x | No | cfgs_res50_dota_v5.py
in your model zoo,i only want to use 7th version, then its cfg may not match.
there is not in 'REFINE_IOU_POSITIVE_THRESHOLD', 'REFINE_IOU_NEGATIVE_THRESHOLD', 'USE_IOU_FACTOR'.
I don't know 'lr schd- 1x' meaning.
My application is simple that is two classes.
(汉语回答也行)

预训练模型维度

各位好,我在训练的时候,导入RetinanetDOTA_1X的预训练模型,使用的backbone是resnet50_v1d。运行程序的时候,报下面错误,看字面意思是模型的维度不匹配,这是什么原因导致的呢?我是按作者的config文件夹下相应的retinanet的cfg文件里面的参数,然后下载的模型也是官方的ModelZoo和GloonCV项目中的相应模型,不明白报这个错误的原因,还请各位大佬指点下。感谢!
Screenshot from 2020-07-11 02-28-45

multi_gpu_train_r3det.

I don't find 'multi_gpu_train_r3det.py' ,'test_dota_r3det.py'.Can u provide them ? Thanks !

Anchor

大佬好,我对Anchor的设置有些疑问。
对于H+R这一情况,在相关配置文件中只看到METHOD = 'H'这一项,在训练时好像也只用了矩形候选框,请问旋转候选框部分是在哪里实现的。

关于R版本的 环境配置

我在tf1.14 cuda10.0,未运行成功R版本。
错误:Internal: WhereOp
可以提供您的环境么,或者给点建议

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.