conflicting dependencies

If I follow the installation steps currently in the README, I get the following from the last pip command (i.e. when installing layout-parser a second time, after installing detectron2):
Installing collected packages: pycocotools, fvcore
  Attempting uninstall: pycocotools
    Found existing installation: pycocotools 2.0.2
    Uninstalling pycocotools-2.0.2:
      Successfully uninstalled pycocotools-2.0.2
  Attempting uninstall: fvcore
    Found existing installation: fvcore 0.1.2.post20210128
    Uninstalling fvcore-0.1.2.post20210128:
      Successfully uninstalled fvcore-0.1.2.post20210128
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ocrd-segment 0.1.3 requires pycocotools>=2.0.2, but you have pycocotools 2.0.1 which is incompatible.
detectron2 0.3 requires fvcore<0.1.3,>=0.1.2, but you have fvcore 0.1.1.post20200623 which is incompatible.
detectron2 0.3 requires pycocotools>=2.0.2, but you have pycocotools 2.0.1 which is incompatible.
Successfully installed fvcore-0.1.1.post20200623 pycocotools-2.0.1

So it seems we are in conflict with current master of detectron2 here.
Could you point me to the right version of detectron2 to fetch, or update layout-parser accordingly?
Also, why not make the detectron2 dependency explicit in setup.py?

I am not sure if this is related: When I ignore the above errors and continue with detection, I see these:
>>> import layoutparser as lp
** fvcore version of PathManager will be deprecated soon. **
** Please migrate to the version in iopath repo. **
https://github.com/facebookresearch/iopath

>>> layout = model.detect(image)
/data/ocr-d/ocrd_all/venv/lib/python3.7/site-packages/detectron2/modeling/roi_heads/fast_rcnn.py:154: UserWarning: This overload of nonzero is deprecated:
	nonzero()
Consider using one of the following signatures instead:
	nonzero(*, bool as_tuple) (Triggered internally at  /pytorch/torch/csrc/utils/python_arg_parser.cpp:882.)
  filter_inds = filter_mask.nonzero()

And result is empty.

I am not sure if this is related: When I ignore the above errors and continue with detection, I see these:
>>> import layoutparser as lp
** fvcore version of PathManager will be deprecated soon. **
** Please migrate to the version in iopath repo. **
https://github.com/facebookresearch/iopath

>>> layout = model.detect(image)
/data/ocr-d/ocrd_all/venv/lib/python3.7/site-packages/detectron2/modeling/roi_heads/fast_rcnn.py:154: UserWarning: This overload of nonzero is deprecated:
	nonzero()
Consider using one of the following signatures instead:
	nonzero(*, bool as_tuple) (Triggered internally at  /pytorch/torch/csrc/utils/python_arg_parser.cpp:882.)
  filter_inds = filter_mask.nonzero()

And result is empty.

Tried with the last stable release, i.e. detectron2==0.3, but still the same result.

Tried with the last stable release, i.e. detectron2==0.3, but still the same result.

0.2.1 (on torch==0.1.6) is also the same.
Note, one cannot just ignore detectron2's fvcore requirement, since it is enforced:
    assert get_version(fvcore, 3) >= (0, 1, 2), "Requires fvcore>=0.1.2"
AssertionError: Requires fvcore>=0.1.2

0.2.1 (on torch==0.1.6) is also the same.
Note, one cannot just ignore detectron2's fvcore requirement, since it is enforced:
    assert get_version(fvcore, 3) >= (0, 1, 2), "Requires fvcore>=0.1.2"
AssertionError: Requires fvcore>=0.1.2

And layout is empty.

That might be a specific problem of the lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config model. I do get non-empty results for all the other models (including ResNet-50 based PubLayNet models) – but the results are pretty much useless for my historical documents.
I can provide samples from layoutparser.draw_box().

And layout is empty.

That might be a specific problem of the lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config model. I do get non-empty results for all the other models (including ResNet-50 based PubLayNet models) – but the results are pretty much useless for my historical documents.
I can provide samples from layoutparser.draw_box().

Thanks for reporting this issue! There has been some updates for Detection, and the support for fvcore is somewhat problematic in the current version. I plan to remove the fvcore dependency in the next major release, which should be around within 1 month.
And speaking of the models

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:

lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models. But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Thanks for reporting this issue! There has been some updates for Detection, and the support for fvcore is somewhat problematic in the current version. I plan to remove the fvcore dependency in the next major release, which should be around within 1 month.
And speaking of the models

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:

lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models. But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Many thanks for your fast response!
Good to know you are already onto these dependency conflicts.
So am I correct in inferring these warnings don't actually do any harm?

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

Understood. I went as far down as lp.Detectron2LayoutModel('lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config', extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.01]), but still got no results there.

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models.

With pleasure:

original:

on newspapernavigator Mask-RCNN model:

on primalayout Mask-RCNN model:

on publaynet (small) Mask-RCNN model:

But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Wonderful!

Many thanks for your fast response!
Good to know you are already onto these dependency conflicts.
So am I correct in inferring these warnings don't actually do any harm?

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

Understood. I went as far down as lp.Detectron2LayoutModel('lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config', extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.01]), but still got no results there.

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models.

With pleasure:

original:

on newspapernavigator Mask-RCNN model:

on primalayout Mask-RCNN model:

on publaynet (small) Mask-RCNN model:

But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Wonderful!

@bertsky, nice to virtually meet you. Found your Leipzig institutional affiliation via search engine sleuthing. :-) So wish you were on Twitter so you could be engaged in the fine-grained research chatter related to the intersection of Digital Humanities and AI/ML wrt digitization pipelines. As an independent Citizen Scientist, that communication channel is invaluable to me.
You must be buddies with Clemens Neudecker and the OCR-D network given your recent involvement in that mega project. I know them through involvement in the Time Machine EU project, NewsEye, DATeCH, and Andreas Maier’s Pattern Recognition lab at FAU etc. First noticed your GitHub comment about LAREX’s PAGEgts reading order issue. I resonated with that as magazines and newspapers have complex document structures where within page reading order is indeterminate while being determinant at the issue level.
It is not surprising to see you here kicking the tires of Zejiang @lolipopshock Layout-Parser. The PDF annotation tool Zejiang alludes to is #PAWLS from @allenai lab here: https://github.com/allenai/pawls. Looks awesome and could be very helpful to my #MAGAZINEgts research. Would corresponding to you via your Leipzig email address be okay? Or do you have a preferred way to chat about shared interests?

@bertsky, nice to virtually meet you. Found your Leipzig institutional affiliation via search engine sleuthing. :-) So wish you were on Twitter so you could be engaged in the fine-grained research chatter related to the intersection of Digital Humanities and AI/ML wrt digitization pipelines. As an independent Citizen Scientist, that communication channel is invaluable to me.
You must be buddies with Clemens Neudecker and the OCR-D network given your recent involvement in that mega project. I know them through involvement in the Time Machine EU project, NewsEye, DATeCH, and Andreas Maier’s Pattern Recognition lab at FAU etc. First noticed your GitHub comment about LAREX’s PAGEgts reading order issue. I resonated with that as magazines and newspapers have complex document structures where within page reading order is indeterminate while being determinant at the issue level.
It is not surprising to see you here kicking the tires of Zejiang @lolipopshock Layout-Parser. The PDF annotation tool Zejiang alludes to is #PAWLS from @allenai lab here: https://github.com/allenai/pawls. Looks awesome and could be very helpful to my #MAGAZINEgts research. Would corresponding to you via your Leipzig email address be okay? Or do you have a preferred way to chat about shared interests?

BTW @bertsky, given my OCDish bent, I actually spent a looonnnggg day getting Layout-Parser installed and working on my Windows 10 development box. I told Zejiang @lolipopshock I’d contribute an installation note to that effect once I confirmed the procedure. So far I have not been successful rewalking that torturous process. :-/ Will likely wait for a Docker release so as not to need to knock myself out with future updates. :-)

BTW @bertsky, given my OCDish bent, I actually spent a looonnnggg day getting Layout-Parser installed and working on my Windows 10 development box. I told Zejiang @lolipopshock I’d contribute an installation note to that effect once I confirmed the procedure. So far I have not been successful rewalking that torturous process. :-/ Will likely wait for a Docker release so as not to need to knock myself out with future updates. :-)

Many thanks for your fast response!
Good to know you are already onto these dependency conflicts.
So am I correct in inferring these warnings don't actually do any harm?

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

Understood. I went as far down as lp.Detectron2LayoutModel('lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config', extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.01]), but still got no results there.

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models.

With pleasure:

original:

on newspapernavigator Mask-RCNN model:

on primalayout Mask-RCNN model:

on publaynet (small) Mask-RCNN model:

But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Wonderful!

Yes, please ignore the warnings. And the document is significantly different from the training datasets, so it's expected to generate the non-sense outputs.

Many thanks for your fast response!
Good to know you are already onto these dependency conflicts.
So am I correct in inferring these warnings don't actually do any harm?

it generates no outputs because it does not detect any boxes more than the specified confidence thresholds. You could try adding the extra_config when initializing the models to lower the threshold and try to see some outputs:lp.Detectron2LayoutModel(
            config_path = xxx,
            extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.25], # reduce the values)

Understood. I went as far down as lp.Detectron2LayoutModel('lp://PubLayNet/mask_rcnn_X_101_32x8d_FPN_3x/config', extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.01]), but still got no results there.

I think your dataset looks significantly different from the PubLayNet dataset and the others. If possible, you could share a screenshot of your doc and I could better help you identify the best models.

With pleasure:

original:

on newspapernavigator Mask-RCNN model:

on primalayout Mask-RCNN model:

on publaynet (small) Mask-RCNN model:

But ultimately, you might need to create the annotations yourself and train you own models. Speaking of that:

for the pre-training issue you mentioned earlier, it should be fixed within 1wk
and we are working on an annotation tool for more efficient layout annotation. it should be released within 1mo, and please stay tuned.

Wonderful!

Yes, please ignore the warnings. And the document is significantly different from the training datasets, so it's expected to generate the non-sense outputs.

@Jim-Salmons, my pleasure!
Regarding communication channels, Twitter's not my cup of tea TBH, but you can reach me under the same nick at gitter.im. Probably not a replacement for public fine-grained research chatter, though. But as an open forum frequented by researchers and practitioners in the field alike, I can recommend and invite you to https://gitter.im/OCR-D/Lobby. (And yes, my Uni Leipzig email is also fine of course.)
Yes, I do know Clemens, and indeed continue to work on that mega-project (on and off, also hoping to stay involved in the next round).
I agree, reading order is especially tough on newspapers and magazines. Incidentally, I have recently come to use a nice new layout tool (a contribution from SBB to the Qurator project co-chaired by Clemens IIRC) which IMHO excels in that respect: eynollah.
PAWLS, I've heard of it, and welcome seeing a fresh new approach to GT production/annotation, with different focus than LAREX, Transkribus etc. But such tools only become interesing to me as soon as they support ALTO or PAGE.
But I must confess I don't know anything about your MAGAZINEgts yet, so I've got to catch up with reading in that area I guess...

@Jim-Salmons, my pleasure!
Regarding communication channels, Twitter's not my cup of tea TBH, but you can reach me under the same nick at gitter.im. Probably not a replacement for public fine-grained research chatter, though. But as an open forum frequented by researchers and practitioners in the field alike, I can recommend and invite you to https://gitter.im/OCR-D/Lobby. (And yes, my Uni Leipzig email is also fine of course.)
Yes, I do know Clemens, and indeed continue to work on that mega-project (on and off, also hoping to stay involved in the next round).
I agree, reading order is especially tough on newspapers and magazines. Incidentally, I have recently come to use a nice new layout tool (a contribution from SBB to the Qurator project co-chaired by Clemens IIRC) which IMHO excels in that respect: eynollah.
PAWLS, I've heard of it, and welcome seeing a fresh new approach to GT production/annotation, with different focus than LAREX, Transkribus etc. But such tools only become interesing to me as soon as they support ALTO or PAGE.
But I must confess I don't know anything about your MAGAZINEgts yet, so I've got to catch up with reading in that area I guess...

@lolipopshock

And the document is significantly different from the training datasets, so it's expected to generate the non-sense outputs.

I see. I had my hopes up a little for the HJDataset model, because they are equally historic and are similar in visual appearance. But of course, vertical text in horizontal columns and horizontal text in vertical columns are still very different kinds of layouts. Anyway, for the sake of completeness, here's the result of applying that model to my sample after 90° reflection:

So I guess I should really start training my own models now. But I am wondering: Do you have any experience how well mixing different datasets (in the hope to increase generality) or transferring weights from a larger model like the full PubLayNet to a small domain model works?

@lolipopshock

And the document is significantly different from the training datasets, so it's expected to generate the non-sense outputs.

I see. I had my hopes up a little for the HJDataset model, because they are equally historic and are similar in visual appearance. But of course, vertical text in horizontal columns and horizontal text in vertical columns are still very different kinds of layouts. Anyway, for the sake of completeness, here's the result of applying that model to my sample after 90° reflection:

So I guess I should really start training my own models now. But I am wondering: Do you have any experience how well mixing different datasets (in the hope to increase generality) or transferring weights from a larger model like the full PubLayNet to a small domain model works?

I noticed that I fed images in BGR instead of RGB (the cv2.imread example in the README does not explain this, should have read the other documentation first). But it does not make a difference. (Also, strangely, all models have input.format: BGR in their configuration...)
Then I tried to do binarization, deskewing and cropping externally. This did help somewhat:

on primalayout Mask-RCNN model:
on publaynet (full) Mask-RCNN model (non-empty now):

I wonder what the masks would look like. Is there a way to query / plot them?
Also, getting back to vertical text and in-domain data, here's a different set of examples:

original
on HJDataset model

Is that expected output, too? Why do I get the feeling I am making some user-side mistake?

(In fairness, I do get good looking results on PubLayNet itself. Here are 3 images from the validation subset:

original image
on publaynet (large) model

Looking forward to your expert opinion on my above question how this could become a base model for other domains...

Hi. Thanks for this library.
The idea seem awesome. However, I still haven't got the chance to use it as I'm having issues with the conflicted dependencies stated above.
Also, I'm having issues installing pycocotools on windows10.
ERROR: Failed building wheel for pycocotools
Running setup.py clean for pycocotools
Failed to build pycocotools
Installing collected packages: pycocotools, opencv-python, fvcore, layoutparser
Attempting uninstall: pycocotools
Found existing installation: pycocotools 2.0
Uninstalling pycocotools-2.0:
Successfully uninstalled pycocotools-2.0
Running setup.py install for pycocotools ... error

It seems that pycocotools the fix in windows 10 is:
https://github.com/cocodataset/cocoapi/issues/169

Thanks for reporting this issue! There has been some updates for Detection, and the support for fvcore is somewhat problematic in the current version. I plan to remove the fvcore dependency in the next major release, which should be around within 1 month.

Any update on this?
Thank you!

Thanks for reporting the issue for installing pycocotools on win10 - Let me try to fix that.
Speaking on the next major update, we are currently working on more features and it should be a huge update! Please stay tuned and we will release it very soon!

The installation issue should be fixed in the latest commit. However, as it hasn't been pushed to pypi, you might want to install via pip install "git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser". See also #11 .

There are still some issues with
"git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser".
I've a usable configuration with:
fvcore==0.1.3.post20210310
torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
detectron2 0.3

There are still some issues with
"git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser".
I've a usable configuration with:
fvcore==0.1.3.post20210310
torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
detectron2 0.3

Thanks for reporting! Could you share the exact issues for using pip install "git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser" for installation and I could look into that? Thanks!

There are still some issues with
"git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser".
I've a usable configuration with:
fvcore==0.1.3.post20210310
torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
detectron2 0.3

Thanks for reporting! Could you share the exact issues for using pip install "git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser" for installation and I could look into that? Thanks!

#a message that a library is requiring fvcore==0.1.2 (detectron2 04 i think) or a ModuleNotFoundError
(sorry for not saving the errors , but right now i'm afraid to replicate the configuration :)
Any tentative to update fvcore or dectectron is giving the following messages:
layoutparser 0.1.3 requires fvcore==0.1.1.post20200623, but you have fvcore 0.1.5.post20210402 which is incompatible.
layoutparser 0.1.3 requires pycocotools==2.0.1, but you have pycocotools 2.0.2 which is incompatible.
still it seems tow work with fvcore above 0.1.2
After installing the above libraries (fvcore1.1.3 detectron2 03) there are only warnings:
** fvcore version of PathManager will be deprecated soon. **
** Please migrate to the version in iopath repo. **
https://github.com/facebookresearch/iopath
/home/user/anaconda3/lib/python3.8/site-packages/detectron2/modeling/roi_heads/fast_rcnn.py:124: UserWarning: This overload of nonzero is deprecated:
nonzero()
Consider using one of the following signatures instead:
nonzero(*, bool as_tuple) (Triggered internally at  /pytorch/torch/csrc/utils/python_arg_parser.cpp:882.)
filter_inds = filter_mask.nonzero()

Hello @lolipopshock,
I believe we have the same issue with @CrisChir. When i installed Layour-parser with "pip install layoutparser", it's downloads fvcore==0.1.1.post20200623.
when I installed detectron2 with "pip install git+https://github.com/facebookresearch/detectron2.git#egg=detectron2", it's downloads fvcore-0.1.5.post20210402.
so while I am trying to download the model with "model = lp.Detectron2LayoutModel('lp://PrimaLayout/mask_rcnn_R_50_FPN_3x/config')" I got the error as below
ERROR: layoutparser 0.1.3 has requirement fvcore==0.1.1.post20200623, but you'll have fvcore 0.1.5.post20210402 which is incompatible.
ERROR: layoutparser 0.1.3 has requirement pycocotools==2.0.1, but you'll have pycocotools 2.0.2 which is incompatible.
could you suggest something to handle this error, please?

Hello @lolipopshock,
I believe we have the same issue with @CrisChir. When i installed Layour-parser with "pip install layoutparser", it's downloads fvcore==0.1.1.post20200623.
when I installed detectron2 with "pip install git+https://github.com/facebookresearch/detectron2.git#egg=detectron2", it's downloads fvcore-0.1.5.post20210402. And the error occur as below:
ERROR: layoutparser 0.1.3 has requirement fvcore==0.1.1.post20200623, but you'll have fvcore 0.1.5.post20210402 which is incompatible.
ERROR: layoutparser 0.1.3 has requirement pycocotools==2.0.1, but you'll have pycocotools 2.0.2 which is incompatible.
Also while I am trying to download the model with "model = lp.Detectron2LayoutModel('lp://PrimaLayout/mask_rcnn_R_50_FPN_3x/config')" I got the error as below
Traceback (most recent call last):
File "", line 1, in
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 53, in new
cls._import_module()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 39, in _import_module
if importlib.util.find_spec(m["module_path"]):
File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
parent = import(parent_name, fromlist=['path'])
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/init.py", line 5, in
setup_environment()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 108, in setup_environment
_configure_libraries()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 88, in _configure_libraries
assert get_version(fvcore, 3) >= (0, 1, 2), "Requires fvcore>=0.1.2"
AssertionError: Requires fvcore>=0.1.2
could you suggest something to handle this error, please?

The workaround was in my case:
pip install detectron2==0.3 ( see pypi FOR syntax)
Also pip install fvcore==1.1.3xyz (also pypi)
It will work with warnings( restart kernel after pip :)

Hi @CrisChir , I tried to use your workaround solution but couldn't downgrade detectron2.
Command I use and output are:
pip install detectron2==0.3
ERROR: Could not find a version that satisfies the requirement detectron2==0.3 (from versions: none)
ERROR: No matching distribution found for detectron2==0.3
How did you downgrade detectron2?

This wroked for me to install detrectron v03:
git clone --branch v0.3 https://github.com/facebookresearch/detectron2.git external/detectron2
pip install external/detectron2

Hello @lolipopshock,
I believe we have the same issue with @CrisChir. When i installed Layour-parser with "pip install layoutparser", it's downloads fvcore==0.1.1.post20200623.
when I installed detectron2 with "pip install git+https://github.com/facebookresearch/detectron2.git#egg=detectron2", it's downloads fvcore-0.1.5.post20210402. And the error occur as below:
ERROR: layoutparser 0.1.3 has requirement fvcore==0.1.1.post20200623, but you'll have fvcore 0.1.5.post20210402 which is incompatible.
ERROR: layoutparser 0.1.3 has requirement pycocotools==2.0.1, but you'll have pycocotools 2.0.2 which is incompatible.
Also while I am trying to download the model with "model = lp.Detectron2LayoutModel('lp://PrimaLayout/mask_rcnn_R_50_FPN_3x/config')" I got the error as below
Traceback (most recent call last):
File "", line 1, in
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 53, in new
cls._import_module()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 39, in _import_module
if importlib.util.find_spec(m["module_path"]):
File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
parent = import(parent_name, fromlist=['path'])
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/init.py", line 5, in
setup_environment()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 108, in setup_environment
_configure_libraries()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 88, in _configure_libraries
assert get_version(fvcore, 3) >= (0, 1, 2), "Requires fvcore>=0.1.2"
AssertionError: Requires fvcore>=0.1.2
could you suggest something to handle this error, please?

The workaround was in my case:
pip install detectron2==0.3 ( see pypi FOR syntax) since detection 03 does not work with torch 1.8 downgrade torch to 1.7
Also pip install fvcore==1.1.3xyz (also pypi)
It will work with warnings( restart kernel after pip :)

@CrisChir: I still get an error even with exact the versions you mentioned ("DLL load failed while importing _C: The specified procedure could not be found.)" when doing model = lp.Detectron2.... . Could you double-check the versions? I still cannot make it work :(

Hello @lolipopshock,
I believe we have the same issue with @CrisChir. When i installed Layour-parser with "pip install layoutparser", it's downloads fvcore==0.1.1.post20200623.
when I installed detectron2 with "pip install git+https://github.com/facebookresearch/detectron2.git#egg=detectron2", it's downloads fvcore-0.1.5.post20210402. And the error occur as below:
ERROR: layoutparser 0.1.3 has requirement fvcore==0.1.1.post20200623, but you'll have fvcore 0.1.5.post20210402 which is incompatible.
ERROR: layoutparser 0.1.3 has requirement pycocotools==2.0.1, but you'll have pycocotools 2.0.2 which is incompatible.
Also while I am trying to download the model with "model = lp.Detectron2LayoutModel('lp://PrimaLayout/mask_rcnn_R_50_FPN_3x/config')" I got the error as below
Traceback (most recent call last):
File "", line 1, in
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 53, in new
cls._import_module()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/layoutparser/models/layoutmodel.py", line 39, in _import_module
if importlib.util.find_spec(m["module_path"]):
File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
parent = import(parent_name, fromlist=['path'])
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/init.py", line 5, in
setup_environment()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 108, in setup_environment
_configure_libraries()
File "/home/ak/Desktop/parser/env_parser/lib/python3.8/site-packages/detectron2/utils/env.py", line 88, in _configure_libraries
assert get_version(fvcore, 3) >= (0, 1, 2), "Requires fvcore>=0.1.2"
AssertionError: Requires fvcore>=0.1.2
could you suggest something to handle this error, please?

The workaround was in my case:
pip install detectron2==0.3 ( see pypi FOR syntax) since detection 03 does not work with torch 1.8 downgrade torch to 1.7
Also pip install fvcore==1.1.3xyz (also pypi)
It will work with warnings( restart kernel after pip :)

@CrisChir: I still get an error even with exact the versions you mentioned ("DLL load failed while importing _C: The specified procedure could not be found.)" when doing model = lp.Detectron2.... . Could you double-check the versions? I still cannot make it work :(
I will check later today.
still : YOU are using Windows or Linux ?
Conda?

I'm using Windows and conda, thanks!

I'm using Windows and conda, thanks!
my error is something like this:
ModuleNotFoundError: No module named 'fvcore.nn.distributed'

In jupyter notebook (use separate environment things can get messy:)
Workaround:
It is possible to have issues with windows but you can get a try:
So jupyter notebook
import sys
print(sys.version)
Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install fvcore==0.1.3.post20210310
Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
import sys
!{sys.executable} -m pip install detectron2==0.3 -f
https://dl.fbaipublicfiles.com/detectron2/wheels/cpu/torch1.7/index.html
Check the installation after restarting the kernel
import fvcore
print(fvcore.version)
#0.1.3.post20210310
import detectron2
print(detectron2.version)
#0.3
import torch
print(torch.version)
#1.7.1+cpu
##using pip simple is installing the packages in all environments
#the alternative way is to install packages via conda in a dedicated environment but I have some issue with that in Linux Mint:)

When trying to install the latest version of detectron2 (0.4) I get this error:
  SolverProblemError

  Because detectron2 (0.4+cu111) depends on pycocotools (>=2.0.2)
   and layoutparser (0.1.3) depends on pycocotools (2.0.1), detectron2 (0.4+cu111) is incompatible with layoutparser (0.1.3).
  And because no versions of layoutparser match >0.1.3,<0.2.0, detectron2 (0.4+cu111) is incompatible with layoutparser (>=0.1.3,<0.2.0).
  So, because german-tools depends on both layoutparser (^0.1.3) and detectron2 (0.4+cu111), version solving failed.

The message looks a bit differently than the other reports here because I'm using Poetry, but the problem is the same.

In #18,  the dependency on fvcore has been removed. And I plan to fix the Detectron2 version as v0.3 in the installation as well. Could you try again with the current following installation scripts and see if it can fix your issues? @edisongustavo @CrisChir @maxml7331 @ermissa
pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
pip install -U<EMAIL_ADDRESS>
Also Kudos to @edisongustavo  for the help in #18.

FYI, I am now able to install the library with:
$ poetry add git+https://github.com/Layout-Parser/layout-parser.git https://dl.fbaipublicfiles.com/detectron2/wheels/cu111/torch1.8/detectron2-0.4%2Bcu111-cp39-cp39-linux_x86_64.whl

Looking forward for the new release :)

On a windows clean environment i get errors for detectron2 script  (numpy conflict VB?)
Windows : pip install layoutparser
ERROR: Command errored out with exit status 1:
Windows:pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
Building wheel for pycocotools (setup.py) ... error
ERROR: Command errored out with exit status 1:
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
After installing Visual Studio build tools:
there is no error
Successfully built layoutparser pycocotools
Next the command:
pip install -U<EMAIL_ADDRESS>Give the following error:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
----------------------------------------
ERROR: Command errored out with exit status 3: python setup.py egg_info Check the logs for full command output.

In #18, the dependency on fvcore has been removed. And I plan to fix the Detectron2 version as v0.3 in the installation as well. Could you try again with the current following installation scripts and see if it can fix your issues? @edisongustavo @CrisChir @maxml7331 @ermissa
pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
pip install -U<EMAIL_ADDRESS>
Also Kudos to @edisongustavo for the help in #18.

Thanks! I now get a new error when I do "model = lp.Detectron2LayoutModel...."
[Errno 22] Invalid argument: 'C:\Users\Max/.torch/iopath_cache\s/f3b12qc4hc0yh4m\config.yml?dl=1.lock'

Thanks @lolipopshock , I successfully installed and used library. Dependency problem solved for me.

In #18, the dependency on fvcore has been removed. And I plan to fix the Detectron2 version as v0.3 in the installation as well. Could you try again with the current following installation scripts and see if it can fix your issues? @edisongustavo @CrisChir @maxml7331 @ermissa
pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
pip install -U<EMAIL_ADDRESS>
Also Kudos to @edisongustavo for the help in #18.

Thanks! I now get a new error when I do "model = lp.Detectron2LayoutModel...."
[Errno 22] Invalid argument: 'C:\Users\Max/.torch/iopath_cache\s/f3b12qc4hc0yh4m\config.yml?dl=1.lock'

OK Let's move the discussion to  #15

On a windows clean environment i get errors for detectron2 script
Conclusion:

detectron2 is not supported for windows
I’ve not tested with Linux or macOS
Detectron2 for windows is another story :)

Details for windows:
Windows : pip install layoutparser
ERROR: Command errored out with exit status 1:
Windows:pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
Building wheel for pycocotools (setup.py) ... error
ERROR: Command errored out with exit status 1:
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
After installing Visual Studio build tools:
there is no error
Successfully built layoutparser pycocotools
Next the command:
pip install -U<EMAIL_ADDRESS>Give the following error:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
ERROR: Command errored out with exit status 3: python setup.py egg_info Check the logs for full command output.

Thanks for testing. I also tested on Windows earlier and the dependency issue was a nightmare, though I found some posts that were helpful for solving the issues. I am thinking several workaround to avoid installing Detectron2 with enabling detection models in the future version. One possible candidate is jit but Detectron2's support for jit was neither good.

On a windows clean environment i get errors for detectron2 script
Conclusion:

detectron2 is not supported for windows
I’ve not tested with Linux or macOS
Detectron2 for windows is another story :)

Details for windows:
Windows : pip install layoutparser
ERROR: Command errored out with exit status 1:
Windows:pip install -U 'git+https://github.com/layout-parser/layout-parser.git#egg=layoutparser'
Building wheel for pycocotools (setup.py) ... error
ERROR: Command errored out with exit status 1:
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
After installing Visual Studio build tools:
there is no error
Successfully built layoutparser pycocotools
Next the command:
pip install -U<EMAIL_ADDRESS>Give the following error:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
ERROR: Command errored out with exit status 3: python setup.py egg_info Check the logs for full command output.

Thanks for testing. I also tested on Windows earlier and the dependency issue was a nightmare, though I found some posts that were helpful for solving the issues. Speaking of Mac and Linux, I've extensively tested on these two platforms and it should be straightforward to install them.
I am thinking several workaround to avoid installing Detectron2 with enabling detection models in the future version. One possible candidate is jit but Detectron2's support for jit is neither good. Let's see if they could provide better support in the future.

Onne issu was linked to the a missing library: libdevel): GNU C Library: Development Libraries and Header Files
So:
On a clean environment the following works:
veriffy if you have the right library installed libdevel ): GNU C Library: Development Libraries and Header Files
if not install the library on debian :
sudo apt-get install libc6-dev
$install detectron03 with torch 1.7
pip install -U<EMAIL_ADDRESS>now i'have the following configuration:
fvcore 0.1.5.post20210413
detectron2 with torch 1.7
and no warnings or errors.

Posting this here for anyone who runs into a similar issue, I received an error "... site-packages/torch/lib/libtorch_global_deps.so: cannot open shared object file: No such file or directory" when running an example, similar to the error received here:
https://stackoverflow.com/questions/55476131/error-libtorch-python-so-cannot-open-shared-object-file-no-such-file-or-direct/55477773#55477773
Following the accepted solution, I uninstalled torch. I had to modify the accepted solution since 1.4.0 is the minimum required, but this fixes the error.


Consider using clang-format

In the CONTRIBUTING you have specification about the code style. Might be smart to utilize clang-format to auto-format/enforce formatting for code contributions.
Documentation: https://clang.llvm.org/docs/ClangFormat.html

I'm going to be perfectly honest: I never used clang format and I never actually formatted my code when I worked on sol2. Back in the original sol, the guidelines were set out by the progenitor -- Rapptz -- and I've more or less kept them intact (though now I think I freely use tabs and not spaces, aha).
I might actually remove that part of the CONTRIBUTING, since I sort of don't really care too overtly much about it (and I'll likely hit any pull request with my formatting anyhow before I make a release out of it).

I found it really useful to keep consistency. Additionally, you can easily hook up Travis to check for compliance.

We have a shiny file. I haven't used it yet: https://github.com/ThePhD/sol2/blob/develop/.clang-format

I've clang formatted the hell out of everything.


Include Decision Notes in proposal

-Include Decision Notes in Proposal;
closes #2

Thanks for updating @digoreis ! 👍 Looks good now, except there are conflicts to resolve since merging #16 😅

thanks so much @digoreis ! 💯


Re-expose XMPP object's properties

In recent versions, the XMPP global object contained keys such as Iq such that one could call client.stanzas.extend(XMPP.Iq, someStanzaObject). In browsers, this could be used to extend stanza.io's stanzas with custom stanzas at runtime with this short command without making use of browserify.
Since 7.x, this XMPP.Iq has been removed. Instead, I tried to use client.stanzas.extend(client.stanzas.getIq(), someStanzaObject), but that doesn't seem to do the trick. Is there any way I can still do this on runtime (and without adding browserify, which isn't worth adding as a dependency anymore due to the upcoming ES6 modules)?

Alrighty, I've figured this one out:
client.stanzas.extend(XMPP.Iq, someStanzaObject);

becomes
stanzas.withIq(function(Iq) {
	stanzas.extend(Iq, Coordinates);
});

This can be seen here, too. Thanks for providing this!


Can author be an array?

to support multiple developers on single plugin

HI, currently author has to be a string. You can provide multiple names in the field, the entire string will be displayed.

@longnguyen11288 : Hi, we have made the follow new changes in the author field.

it is called authors
supports an array of author
each author has sub-fields: name, homepage, contact

Thanks for raising the issue and we figured an array of authors is a better way to go.

Thanks!


Use variable, Instead of hardcoded network name during server creation

I will need to do some work to get this to run through CI properly, thanks for submitting.

Closing this in favor of a different PR that will properly run in CI


Safely consuming batch of messages

Hi,
I'm new to kafka so I might miss something; but here's what I want and think I cannot achieve with the Consumer type.
I'd like to be able to fetch 100 messages, process them, and only then notify Zookeeper that it can move my consumer group offset. This would allow my process to   fail in the middle of a batch processing safely: so that the next time I start it, I can start processing the same batch again.
Is this possible with the current state of the library ?

@eapache How can I reread the same batch again


DN API .equals always case-sensitive

Using:
var ldap = require('ldapjs');
var upperDN = ldap.parseDN('cn=foo');
var lowerDN = ldap.parseDN('cn=Foo');
console.log(upperDN.equals(lowerDN));

Returns:
false
I'm not sure the best way to deal with this, given that it probably doesn't make sense to comprehend and deal with schema in order to determine case matching rules.  Maybe a switch?

Either a switch or a committed API for manipulating the RDNs in a DN.
I'm not sure which would be more usable in the long run at this point.

Actually DNs should always be case insensitive, even if their parts are not.

I would love to have the dn in my searches case-insensitive, but I can't figure out how I would accomplish this in the given code (I'm using the package at v2.3.1). Can anyone point me in the right direction for handling this? I have an LDAP system that's hosting PGP keys and I need to be able to handle requests with unpredictable casing on the dn.
The query for a public key with all of the following should return the same thing, for example:
-b "o=pgp keys" "(pgpCertID=3C7BECE5201708EE)"
-b "o=PGP Keys" "(pgpCertID=3C7BECE5201708EE)"
-b "o=pGp kEYs" "(pgpCertID=3C7BECE5201708EE)"
-b "o=Pgp Keys" "(pgpCertID=3C7BECE5201708EE)"


Update tutorial and installation links

Description
Fixes broken links in README.md
References
I was trying to point a friend to napari and they were having trouble getting started
How has this been tested?
I did my best to update the URLs to those on napari.org

Perhaps "in-depth tutorials" are distinct from "tutorials", but in that case there is no link to the "tutorials" directly from the GitHub README.md.

Hi @manzt thanks so much for jumping in to fix those broken links, it's much appreciated, but someone else submitted a PR on this yesterday #946, that I just merged. Apologies that we didn't get that in sooner.
As to "in-depth tutorials" we should actually probably drop "in-depth" as it maybe is only confusing at this point. I think we used to have a "mini" tutorials section in the read me, but that's long gone at this point. If you want to change this PR to drop the word "in-depth" that's fine with me, otherwise I will close it now that #946 has gone in


Update complex numbers test to match canonical data - issue #185

The first change addresses issue #185 updating to v1.3.0 of the canonical data.
The second change is not strictly needed, but it seems nicer to use Kotlin's standard libraries.

Thank you!


astprinter: opts. Print oneline with spaces

Stack:

#28 ⬅
#27
#26
#25
#24
#23
#22
#21
#20
#19
#18
#17
#16

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.


'mini.css-react' does not contain an export named 'GridContainer'

Greetings!
I've encountered an issue while importing GridContainer component. Can you advise please?
import {GridContainer} from 'mini.css-react';

Hi, thanks for reporting this! I will be looking into it shortly!

Resolved in #4


Small fixes (materials map and boolean difference)

These are a couple of small fixes that finally allow the model I've been testing (Example_Import_IFC.ifc) with to render! This is a great achievement, especially considering that the result is superior (less missing geometry) to IfcConvert from IfcOpenShell.

If you load the example IFC included in this PR, you'll see that it's not completely perfect yet. For example there is some geometry in the kitchen that is in the wrong position and orientation. The picker functionality should help us to fix bugs like these by making it easier to highlight components that have errors in the model.

If you load the example IFC included in this PR, you'll see that it's not completely perfect yet. For example there is some geometry in the kitchen that is in the wrong position and orientation. The picker functionality should help us to fix bugs like these by making it easier to highlight components that have errors in the model.


flutter_map version 3.0.0

There are https://pub.dev/packages/flutter_map/versions/3.0.0-beta.3 new version of flutter_map.
Is plugin support planned for this version of map ?

Hi @Pepslee . I will certainly support v3 but I am hesitant on making the necessary changes until a stable v3 is published.

Hi @rorystephenson.
Stable flutter_map v3 was published a few days ago.
There some interesting  cluster plugin  which flutter_map devs recommend to use, but it very slow compared to yours.  But it has some useful UI features, like spiderfy, clustering animation and some others. If you plan to further develop the plugin  would be great to add something like that, maybe directly borrow )) from  cluster plugin .
https://user-images.githubusercontent.com/13853798/188938145-c709d20d-2e13-41ca-afff-a15ea95a7fbb.mp4

Hi @rorystephenson. Stable flutter_map v3 was published a few days ago. There some interesting  cluster plugin  which flutter_map devs recommend to use, but it very slow compared to yours. But it has some useful UI features, like spiderfy, clustering animation and some others. If you plan to further develop the plugin would be great to add something like that, maybe directly borrow )) from  cluster plugin . https://user-images.githubusercontent.com/13853798/188938145-c709d20d-2e13-41ca-afff-a15ea95a7fbb.mp4

I agree those would be nice features! Right now I'm not actively using this package in production so I'm unlikely to add them soon but I'm open to PRs for sure.
I will get to the v3 update soon hopefully, just out of hospital from a minor surgery so I'm recovering from that.

@Pepslee I've renamed this package to flutter_map_supercluster and make some big changes/updates. It now requires flutter_map v3.0, it supports adding/removing markers and some other small changes.
I would like to eventually work on the other features you suggested but no guarantees.


Having x label without values

Is it possible to display every month on the bottom even if we have no value for the specific month ?
Using hideDataPoint does not work, and value must be defined.
Is there a way to accomplish this ?

@nrcaz We can now have undefined data values, as I have made it optional now. See https://github.com/Abhinandan-Kushwaha/react-native-gifted-charts/releases/tag/v1.4.49
Please use the latest version of the library.

@Abhinandan-Kushwaha nice !
Thank you for this.


After convert project.json to *.csproj, Visual Studio Code build in test feature doesn't work.

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Win 10

Steps to Reproduce:
1.Use [dotnet new xunit] command to create a xUnit test project.
2.Then [dotnet restore] and [dotnet test] command work just fine.
3.Then use Visual Studio Code to open this folder, the test method shows [run test] and [debug test], but they are don't work.

@Richeir please file the issue against the extension that provides the "Run Test" functionality.

Which extension is that?   I want that functionality


WIP plot_compare_evokeds topo functionality

Another attempt. It's not really hard, but it's my 3rd attempt so ...
mne.viz.plot_compare_evokeds gains the ability to plot to a topographical layout.
This will be slow for MEG data, but is often used for ERP papers.
Not ready for reviews yet.
Closes #4746
Closes #5746
Redo of #5568

See https://nbviewer.jupyter.org/gist/jona-sassenhagen/5128318bd01bb7305a42048f2de1fa2c/Untitled4.ipynb

done pushing commits?  title still says WIP

done pushing commits? title still says WIP

I guess I need to add more tests and maybe another example, and extend the docs. But the code is ready for review.

Is the API ok?
Do we need more examples?

In that case, I think the user can most easily use iter_topography themselves, or loop over axes and picks and call plot_compare_evokeds manually ... If we want to support a custom layout, we need a whole new kwarg and a bunch of extra infrastructure.
We might want to have an example like that though, using make_1020_rois.

good to go as soon as CIs come back green.  Thanks @jona-sassenhagen for sticking with this one!

Thank you @drammock , @mmagnuski can you do another pass?

ok. Then maybe don't write res[-1] but rather res[1]

thx @jona-sassenhagen


Support release process for opensearch-testcontainers

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
Support release process for opensearch-testcontainers. Adding neccessary Jenkins build pipelines for releases and snapshots.
Issues Resolved
Closes https://github.com/opensearch-project/opensearch-testcontainers/issues/15 and https://github.com/opensearch-project/opensearch-build/issues/2656
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@peterzhuamazon the placeholder for webhook token jenkins-opensearch-testcontainers-generic-webhook-token, thank you!

jenkins-opensearch-testcontainers-generic-webhook-token is great that is actually the exact name I used for internal deployment :)

Please add these as the option to this workflow:
options {
        timeout(time: 30, unit: 'MINUTES')
        throttleJobProperty(
            categories: [],
            limitOneJobWithMatchingParams: false,
            maxConcurrentPerNode: 0,
            maxConcurrentTotal: 1,
            paramsToUseForLimit: '',
            throttleEnabled: true,
            throttleOption: 'project',
        )
    }


TensorFlow 2.6 installs Keras 2.7

System information

OS Platform and Distribution: Ubuntu 18.04
TensorFlow installed from: binary
TensorFlow version: 2.6.1
Python version: 3.6.9
Installed using virtualenv? pip? conda?: virtualenv + pip

Describe the problem
TensorFlow 2.6 installs Keras 2.7, but it should install Keras 2.6 instead.
Provide the exact sequence of commands / steps that you executed before running into the problem
pip install tensorflow==2.6.*

Any other info / logs
See keras-2.7.0 in the list of installed packages:

Successfully installed absl-py-0.15.0 astunparse-1.6.3 cached-property-1.5.2 cachetools-4.2.4 certifi-2021.10.8 charset-normalizer-2.0.7 clang-5.0 dataclasses-0.8 flatbuffers-1.12 gast-0.4.0 google-auth-2.3.3 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.41.1 h5py-3.1.0 idna-3.3 importlib-metadata-4.8.1 keras-2.7.0 keras-preprocessing-1.1.2 markdown-3.3.4 numpy-1.19.5 oauthlib-3.1.1 opt-einsum-3.3.0 protobuf-3.19.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.26.0 requests-oauthlib-1.3.0 rsa-4.7.2 six-1.15.0 tensorboard-2.7.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.6.1 tensorflow-estimator-2.6.0 termcolor-1.1.0 typing-extensions-<IP_ADDRESS> urllib3-1.26.7 werkzeug-2.0.2 wrapt-1.12.1 zipp-3.6.0

Don't know if it's related but I'm seeing things like this in my own pip installation logs:
#9 70.10 Collecting tensorflow-estimator~=2.6
#9 70.15   Downloading tensorflow_estimator-2.7.0-py2.py3-none-any.whl (463 kB)
#9 74.69 Collecting tensorboard~=2.6
#9 74.72   Downloading tensorboard-2.7.0-py3-none-any.whl (5.8 MB)

I've noticed that keras~=2.6 is also resolving to 2.7
Are these other dependencies being install incorrectly as well?

The above linked PR is merged, now you should be able to see the compatible versions, please check this gist for reference which is working as expected.Thanks.

@sachinprasadhs Your notebook is wrong as a Colab instance have a preinstalled env with Tensorflow and Keras that was prepared before Keras TF 2.7 was available so you cannot test in this way.
You need something like:
!pip uninstall -y tensorflow keras
!pip install tensorflow==2.6

or on a local instance:
docker run --rm -it python:3.9 pip install tensorflow==2.6

This is also against the official claimed Keras-TF versions compatibilities at:
https://github.com/keras-team/keras#release-and-compatibility

This would be fixed in ~12 hours by a release of TF 2.6.2 patch release and TF 2.7.0 release.
The issue is a bug in TF 2.6 where we specified Keras dependency as ~= 2.6 instead of ~= 2.6.0. The ~= semantic is "take the version on the right, keep all the numbers specified there except the last one, that's the only one that can chance". So ~= 2.6 means that keras == 2.99 would also be viable for the dependency resolution, clearly a bug.
This is not an issue with the stated Keras-TF compatibility. Just the ~= semantic being buggy as it needs to specify major.minor.patch for these versions that are always in sync.

Yes exaclty as they claim:

Keras 2.6 with TF >= 2.6 < 2.7

This should be fixed with the release of TF 2.6.2


Surface cost of intrinsics calculations in traces

IntrinsicHeight and IntrinsicWidth can be pretty expensive. In traces, this cost is currently only seen when debugProfileLayoutsEnabled is turned on. We should surfaces it in the traces even if that option is turned off.
/cc @dnfield
/cc @kenzieschmoll The cost of intrinsics may be another thing to highlight in janky frames.

Did you have in mind putting a Timeline event that covers the pre-child-layout part of the intrinsics layout?

The easiest way to do this would be to just add tracing in the RenderObjects of IntrinsicHeight and IntrinsicWidth around the entry point into the intrinsics methods to track the part before laying out the actual child.
A smarter way may be to start the trace the first time an intrinsics method is called and keep track of how deep we are inside the intrinsics callstack. When the last intrinsics method returns, we end the trace.

another option would be to add Timeline traces around the getIntrinsic methods, that would hit other use cases too, beyond the widgets. It would mean the overhead is higher though...


Merge prototype into master branch

This PR overwrites the existing (dummy) repository with a prototype that can be built on Bazel CI. However, the prototype is still very much WIP and requires a lot more thoughts and work.

Yeah, I think in the long run we wan to have all that information (WORKSPACE; internal_deps) in the individual repos. Right now the federation-repo approach makes it easier for me to change and test things.


Checks Added

Fixes Issue
Close #2019

Changes proposed

Screenshots

Note to reviewers

Summary by CodeRabbit

New Features

Introduced versioning for API endpoints, improving API structure.
Enhanced the registration form with a loading state for better user feedback during submission.
Updated form submission to a production-ready API endpoint and improved error handling.

Bug Fixes

Adjusted styling for the .vigy-form component to enhance user experience and readability.

Style

Improved styling rules for active navigation links and form elements for better interaction and layout consistency.

Chores

Minor whitespace adjustments made in the Admin component file.

all test are working fine but anything will not be work properly then will revert it.

all test are working fine but anything will not be work properly then will revert it.

sure sir well I have also tested it locally then only I have raised pr only. Hope it will works fine.


HD streams?

Are there no HD streams available?

I found out that at least tagesschau24 offers different streams and there is also a HD stream available.

Almost all channels offer their HD streams in f4m format (some Adobe manifest file) which cannot be played by any player not based on Adobe Flash. At the moment it's too much overhead to implement an UI just for this one channel.

I'll investigate further in #7


Duplicate onEntitySaving call returned

Bug: When using onEntitySaving, weird behavior happens.
Cause: Duplicate onEntitySaving call when parameter is provided.
The code which fixed the duplicate onEntitySaving was returned after a code change in this PR.
Found a merge issue
Originally posted by @sydneyagcaoili in https://github.com/fluttercandies/flutter_wechat_camera_picker/pull/216#pullrequestreview-1735591141

Thanks for the report.


The training results are relatively low.

I use the newest code to train.
The training performance is far lower than the official mAP of 68.52 and NDS of 71.38.
May I ask if anyone has encountered this problem？
 How do you solve the problem?

i met the same problem when train bevfusion , could you please teel me how to solve it?

i met the same problem when train bevfusion , could you please teel me how to solve it?
The para sweeps_num of loadpointsfrommultisweeps function is set to 0 in the config file of the new code, whereas it was set to sweeps 9 in the original code. I think this may be causing the problem, so you can try it
update: I have tried the above methods and the problem has been solved

Thank you very much for your valuable suggestion！
I use the newest code and change sweeps_num = 0->9 at line 33 in bevfusion/configs/nuscenes/det/default.yaml to train.
The training performance is very close to the officially announced mAP of 68.52 and NDS of 71.38.
The training results are as follows：
Results writes to /tmp/tmpkpx7_6_a/results/results_nusc.json
mAP: 0.6805
mATE: 0.2860
mASE: 0.2535
mAOE: 0.3113
mAVE: 0.2557
mAAE: 0.1878
NDS: 0.7108
Eval time: 96.7s

Per-class results:
Object Class	AP	ATE	ASE	AOE	AVE	AAE
car	0.884	0.170	0.148	0.060	0.274	0.186
truck	0.636	0.321	0.181	0.087	0.247	0.221
bus	0.742	0.336	0.187	0.062	0.437	0.272
trailer	0.430	0.532	0.206	0.571	0.216	0.136
construction_vehicle	0.295	0.724	0.428	0.873	0.117	0.295
pedestrian	0.877	0.132	0.283	0.397	0.216	0.103
motorcycle	0.780	0.186	0.248	0.228	0.350	0.277
bicycle	0.639	0.163	0.255	0.470	0.188	0.012
traffic_cone	0.792	0.119	0.320	nan	nan	nan
barrier	0.729	0.176	0.277	0.054	nan	nan

Hi @huzhihen, you're using the newest code, which mean it is BevFusion-R (with extra radar information), right?

感谢您的来信，已收到

Hi @huzhihen, you're using the newest code, which mean it is BevFusion-R (with extra radar information), right?

Yes, you are right.

Hi @huzhihen, you're using the newest code, which mean it is BevFusion-R (with extra radar information), right?

Yes, you are right.

I see, do you have any results of the Lidar + Camera model only? I've been trying to reproduce that model but couldn't get the reported result. Thank you in advance :)

Hi @huzhihen，do you have any results of the Radar + Camera model?

感谢您的来信，已收到

i met the same problem when train bevfusion , could you please teel me how to solve it?
The para sweeps_num of loadpointsfrommultisweeps function is set to 0 in the config file of the new code, whereas it was set to sweeps 9 in the original code. I think this may be causing the problem, so you can try it
update: I have tried the above methods and the problem has been solved

Thank you very much for your valuable suggestion！
I use the newest code and change sweeps_num = 0->9 at line 33 in bevfusion/configs/nuscenes/det/default.yaml to train. The training performance is very close to the officially announced mAP of 68.52 and NDS of 71.38. The training results are as follows：
Results writes to /tmp/tmpkpx7_6_a/results/results_nusc.json
mAP: 0.6805
mATE: 0.2860
mASE: 0.2535
mAOE: 0.3113
mAVE: 0.2557
mAAE: 0.1878
NDS: 0.7108
Eval time: 96.7s

Per-class results:
Object Class	AP	ATE	ASE	AOE	AVE	AAE
car	0.884	0.170	0.148	0.060	0.274	0.186
truck	0.636	0.321	0.181	0.087	0.247	0.221
bus	0.742	0.336	0.187	0.062	0.437	0.272
trailer	0.430	0.532	0.206	0.571	0.216	0.136
construction_vehicle	0.295	0.724	0.428	0.873	0.117	0.295
pedestrian	0.877	0.132	0.283	0.397	0.216	0.103
motorcycle	0.780	0.186	0.248	0.228	0.350	0.277
bicycle	0.639	0.163	0.255	0.470	0.188	0.012
traffic_cone	0.792	0.119	0.320	nan	nan	nan
barrier	0.729	0.176	0.277	0.054	nan	nan

I also changed the sweep 0 -> 9, but the performance is still lower that the original results,
To check the difference of training detail, could you share the training log?

感谢您的来信，已收到

far lower than the official mAP of 68.52 and NDS of 71.38.
May I ask if anyone has encountered this problem？
Hello，have you solved the problem? I have the same problem that I changed the sweep 0 -> 9, but the performance is still lower that the original results.

感谢您的来信，已收到

I have trans. bevfusion to other projects, but mAP is very low and I don't know what the problem is. Here is my configuration file：
base = [#'../base/datasets/nus-3d.py',
'../base/default_runtime.py']
voxel_size = [0.075, 0.075, 0.2]
point_cloud_range = [-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]
class_names = [
'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier',
'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone'
]
metainfo = dict(classes=class_names)
input_modality = dict(use_lidar=True, use_camera=True)
backend_args = None
data_config={
'cams': ['CAM_FRONT_LEFT', 'CAM_FRONT', 'CAM_FRONT_RIGHT',
'CAM_BACK_LEFT', 'CAM_BACK', 'CAM_BACK_RIGHT'],
'Ncams': 6,
'input_size': (256, 704),
'src_size': (900, 1600),
# Augmentation
'resize': (-0.06, 0.11),
'rot': (-5.4, 5.4),
'flip': True,
'crop_h': (0.0, 0.0),
'resize_test':0.04,

}
device='cuda'
model = dict(
type = 'BEVFusion',
encoders = dict(
camera = dict(
backbone = dict(
type = 'SwinTransformer',
embed_dims = 96,
depths = [2, 2, 6, 2],
num_heads = [3, 6, 12, 24],
window_size = 7,
mlp_ratio = 4,
qkv_bias = True,
qk_scale = None,
drop_rate = 0.0,
attn_drop_rate = 0.0,
drop_path_rate = 0.2,
patch_norm = True,
out_indices = [1, 2, 3],
with_cp = False,
convert_weights = True,
init_cfg=dict(
type='Pretrained',
checkpoint= 'pretrained/checkpoint/swint-nuimages-pretrained.pth' # noqa: E251
# 'https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_tiny_patch4_window7_224.pth'  # noqa: E501
)
            # pretrained='torchvision://resnet50',
            # # pretrained='/home/lwx/Desktop/lwx/distill-bev/resnet50.pth',
            # type='ResNet',
            # depth=50,
            # num_stages=4,
            # out_indices=(1,2, 3),
            # frozen_stages=-1,
            # norm_cfg=dict(type='BN', requires_grad=True),
            # norm_eval=False,
            # with_cp=True,
            # style='pytorch'
        ),
        neck=dict(
            type='GeneralizedLSSFPN',
            in_channels=[192, 384, 768],
            # in_channels = [512, 1024, 2048],
            # in_channels=[1024, 2048],
            out_channels=256,
            start_level=0,
            num_outs=3,
            norm_cfg=dict(type='BN2d', requires_grad=True),
            act_cfg=dict(type='ReLU', inplace=True),
            upsample_cfg=dict(mode='bilinear', align_corners=False)
        ),
        vtransform=dict(
            type='DepthLSSTransformBEVFusion',
            in_channels=256,
            out_channels=80,
            image_size=[256, 704],
            # feature_size=[16 , 44],
            feature_size=[32, 88],
            xbound=[-54.0, 54.0, 0.3],
            ybound=[-54.0, 54.0, 0.3],
            zbound=[-10.0, 10.0, 20.0],
            dbound=[1.0, 60.0, 0.5],
            downsample=2
        ),
        # fusion_layer=dict(
        #     type='ConvFuser', in_channels=[80, 256], out_channels=256)
    ),
    lidar = dict(
        voxelize = dict(
            max_num_points = 10,
            point_cloud_range = point_cloud_range,
            voxel_size = voxel_size,
            max_voxels = [120000, 160000]
        ),
        backbone = dict(
            type = 'SparseEncoder',
            in_channels = 5,
            output_channels = 128,
            order=('conv', 'norm', 'act'),
            encoder_channels=((16, 16, 32), (32, 32, 64), (64, 64, 128), (128,128)),
            encoder_paddings=((0, 0, 1), (0, 0, 1), (0, 0, (1, 1, 0)), (0, 0)),
            block_type='basicblock',
            sparse_shape = [1440, 1440, 41]
        )
    )
),
fuser = dict(
    type = 'ConvFuser',
    in_channels = [80, 256],
    out_channels = 256
),
decoder = dict(
    backbone = dict(
        type='SECOND',
        in_channels=256,
        out_channels=[128, 256],
        layer_nums=[5, 5],
        layer_strides=[1, 2],
        norm_cfg=dict(type='BN', eps=0.001, momentum=0.01),
        conv_cfg=dict(type='Conv2d', bias=False)
    ),
    neck =  dict(
        type='SECONDFPN',
        in_channels=[128, 256],
        out_channels=[256, 256],
        upsample_strides=[1, 2],
        norm_cfg=dict(type='BN', eps=0.001, momentum=0.01),
        upsample_cfg=dict(type='deconv', bias=False),
    ),
),
heads = dict(
    map=None,
    object = dict(
        type='TransFusionHead',
        num_proposals=100,
        auxiliary=True,
        in_channels=512,
        hidden_channel=128,
        num_classes=10,
        nms_kernel_size=3,
        num_decoder_layers=1,
        num_heads = 4,
        ffn_channel=256,
        dropout=0.1,
        bn_momentum=0.1,
        activation='relu',
        train_cfg=dict(
            dataset='nuScenes',
            point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0],
            grid_size=[1440, 1440, 41],
            voxel_size=[0.075, 0.075, 0.2],
            out_size_factor=8,
            gaussian_overlap=0.1,
            min_radius=2,
            pos_weight=-1,
            code_weights=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2],
            assigner=dict(
                type='HungarianAssigner3D',
                iou_calculator=dict(type='BboxOverlaps3D', coordinate='lidar'),
                cls_cost=dict(
                    type='mmdet.FocalLossCost',
                    gamma=2.0,
                    alpha=0.25,
                    weight=0.15),
                reg_cost=dict(type='BBoxBEVL1Cost', weight=0.25),
                iou_cost=dict(type='IoU3DCost', weight=0.25))),
        test_cfg=dict(
            dataset='nuScenes',
            grid_size=[1440, 1440, 41],
            out_size_factor=8,
            voxel_size=[0.075, 0.075],
            pc_range=[-54.0, -54.0],
            nms_type=None
        ),
        common_heads=dict(
            center=[2, 2], height=[1, 2], dim=[3, 2], rot=[2, 2], vel=[2, 2]),
        bbox_coder=dict(
            type='TransFusionBBoxCoder',
            pc_range=[-54.0, -54.0],
            post_center_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
            score_threshold=0.0,
            out_size_factor=8,
            voxel_size=[0.075, 0.075],
            code_size=10),
        loss_cls=dict(
            type='mmdet.FocalLoss',
            use_sigmoid=True,
            gamma=2.0,
            alpha=0.25,
            reduction='mean',
            loss_weight=1.0),
        loss_heatmap=dict(
            type='mmdet.GaussianFocalLoss', reduction='mean', loss_weight=1.0),
        loss_bbox=dict(
            type='mmdet.L1Loss', reduction='mean', loss_weight=0.25)
    )
),

)
dataset_type = 'NuScenesDataset'
root = 'data/nuscenes/'
file_client_args = dict(backend='disk')
train_pipeline = [
dict(
# type='BEVLoadMultiViewImageFromFiles',
# type = 'LoadMultiViewImageFromFiles_MITBF',
type = 'LoadMultiViewImageFromFiles_BEVDet',
is_train=True,
# to_float32=True,
data_config=data_config,
# color_type='color',
),
dict(
type='LoadPointsFromFile_MITBF',
coord_type='LIDAR',
load_dim=5,
use_dim=5,
),
dict(
type='LoadPointsFromMultiSweeps_MITBF',
sweeps_num=9,
load_dim=5,
use_dim=5,
pad_empty_sweeps=True,
remove_close=True,
),
dict(
type='LoadAnnotations3D_MITBF',
with_bbox_3d=True,
with_label_3d=True,
with_attr_label=False),
# dict(
#     type='ImageAug3D',
#     final_dim=[256, 704],
#     resize_lim=[0.38, 0.55],
#     bot_pct_lim=[0.0, 0.0],
#     rot_lim=[-5.4, 5.4],
#     rand_flip=True,
#     is_train=True),
dict(
type='GlobalRotScaleTrans',
scale_ratio_range=[0.9, 1.1],
rot_range=[-0.78539816, 0.78539816],
translation_std=0.5,
update_img2lidar=True),
dict(type='RandomFlip3D',sync_2d=False,
flip_ratio_bev_horizontal=0.5,
flip_ratio_bev_vertical=0.5,
update_img2lidar=True),
dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),
dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),
dict(
type='ObjectNameFilter',
classes=class_names),
# Actually, 'GridMask' is not used here
# dict(
#     type='MITGridMask',
#     use_h=True,
#     use_w=True,
#     max_epoch=2,
#     rotate=1,
#     offset=False,
#     ratio=0.5,
#     mode=1,
#     prob=0.0,
#     fixed_prob=True),
# dict(type='PointShuffle'),
dict(type='DefaultFormatBundle3D', class_names=class_names),
dict(type='Collect3D', keys=['points', 'img_inputs', 'gt_bboxes_3d', 'gt_labels_3d'],
meta_keys=(
'cam2img', 'ori_cam2img', 'camera2ego','lidar2ego','lidar2cam', 'lidar2img', 'cam2lidar',
'ori_lidar2img', 'img_aug_matrix', 'box_type_3d', 'sample_idx',
'lidar_path', 'img_path', 'transformation_3d_flow', 'pcd_rotation',
'pcd_scale_factor', 'pcd_trans', 'img_aug_matrix',
'lidar_aug_matrix', 'num_pts_feats'))
]
test_pipeline = [
dict(
type = 'LoadMultiViewImageFromFiles_BEVDet',
is_train=True,
data_config=data_config,
),
dict(
type='LoadPointsFromFile_MITBF',
coord_type='LIDAR',
load_dim=5,
use_dim=5,
),
dict(
type='LoadPointsFromMultiSweeps_MITBF',
sweeps_num=9,
load_dim=5,
use_dim=5,
pad_empty_sweeps=True,
remove_close=True,
),
dict(
type='LoadAnnotations3D_MITBF',
with_bbox_3d=True,
with_label_3d=True,
with_attr_label=False),
dict(
type='GlobalRotScaleTrans',
scale_ratio_range=[1, 1],
# translation_std=0.5,
rot_range = [0, 0],
translation_std=0,
update_img2lidar=True),
dict(type='RandomFlip3D',sync_2d=False,
flip_ratio_bev_horizontal=0.0,
flip_ratio_bev_vertical=0.0,
update_img2lidar=True),
dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),
dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),
dict(
type='ObjectNameFilter',
classes=class_names),
dict(type='DefaultFormatBundle3D', class_names=class_names),
dict(
type='Collect3D',
keys=['img_inputs', 'points', 'gt_bboxes_3d', 'gt_labels_3d'],
meta_keys=[
'cam2img', 'ori_cam2img', 'camera2ego','lidar2ego','lidar2cam', 'lidar2img', 'cam2lidar',
'ori_lidar2img', 'img_aug_matrix', 'box_type_3d', 'sample_idx',
'lidar_path', 'img_path', 'transformation_3d_flow', 'pcd_rotation',
'pcd_scale_factor', 'pcd_trans', 'img_aug_matrix',
'lidar_aug_matrix', 'num_pts_feats'
# 'cam2img', 'ori_cam2img', 'lidar2cam', 'lidar2img', 'cam2lidar',
# 'ori_lidar2img', 'img_aug_matrix', 'box_type_3d', 'sample_idx',
# 'lidar_path', 'img_path', 'num_pts_feats', 'num_views'
])
]
data_prefix = dict(
pts='samples/LIDAR_TOP',
CAM_FRONT='samples/CAM_FRONT',
CAM_FRONT_LEFT='samples/CAM_FRONT_LEFT',
CAM_FRONT_RIGHT='samples/CAM_FRONT_RIGHT',
CAM_BACK='samples/CAM_BACK',
CAM_BACK_RIGHT='samples/CAM_BACK_RIGHT',
CAM_BACK_LEFT='samples/CAM_BACK_LEFT',
sweeps='sweeps/LIDAR_TOP')
data = dict(
samples_per_gpu=1,
workers_per_gpu=2,
train=dict(
type='CBGSDataset_MITBF',
dataset=dict(
type=dataset_type,
data_root=root,
ann_file=root + 'nuscenes_infos_train_mitbf.pkl',
pipeline=train_pipeline,
classes=class_names,
# map_classes=None,
img_info_prototype='bevdet',
modality=input_modality,
test_mode=False,
use_valid_flag=True,
box_type_3d='LiDAR'
)
),
val=dict(
type=dataset_type,
data_root=root,
ann_file=root + 'nuscenes_infos_val_mitbf.pkl',
pipeline=test_pipeline,
classes=class_names,
# map_classes=None,
img_info_prototype='bevdet',
modality=input_modality,
test_mode=False,
use_valid_flag=True,
box_type_3d='LiDAR'
),
test=dict(
type=dataset_type,
data_root=root,
ann_file=root + 'nuscenes_infos_val_mitbf.pkl',
pipeline=test_pipeline,
img_info_prototype='bevdet',
classes=class_names,
# map_classes=None,
modality=input_modality,
test_mode=False,
use_valid_flag=True,
box_type_3d='LiDAR',
)
)
learning rate
lr = 0.0001
Optimizer
optimizer = dict(type='AdamW', lr=2e-4, weight_decay=0.01)
optimizer_config = dict(
grad_clip=dict(max_norm=35,norm_type=2)
)
lr_config = dict(
policy='step',
warmup='linear',
warmup_iters=500,
warmup_ratio=0.001,
step=[16, 22])
Default setting for scaling LR automatically
- enable means enable scaling LR automatically
or not by default.
- base_batch_size = (8 GPUs) x (4 samples per GPU).
auto_scale_lr = dict(enable=False, base_batch_size=32)
runner = dict(type='EpochBasedRunner', max_epochs=24)
evaluation = dict(interval=1)
checkpoint=dict( interval=1)
default_hooks = dict(
logger=dict(type='LoggerHook', interval=50),
checkpoint=dict(type='CheckpointHook', interval=1))
custom_hooks = [dict(type='DisableObjectSampleHook', disable_after_epoch=15)]
del base.custom_hooks

i met the same problem when train bevfusion , could you please teel me how to solve it?
The para sweeps_num of loadpointsfrommultisweeps function is set to 0 in the config file of the new code, whereas it was set to sweeps 9 in the original code. I think this may be causing the problem, so you can try it
update: I have tried the above methods and the problem has been solved

Thank you very much for your valuable suggestion！
I use the newest code and change sweeps_num = 0->9 at line 33 in bevfusion/configs/nuscenes/det/default.yaml to train. The training performance is very close to the officially announced mAP of 68.52 and NDS of 71.38. The training results are as follows：
Results writes to /tmp/tmpkpx7_6_a/results/results_nusc.json
mAP: 0.6805
mATE: 0.2860
mASE: 0.2535
mAOE: 0.3113
mAVE: 0.2557
mAAE: 0.1878
NDS: 0.7108
Eval time: 96.7s

Per-class results:
Object Class	AP	ATE	ASE	AOE	AVE	AAE
car	0.884	0.170	0.148	0.060	0.274	0.186
truck	0.636	0.321	0.181	0.087	0.247	0.221
bus	0.742	0.336	0.187	0.062	0.437	0.272
trailer	0.430	0.532	0.206	0.571	0.216	0.136
construction_vehicle	0.295	0.724	0.428	0.873	0.117	0.295
pedestrian	0.877	0.132	0.283	0.397	0.216	0.103
motorcycle	0.780	0.186	0.248	0.228	0.350	0.277
bicycle	0.639	0.163	0.255	0.470	0.188	0.012
traffic_cone	0.792	0.119	0.320	nan	nan	nan
barrier	0.729	0.176	0.277	0.054	nan	nan

I also changed the sweep 0 -> 9, but the performance is still lower that the original results, To check the difference of training detail, could you share the training log?

I met the same problem.
Have you solved it?

i met the same problem when train bevfusion , could you please teel me how to solve it?
The para sweeps_num of loadpointsfrommultisweeps function is set to 0 in the config file of the new code, whereas it was set to sweeps 9 in the original code. I think this may be causing the problem, so you can try it
update: I have tried the above methods and the problem has been solved

Thank you very much for your valuable suggestion！
I use the newest code and change sweeps_num = 0->9 at line 33 in bevfusion/configs/nuscenes/det/default.yaml to train. The training performance is very close to the officially announced mAP of 68.52 and NDS of 71.38. The training results are as follows：
Results writes to /tmp/tmpkpx7_6_a/results/results_nusc.json
mAP: 0.6805
mATE: 0.2860
mASE: 0.2535
mAOE: 0.3113
mAVE: 0.2557
mAAE: 0.1878
NDS: 0.7108
Eval time: 96.7s

Per-class results:
Object Class	AP	ATE	ASE	AOE	AVE	AAE
car	0.884	0.170	0.148	0.060	0.274	0.186
truck	0.636	0.321	0.181	0.087	0.247	0.221
bus	0.742	0.336	0.187	0.062	0.437	0.272
trailer	0.430	0.532	0.206	0.571	0.216	0.136
construction_vehicle	0.295	0.724	0.428	0.873	0.117	0.295
pedestrian	0.877	0.132	0.283	0.397	0.216	0.103
motorcycle	0.780	0.186	0.248	0.228	0.350	0.277
bicycle	0.639	0.163	0.255	0.470	0.188	0.012
traffic_cone	0.792	0.119	0.320	nan	nan	nan
barrier	0.729	0.176	0.277	0.054	nan	nan

I also changed the sweep 0 -> 9, but the performance is still lower that the original results, To check the difference of training detail, could you share the training log?

@konyul
I met the same problem.
Have you solved it?

感谢您的来信，已收到

i met the same problem when train bevfusion , could you please teel me how to solve it?
The para sweeps_num of loadpointsfrommultisweeps function is set to 0 in the config file of the new code, whereas it was set to sweeps 9 in the original code. I think this may be causing the problem, so you can try it
update: I have tried the above methods and the problem has been solved

Thank you very much for your valuable suggestion！
I use the newest code and change sweeps_num = 0->9 at line 33 in bevfusion/configs/nuscenes/det/default.yaml to train. The training performance is very close to the officially announced mAP of 68.52 and NDS of 71.38. The training results are as follows：
Results writes to /tmp/tmpkpx7_6_a/results/results_nusc.json
mAP: 0.6805
mATE: 0.2860
mASE: 0.2535
mAOE: 0.3113
mAVE: 0.2557
mAAE: 0.1878
NDS: 0.7108
Eval time: 96.7s

Per-class results:
Object Class	AP	ATE	ASE	AOE	AVE	AAE
car	0.884	0.170	0.148	0.060	0.274	0.186
truck	0.636	0.321	0.181	0.087	0.247	0.221
bus	0.742	0.336	0.187	0.062	0.437	0.272
trailer	0.430	0.532	0.206	0.571	0.216	0.136
construction_vehicle	0.295	0.724	0.428	0.873	0.117	0.295
pedestrian	0.877	0.132	0.283	0.397	0.216	0.103
motorcycle	0.780	0.186	0.248	0.228	0.350	0.277
bicycle	0.639	0.163	0.255	0.470	0.188	0.012
traffic_cone	0.792	0.119	0.320	nan	nan	nan
barrier	0.729	0.176	0.277	0.054	nan	nan

I also changed the sweep 0 -> 9, but the performance is still lower that the original results, To check the difference of training detail, could you share the training log?

@konyul I met the same problem. Have you solved it?

Actually, I haven't solved this problem yet. Currently, I am researching other aspects. If it's resolved, I hope you can let me know

loadpointsfrommultisweeps

Hi, I think you have already make it,I met the same problem,would you like to tell me the reason and method to solve it?

感谢您的来信，已收到

Thank you for your interest in our project. This repository is no longer actively maintained, so we will be closing this issue. Please refer to the amazing implementation at MMDetection3D. Thank you again!


Adding New-Service to -SecurityDescriptorSDDL parameter like Set-Service

PR Summary
This PR is to add -SecurityDescriptorSDDL parameter to New-Service cmdlet so that its in par with Set-Service in setting sddl for a service.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

@PoshChan please retry static

@kvprasoon Please follow the template and file a doc issue for the new parameter. If it is filed, please paste the link here.

doc changes https://github.com/MicrosoftDocs/PowerShell-Docs/pull/4735

@kvprasoon Thanks for your contribution! Sorry for delay.


Add sequence diagram for MIDI interface

Do we want to use the correct MIDI terms? "MIDI keyboard" is oddly specific. I'm not all that familiar with MIDI, but "MIDI Instrument" is (I think) a device that can both send and receive messages.

Good call. Done.

LGTM


Fix hydrogens unkown to the forcefield

@LilySnow @gcroci2 @DaniBodor
I run into a situation that when I use queries.process() to make and save my graph(s) the following type of warning messages are printed for several hydrogens atoms:
is unknown to the forcefield; charge is set to 0.0
is unknown to the forcefield; vanderwaals_parameters set to (0.0, 0.0, 0.0, 0.0)

The test situation in which this occurs is when I use the following pdb file(I have changed the extension otherwise I could not upload it to git)
1AKJ.txt
The hydrogen atoms are then added to this pdb file using:
reduce -FLIP -Quiet $pdbFL > $pdbFL.reduce_flip
Resulting in the following pdb file with hydrogens present:
1AKJ.txt
From this pdb file with added hydrogens a micro-environment is selected and written to a new pdb file, in this case:
1AKJ_1_ILE.txt
This pdb structure is added to
queries = QueryCollection()
And the graph is then generated and saved with
queries.process()
During the process step the warning message is printed, which i have added in the following text file:
warning_message.txt
This occurs because the hydrogen naming conventions in the pdb that has the hydrogens added through reduce do not match the hydrogen naming conventions present in the forcefield topology file used by DeepRank core.
I have already discussed this issue today during a meeting with @LilySnow and have made this issue after this. Hopefully I have provided enough information through the files, and if not I would gladly help out further.

Many thanks @Max1461, we'll look soon further into this :)

I believe that this will be dealt with in #393


Prefix increment of Proxy'd property doesn't return final value

function Majin() { this.power = 4499.5; }
buu = new Proxy(new Majin(), {
	get: function(t, prop) { return t[prop]; },
	set: function(t, prop, value) { t[prop] = value * 2; }
});
print(++buu.power);
print(buu.power);

Output:
4500.5
9001

Expected output was 9001 for both prints.

Hmm, I think that's correct behavior?

Read buu.power: evaluates to 4499.5
Expression value is 4499.5 + 1 = 4500.5
Write back 4500.5 which gets stored as 9001 internally

While the stored value is 9001, the expression value is 4499.5 + 1 = 4500.5?

Hm, maybe?  I always intuitively viewed prefix increment as "increment then read" as opposed to postfix increment "read then increment"

Firefox agrees with this so I think the current behavior is correct:
function Majin() { this.power = 4499.5; }
buu = new Proxy(new Majin(), {
    get: function(t, prop) { return t[prop]; },
    set: function(t, prop, value) { t[prop] = value * 2; }
});
Object { power: 4499.5 }
++buu.power
4500.5
buu.power
9001

Huh, guess it's not a bug then.  It seemed odd to me, so figured I'd report just in case.

I'll check the semantics and add this as a test case anyway.

The semantics are here: http://www.ecma-international.org/ecma-262/6.0/index.html#sec-prefix-increment-operator

Ah, okay, so it indeed evaluates as old + 1.  Not intuitive, but indeed compliant.  Good for me to keep in mind in the future, as this presumably also affects property setters as well.

Yes, the behavior is same for property setters.
The behavior you intuitively expected would mean semantics like this for the Proxy:

Invoke get to read value
Increment by one
Invoke set to read value
Invoke get again to read expression value

There'd be two get calls; same for property setters and getters.


Create usefulLinksForRaspPi.md

Some useful links on how to install tensorflow and it's dependencies.
What does this PR do?
Helps clear up how to install on raspberry pi.
Additional information

Oops I forgot to make it usefulLinksForRaspPi

Rejected
Same foundation as #10

Maybe I should stick to edits, not makes.


Improve docstring in dattri.func and dattri.metrics

Description

This PR mainly improves the docstring of files under dattri.func and dattri.metrics.
1. Motivation and Context

There are some format inconsistency issues and typos in the docstrings.
2. Summary of the change

Improved docstring by making the format more consistent and fixing some typos
For utils.py, changed all torch.Tensor to Tensor since it is imported

3. What tests have been added/updated for the change?

N/A: No test will be added. Only changed docstring and torch.Tensor to Tensor

@TheaperDeng what will be affected if we change calculate_loo_groundtruth in ground_truth.py to calculate_loo_ground_truth? Its name format is now inconsistent with calculate_lds_ground_truth.

@TheaperDeng what will be affected if we change calculate_loo_groundtruth in ground_truth.py to calculate_loo_ground_truth? Its name format is now inconsistent with calculate_lds_ground_truth.

I think the only thing is to search this function in all the calls in code and documentation and change it throughout the repo. There might be several place be affected, mostly in benchmark and model_utils folders

@TheaperDeng what will be affected if we change calculate_loo_groundtruth in ground_truth.py to calculate_loo_ground_truth? Its name format is now inconsistent with calculate_lds_ground_truth.

I think the only thing is to search this function in all the calls in code and documentation and change it throughout the repo. There might be several place be affected, mostly in benchmark and model_utils folders

The only two files are dattri/metrics/ground_truth.py and docs/source/api/benchmark.rst.

Merging this PR to avoid it getting conflicts with other PRs, as this involves multiple files.


Remove a registered webhook URL

This is an umbrella-issue to track all necessary changes for this feature.

[x] Add support to remove webhook URL

[x] LSPD (for payment notifications): https://github.com/breez/lspd/pull/194
[x] Breez server: https://github.com/breez/server/pull/44
[x] chainnotifier (for swap notifications): https://github.com/breez/chainnotifier/pull/6
[x] SDK & CLI: https://github.com/breez/breez-sdk/pull/920

~SDK: When changing LSP, remove webhooks from old LSP~
[x]  Add docs snippet: https://github.com/breez/breez-sdk-docs/pull/151

Fixes #730

SDK: When changing LSP, remove webhooks from old LSP
Maybe this isn't necessary. Note that if you already have a channel with that LSP, it could be useful to keep the webhook available for if you're receiving a payment over that channel.

Closing as all tasks are merged


[BLOCKER] Wrangler does not install with npm on current linux main distros

🐛 Bug report
sudo npm i -g @cloudflare wrangler install works without error, but when you type wrangler in console it just does this:

tried on current ubuntu/debian and manjaro/arch
Either i got something terribly wrong - or you simply uploaded a broken package without proper testing it (which is really bad).

This usually means your user can't find wrangler the node_modules directory. I notice that you used sudo to install, which I believe would install it in a different node_modules space (for root) instead of your current user. Could you sudo npm uninstall -g @cloudflare/wrangler and npm i -g @cloudflare/wrangler and try again?


Using it just to encode AudioBuffer (or Float32Array) to blob?

Could we use this library just for converting Web Audio API buffers to mp3? If so, maybe there is a good example? Thank you!

Technically yes, but currently there is no API for that. You could look at implementation of Recorder class. It handles onaudioprocess event of its internal audio node and might be modified to iterate over existing array of samples instead.


Container images in manifests should be publicly pull-able

Description
Applying the deployment files currently on main in manifests/*/deployment.yaml lead to failed pods because the referenced container images aren't pull-able.
E.g.
kubectl apply -f manifests/dns-server/deployment.yaml

and then
k describe pods -n capi-dns -l app=dns-server

shows errors like
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  19m                   default-scheduler  Successfully assigned capi-dns/dns-server-9f5796b7b-58nms to cluster-a-md-0-77674c9657-7jcsb
  Normal   Pulling    17m (x4 over 19m)     kubelet            Pulling image "ghcr.io/vmware-tanzu/cross-cluster-connectivity/dns-server:dev"
  Warning  Failed     17m (x4 over 19m)     kubelet            Failed to pull image "ghcr.io/vmware-tanzu/cross-cluster-connectivity/dns-server:dev": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/vmware-tanzu/cross-cluster-connectivity/dns-server:dev": failed to resolve reference "ghcr.io/vmware-tanzu/cross-cluster-connectivity/dns-server:dev": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden
  Warning  Failed     17m (x4 over 19m)     kubelet            Error: ErrImagePull
  Warning  Failed     17m (x6 over 19m)     kubelet            Error: ImagePullBackOff
  Normal   BackOff    4m14s (x64 over 19m)  kubelet            Back-off pulling image "ghcr.io/vmware-tanzu/cross-cluster-connectivity/dns-server:dev"

Desired Solution
The manifests on main should be deployable as-is.
Maybe CI can ensure that the images at ghcr.io/vmware-tanzu/cross-cluster-connectivity/ are public?  May need to think through the relationship between container tags and our git branch/tag flow.
Alternatives Considered

Docs that reference a tagged "release" that we manually put up?  Idk, that sounds worse?
Tell people to push images to their own registry?

Additional Context
We don't have install docs yet.  Maybe I'm missing something obvious?

The fan in behavior does not work the way we desire. We want to run publish after both test and check license. The workflow behavior runs once after each of those steps. A followup commit will combine check license and test workflows, and the publish workflow will depend on the combined test and check license workflows.


Add ori to landscape.yml

NOTE: If your company logo needs changed, please submit an LF Support Request rather than changing here
Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you including a repo_url? You need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project open source?
[x] Is this project hosted by the Linux Foundation?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[x] ~5 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

@JCoelhoo - here's the error:
FATAL: No cached entry, and Ori has issues with logo: ori.svg, SVG file embeds a png. Please use a pure svg file

Can you try and get a pure SVG file?


Determine what to do with index.txt

Is this still needed? Is it using the latest version of web5? How do we incorporate it into the release pipeline?
index.txt file path is site/static/files
The runnable code for the content of the index.txt is at /examples/web5/quickstart-widgets. What should we do with this?

Is this still needed? Is it using the latest version of web5? How do we incorporate it into the release pipeline?

Bumping to Phase 6