pt_OFA-rcan_DIV2K_360_640_45.7G_2.5 can't export xmodel

https://github.com/Xilinx/Vitis-AI/blob/master/model_zoo/model-list/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/model.yaml
from that link in GPU part after the following readme in the step of
echo "dump xmodel..."
MODE='test'
python test.py --dir_data ${Data} --model RCAN_wo_CA --scale ${S} --n_resgroups ${R} --n_feats ${F} --data_test Set5+Set14+B100+Urban100  --float_model_path ${Model} --quant_mode ${MODE} --fast_finetune --dump_xmodel
error like this
[VAIQ_NOTE]: =>Doing weights equalization...
[VAIQ_NOTE]: =>Quantizable module is generated.(quantize_result/Model.py)
[VAIQ_NOTE]: =>Get module with quantization.
Warning!!! The parameter/activation is not quantized: Model::input_0
Traceback (most recent call last):
File "test.py", line 179, in
main()
File "test.py", line 155, in main
output = quant_model(input, 2)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "quantize_result/Model.py", line 54, in forward
output_module_0 = self.module_1(output_module_0)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1120, in _call_impl
result = forward_call(*input, **kwargs)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/modules/conv.py", line 67, in forward
device=self.bias.data.device))
RuntimeError: Could not infer dtype of NoneType
how to slove it?

Hi @watchara-knot,
Thanks for your feedback. I tried scripts including run_qat.sh following steps of readme and they work well. But it is worth mentioning that ‘pip install -r requirements.txt' in the readme need to be changed to ’pip install --user -r requirements.txt' to avoid warning and potential dependency package install failure. I'm not sure if this is related to your issue. We will fix it and update readme.
For this issue, could you provide some more details? I think what you used is run_qat.sh, is it?

@wangxd-xlnx  That one, I try to rerun the code, error below, by in intall only pip install scikit-image==0.17.2 imageio==2.9.0
I will show docker version also error if use ’pip install --user -r requirements.txt' next post
Docker Image Version: <IP_ADDRESS>0   (CPU)
Vitis AI Git Hash: 502703c
Build Date: 2022-06-12
For TensorFlow 1.15 Workflows do:
conda activate vitis-ai-tensorflow
For PyTorch Workflows do:
conda activate vitis-ai-pytorch
For TensorFlow 2.8 Workflows do:
conda activate vitis-ai-tensorflow2
For WeGo Tensorflow 1.15 Workflows do:
conda activate vitis-ai-wego-tf1
For WeGo Tensorflow 2.8 Workflows do:
conda activate vitis-ai-wego-tf2
For WeGo Torch Workflows do:
conda activate vitis-ai-wego-torch
Vitis-AI /workspace > conda activate vitis-ai-pytorch
(vitis-ai-pytorch) Vitis-AI /workspace > cd pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code/
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code > sh run_qat.sh
Traceback (most recent call last):
File "train_qat.py", line 17, in
import utility
File "/workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code/utility.py", line 13, in
import imageio
ModuleNotFoundError: No module named 'imageio'
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code > pip install scikit-image==0.17.2 imageio==2.9.0
Collecting scikit-image==0.17.2
Downloading scikit_image-0.17.2-cp37-cp37m-manylinux1_x86_64.whl (12.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.5/12.5 MB 8.2 MB/s eta 0:00:00
Collecting imageio==2.9.0
Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 8.5 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.15.1 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from scikit-image==0.17.2) (1.17.5)
Requirement already satisfied: pillow!=7.1.0,!=7.1.1,>=4.3.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from scikit-image==0.17.2) (8.1.0)
Requirement already satisfied: matplotlib!=3.0.0,>=2.0.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from scikit-image==0.17.2) (3.4.3)
Collecting networkx>=2.0
Downloading networkx-2.6.3-py3-none-any.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 8.4 MB/s eta 0:00:00
Collecting tifffile>=2019.7.26
Downloading tifffile-2021.11.2-py3-none-any.whl (178 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 178.9/178.9 kB 7.0 MB/s eta 0:00:00
Collecting PyWavelets>=1.1.1
Downloading PyWavelets-1.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4/6.4 MB 8.6 MB/s eta 0:00:00
Requirement already satisfied: scipy>=1.0.1 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from scikit-image==0.17.2) (1.3.1)
Requirement already satisfied: python-dateutil>=2.7 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (2.8.2)
Requirement already satisfied: cycler>=0.10 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (0.11.0)
Requirement already satisfied: pyparsing>=2.2.1 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (3.0.9)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (1.4.2)
Requirement already satisfied: typing-extensions in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from kiwisolver>=1.0.1->matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (4.2.0)
Requirement already satisfied: six>=1.5 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from python-dateutil>=2.7->matplotlib!=3.0.0,>=2.0.0->scikit-image==0.17.2) (1.16.0)
Installing collected packages: tifffile, PyWavelets, networkx, imageio, scikit-image
Successfully installed PyWavelets-1.3.0 imageio-2.9.0 networkx-2.6.3 scikit-image-0.17.2 tifffile-2021.11.2
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code > sh run_qat.sh
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
[VAIQ_NOTE]: Loading NNDCT kernels...
Making model...
[VAIQ_NOTE]: Quant config file is empty, use default quant configuration
[VAIQ_NOTE]: Quantization test process start up...
[VAIQ_NOTE]: =>Quant Module is in 'cpu'.
[VAIQ_NOTE]: =>Parsing Model...
[VAIQ_NOTE]: Start to trace model...
[VAIQ_NOTE]: Finish tracing.
[VAIQ_NOTE]: Processing ops...
██████████████████████████████████████████████████| 46/46 [00:00<00:00, 241.48it/s, OpInfo: name = return_0, type = Return]
[VAIQ_NOTE]: =>Quantizable module is generated.(../snapshot/OFA_RCAN_QAT/model/qat_result/test/Model.py)
[VAIQ_NOTE]: =>Get module with quantization.
Evaluation:
0%|                                                     | 0/5 [00:00<?, ?it/s]
[VAIQ_WARN]: The shape of input (torch.Size([3, 256, 256])) should be the same with that of dummy input ([3, 48, 48])
20%|█████████                                    | 1/5 [00:02<00:08,  2.16s/it]
[VAIQ_WARN]: The shape of input (torch.Size([3, 144, 144])) should be the same with that of dummy input ([3, 48, 48])
40%|██████████████████                           | 2/5 [00:02<00:04,  1.34s/it]
[VAIQ_WARN]: The shape of input (torch.Size([3, 128, 128])) should be the same with that of dummy input ([3, 48, 48])
60%|███████████████████████████                  | 3/5 [00:03<00:02,  1.08s/it]
[VAIQ_WARN]: The shape of input (torch.Size([3, 140, 140])) should be the same with that of dummy input ([3, 48, 48])
80%|████████████████████████████████████         | 4/5 [00:04<00:00,  1.14it/s]
[VAIQ_WARN]: The shape of input (torch.Size([3, 172, 114])) should be the same with that of dummy input ([3, 48, 48])
100%|█████████████████████████████████████████████| 5/5 [00:04<00:00,  1.03it/s]
[Set5 x2]       PSNR: 22.5584 (PSNR: 22.5584 SSIM: 0.7789) (Best: 22.5584 @epoch 0)
Forward: 4.87s
Saving...
Total: 4.87s
[VAIQ_NOTE]: Quant config file is empty, use default quant configuration
[VAIQ_NOTE]: Quantization test process start up...
[VAIQ_NOTE]: =>Quant Module is in 'cpu'.
[VAIQ_NOTE]: =>Parsing Model...
[VAIQ_NOTE]: Start to trace model...
[VAIQ_NOTE]: Finish tracing.
[VAIQ_NOTE]: Processing ops...
██████████████████████████████████████████████████| 46/46 [00:00<00:00, 777.00it/s, OpInfo: name = return_0, type = Return]
[VAIQ_NOTE]: =>Quantizable module is generated.(../snapshot/OFA_RCAN_QAT/model/qat_result/test/Model.py)
[VAIQ_NOTE]: =>Get module with quantization.
[VAIQ_NOTE]: =>Converting to xmodel ...
Traceback (most recent call last):
File "train_qat.py", line 118, in
main()
File "train_qat.py", line 115, in main
quantizer.export_xmodel(output_dir)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/apis.py", line 127, in export_xmodel
self.processor.export_xmodel(output_dir, deploy_check)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/qproc/base.py", line 248, in export_xmodel
dump_xmodel(output_dir, deploy_check, self._lstm_app)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/qproc/base.py", line 323, in dump_xmodel
xmodel_depoly_infos, dump_deploy_infos = compiler.get_xmodel_and_dump_infos(quantizer, deploy_graphs)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/nndct_shared/compile/xir_compiler.py", line 45, in get_xmodel_and_dump_infos
graph_quant_info = XirCompiler.get_deloy_graph_infos(quantizer, deploy_graphs_list[0])
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/nndct_shared/compile/xir_compiler.py", line 69, in get_deloy_graph_infos
if len(quant_groups[blob_name]) == 1:
KeyError: 'Model::Model/MeanShiftConv[model]/MeanShiftConv[sub_mean]/Conv2d[mean_conv]/input.2'
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code >

@wangxd-xlnx If I use ’pip install --user -r requirements.txt' error please help to suggest how to solve it and run to get .xmodel to run in target board
Docker Image Version: <IP_ADDRESS>0   (CPU)
Vitis AI Git Hash: 502703c
Build Date: 2022-06-12
For TensorFlow 1.15 Workflows do:
conda activate vitis-ai-tensorflow
For PyTorch Workflows do:
conda activate vitis-ai-pytorch
For TensorFlow 2.8 Workflows do:
conda activate vitis-ai-tensorflow2
For WeGo Tensorflow 1.15 Workflows do:
conda activate vitis-ai-wego-tf1
For WeGo Tensorflow 2.8 Workflows do:
conda activate vitis-ai-wego-tf2
For WeGo Torch Workflows do:
conda activate vitis-ai-wego-torch
Vitis-AI /workspace > conda activate vitis-ai-pytorch
(vitis-ai-pytorch) Vitis-AI /workspace > cd pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5 > pip install --user -r requirements.txt
Collecting certifi==2021.5.30
Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.5/145.5 kB 1.0 MB/s eta 0:00:00
Requirement already satisfied: cycler==0.11.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (0.11.0)
Collecting fonttools==4.29.1
Downloading fonttools-4.29.1-py3-none-any.whl (895 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 895.5/895.5 kB 4.9 MB/s eta 0:00:00
Collecting imageio==2.9.0
Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 6.3 MB/s eta 0:00:00
Requirement already satisfied: joblib==1.1.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 5)) (1.1.0)
Collecting kiwisolver==1.3.2
Downloading kiwisolver-1.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 4.8 MB/s eta 0:00:00
Collecting matplotlib==3.5.1
Downloading matplotlib-3.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.2/11.2 MB 4.8 MB/s eta 0:00:00
Collecting networkx==2.6.3
Downloading networkx-2.6.3-py3-none-any.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 5.2 MB/s eta 0:00:00
Collecting ninja==<IP_ADDRESS>
Downloading ninja-<IP_ADDRESS>-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (108 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.1/108.1 kB 7.7 MB/s eta 0:00:00
Collecting numpy==1.17.2
Downloading numpy-1.17.2-cp37-cp37m-manylinux1_x86_64.whl (20.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 20.3/20.3 MB 5.8 MB/s eta 0:00:00
Requirement already satisfied: packaging==21.3 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 11)) (21.3)
Collecting Pillow==9.0.1
Downloading Pillow-9.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 6.2 MB/s eta 0:00:00
Collecting pyparsing==3.0.7
Downloading pyparsing-3.0.7-py3-none-any.whl (98 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.0/98.0 kB 8.5 MB/s eta 0:00:00
Requirement already satisfied: python-dateutil==2.8.2 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 14)) (2.8.2)
Collecting PyWavelets==1.1.1
Downloading PyWavelets-1.1.1-cp37-cp37m-manylinux1_x86_64.whl (4.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 6.7 MB/s eta 0:00:00
Collecting scikit-image==0.17.2
Downloading scikit_image-0.17.2-cp37-cp37m-manylinux1_x86_64.whl (12.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.5/12.5 MB 6.6 MB/s eta 0:00:00
Collecting scikit-learn==1.0.2
Downloading scikit_learn-1.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.8/24.8 MB 8.0 MB/s eta 0:00:00
Requirement already satisfied: scipy==1.3.1 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 18)) (1.3.1)
Requirement already satisfied: six==1.16.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 19)) (1.16.0)
Collecting sklearn==0.0
Downloading sklearn-0.0.tar.gz (1.1 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: threadpoolctl==3.1.0 in /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages (from -r requirements.txt (line 21)) (3.1.0)
Collecting tifffile==2021.11.2
Downloading tifffile-2021.11.2-py3-none-any.whl (178 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 178.9/178.9 kB 3.9 MB/s eta 0:00:00
Collecting torch==1.7.1
Downloading torch-1.7.1-cp37-cp37m-manylinux1_x86_64.whl (776.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 776.8/776.8 MB 2.2 MB/s eta 0:00:00
Collecting tqdm==4.63.0
Downloading tqdm-4.63.0-py2.py3-none-any.whl (76 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 76.6/76.6 kB 5.0 MB/s eta 0:00:00
Collecting typing-extensions==4.1.1
Downloading typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Building wheels for collected packages: sklearn
Building wheel for sklearn (setup.py) ... done
Created wheel for sklearn: filename=sklearn-0.0-py2.py3-none-any.whl size=1310 sha256=42d64470131f94c2bd2367d4a88f61c5cbdf6952edadb49598016a240cf302ae
Stored in directory: /home/vitis-ai-user/.cache/pip/wheels/46/ef/c3/157e41f5ee1372d1be90b09f74f82b10e391eaacca8f22d33e
Successfully built sklearn
Installing collected packages: ninja, certifi, typing-extensions, tqdm, pyparsing, Pillow, numpy, networkx, kiwisolver, fonttools, torch, tifffile, PyWavelets, imageio, scikit-learn, matplotlib, sklearn, scikit-image
WARNING: The script ninja is installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script tqdm is installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts f2py, f2py3 and f2py3.7 are installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts fonttools, pyftmerge, pyftsubset and ttx are installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts convert-caffe2-to-onnx and convert-onnx-to-caffe2 are installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts lsm2bin, tiff2fsspec, tiffcomment and tifffile are installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts imageio_download_bin and imageio_remove_bin are installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script skivi is installed in '/home/vitis-ai-user/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
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.
torchvision 0.11.2+cpu requires torch==1.10.1, but you have torch 1.7.1 which is incompatible.
pandas 1.3.1 requires numpy>=1.17.3, but you have numpy 1.17.2 which is incompatible.
Successfully installed Pillow-9.0.1 PyWavelets-1.1.1 certifi-2021.5.30 fonttools-4.29.1 imageio-2.9.0 kiwisolver-1.3.2 matplotlib-3.5.1 networkx-2.6.3 ninja-<IP_ADDRESS> numpy-1.17.2 pyparsing-3.0.7 scikit-image-0.17.2 scikit-learn-1.0.2 sklearn-0.0 tifffile-2021.11.2 torch-1.7.1 tqdm-4.63.0 typing-extensions-4.1.1
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5 > cd code/
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code > sh run_qat.sh
/home/vitis-ai-user/.local/lib/python3.7/site-packages/torch/cuda/init.py:52: UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at  /pytorch/c10/cuda/CUDAFunctions.cpp:100.)
return torch._C._cuda_getDeviceCount() > 0
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
Traceback (most recent call last):
File "train_qat.py", line 24, in
from pytorch_nndct import nn as nndct_nn
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/init.py", line 14, in
from .apis import *
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/apis.py", line 25, in
from .qproc import TorchQuantProcessor
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/qproc/init.py", line 1, in
from .base import TorchQuantProcessor, dump_xmodel
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/qproc/base.py", line 30, in
from pytorch_nndct.quantization import TORCHQuantizer, FakeQuantizer
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/quantization/init.py", line 2, in
from .torch_qalgo import *
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/quantization/torch_qalgo.py", line 28, in
from pytorch_nndct.nn import fake_quantize_per_tensor, fake_quantize_per_channel
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/init.py", line 1, in
from pytorch_nndct.nn.modules import functional
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/modules/init.py", line 16, in
from .sigmoid import *
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/modules/sigmoid.py", line 26, in
from .fix_ops import NndctSigmoidTableLookup, NndctSigmoidSimulation
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/modules/fix_ops.py", line 26, in
from ..load_kernels import *
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/load_kernels.py", line 31, in
torch.ops.load_library(lib_abspath)
File "/home/vitis-ai-user/.local/lib/python3.7/site-packages/torch/_ops.py", line 105, in load_library
ctypes.CDLL(path)
File "/opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/ctypes/init.py", line 364, in init
self._handle = _dlopen(self._name, mode)
OSError: /opt/vitis_ai/conda/envs/vitis-ai-pytorch/lib/python3.7/site-packages/pytorch_nndct/nn/_kernels.cpython-37m-x86_64-linux-gnu.so: undefined symbol: ZN3c106detail12infer_schema20make_function_schemaENS_8ArrayRefINS1_11ArgumentDefEEES4
(vitis-ai-pytorch) Vitis-AI /workspace/pt_OFA-rcan_DIV2K_360_640_45.7G_2.5/code >

@wangxd-xlnx run_qat.sh i think I finish well in step 1 and 2 that error 2 post before from
Copyright 2019 Xilinx Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
###OFA-RCAN model
Data=../data
Model=../float/
S=2 #scale
R=1 #the number of groups
F=16 #output channel
SAVE=OFA_RCAN_QAT
CUDA_VISIBLE_DEVICES=0 python train_qat.py --qat_step 1 --dir_data ${Data} --model RCAN_wo_CA_QAT --lr 5e-3 --epochs 250 --decay 50-100-150-200-250 --data_test Set5 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 \
CUDA_VISIBLE_DEVICES=0 python train_qat.py --qat_step 2 --dir_data ${Data} --model RCAN_wo_CA_QAT --data_test Set5 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 \
CUDA_VISIBLE_DEVICES=0 python train_qat.py --qat_step 3 --dir_data ${Data} --model RCAN_wo_CA_QAT --data_test Set5+Set14+B100+Urban100 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 --test_only \
CUDA_VISIBLE_DEVICES=1 python train_qat.py --qat_step 1 --dir_data ${Data} --model RCAN_wo_CA_QAT --lr 5e-3 --epochs 2 --decay 50-100-150-200-250 --data_test Set5 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 \
CUDA_VISIBLE_DEVICES=1 python train_qat.py --qat_step 2 --dir_data ${Data} --model RCAN_wo_CA_QAT --data_test Set5 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 \
CUDA_VISIBLE_DEVICES=1 python train_qat.py --qat_step 3 --dir_data ${Data} --model RCAN_wo_CA_QAT --data_test Set5 --save ${SAVE} --scale 2 --n_resgroups ${R} --n_feats ${F}  --batch_size 16 --n_GPUs 1 --test_only

@watchara-knot :
To avoid key errors you met, it needs to keep all the following tools with the same version and don't change them:
Vitis-AI, python, pytorch and vai_q_pytorch.

Closing since no activity for more than 1 month, please reopen if you still have question, thanks


Adding and subtracting duration to timestamp

This PR defines functions to add and subtract a duration to a timestamp. The duration is always scaled up/down to have the same time scale as the timestamp.
Closes #26

@jorgecarleitao I changed the binary function to avoid arrays checks. If you agree with this changes, do you mind merging this to main so I can merge these changes into Decimal PR?


Investigate .NET 8 changes

Check to see if .NET 8 has any breaking changes WRT this library (something about the token names in the properties might have changed?).

FYI
.NET 8 introduced the breaking using the Microsoft.IdentityModel.JsonWebTokens. This breaks this package due to serialization
ArgumentException: IDX11025: Cannot serialize object of type: '<>f__AnonymousType0`4[System.String,System.String,System.String,System.String]' into property: 'jwk'.

Hello @brockallen ,
We are a paying customer using Duende.Bff.
We are hit by this issue as we upgrade to .NET8 and would like to know if there's a workaround we could use in the meantime, like registering to the DI a different implementation for some classes.

We're working on it as we speak.

We are still having this same issue in .net 8 using Duende.AccessTokenManagement version 2.1.0


libchewing: 0.4.0 -> 0.5.1

Semi-automatic update. These checks were performed:

built on NixOS
found 0.5.1 with grep in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1
found 0.5.1 in filename of file in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1

cc "@ericsagnes"

Success on x86_64-linux (full log)
Partial log (click to expand)
 /nix/store/cb3slv3szhp46xkrczqw7mscy5mnk64l-coreutils-8.29/bin/install -c -m 644 chewing.pc '/nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1/lib/pkgconfig'
make[2]: Leaving directory '/tmp/nix-build-libchewing-0.5.1.drv-0/libchewing-0.5.1'
make[1]: Leaving directory '/tmp/nix-build-libchewing-0.5.1.drv-0/libchewing-0.5.1'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1
shrinking /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1/lib/libchewing.so.3.3.1
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1/lib
patching script interpreter paths in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1
checking for references to /tmp/nix-build-libchewing-0.5.1.drv-0 in /nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1...

@grahamcofborg build fcitx-engines.chewing libchewing

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘fcitx-chewing-0.2.2’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix:26 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
-- Installing: /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2/share/fcitx/skin/classic/chewing.png
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2
shrinking /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2/lib/fcitx/fcitx-chewing.so
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2/lib
patching script interpreter paths in /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2
checking for references to /tmp/nix-build-fcitx-chewing-0.2.2.drv-0 in /nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2...
/nix/store/lxx7vpvkjhcyrjv8n907drffzxs9dipp-fcitx-chewing-0.2.2
/nix/store/j3cl2l9f1m6p14b5y8cf24p4hqhw9nsn-libchewing-0.5.1

Success on aarch64-linux (full log)
Partial log (click to expand)
-- Installing: /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2/share/fcitx/skin/classic/chewing.png
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2
shrinking /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2/lib/fcitx/fcitx-chewing.so
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2/lib
patching script interpreter paths in /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2
checking for references to /build in /nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2...
/nix/store/mnm92r7nn39d5gxlsnifilk9gnach5cy-fcitx-chewing-0.2.2
/nix/store/awyvyh8w47v1cscrzd8g5xa8wil4vqgn-libchewing-0.5.1


One can create data bags with names that are reserved words

One can create a data bag called role, node, client or environment, but then cannot search that data bag. This happens with the latest chef version.
The data bag creation should probably throw an error and not allow creation of a data bag with one of these names.

We see this issue create ugly results in Chef training.
:+1:

+1

:+1:

We definitely need to fix this one way or another.
Its possible that we could fix this so that knife data bag show/search would favor data bag names over class methods.  This is similar to the fix that went in so that knife node show/search would pick node[:keys] over node#keys.  In other words make it so that data bags named 'role' were legal.

I've also run into problems using the key 'name'

After nothing happening on this issue for over 2.5 years, I dug into the code today and talked with Lamont and others, and it turns out supporting data bags with these names in search is not so easy. It is specifically called out in the chef-server repo that search on such data bag names is not supported (in https://github.com/chef/chef-server/blob/master/src/oc_erchef/raml-docs/organizations/search.yaml). Also, the knife search code expects 'node' to mean the node index, and will do things differently if the search type is 'node'. I thus still believe the correct answer is to simply not allow data bags to be created with these names, so the client code matches the server code.
I will submit a PR with this fix.

I thought that the data bag could not be named role, node, client or environment but it seems that the data bag cannot contain any of these strings which is a lot different.
For exemple if I want to create a data bag named : ldap-roles, then chef run will fail with Chef::Exceptions::InvalidDataBagName
DataBags may not have a name matching /node|role|environment|client/
Is this expected behaviour ?

You're right, but that fix needs to extend to the other code path too, and the tests. I can create a PR for that.

Closing this out since it looks like it was fixed


Error after processing

Hi Guys,
I am getting below error after the course is processed. How can we get this working?
[01:14:36] [udemy-downloader] [parse_new:1357] INFO: Chapter(s) (7)
[01:14:36] [udemy-downloader] [parse_new:1358] INFO: Lecture(s) (325)
[01:14:36] [udemy-downloader] [parse_new:1372] INFO: ======= Processing chapter 1 of 7 =======
[01:14:36] [udemy-downloader] [parse_new:1390] INFO:   > Processing lecture 1 of 325
[01:14:36] [udemy-downloader] [parse_new:1395] INFO:       > Lecture '001 Important Course Instructions' is already downloaded, skipping...
[01:14:36] [udemy-downloader] [parse_new:1372] INFO: ======= Processing chapter 2 of 7 =======
[01:14:36] [udemy-downloader] [parse_new:1390] INFO:   > Processing lecture 2 of 325
[01:14:36] [udemy-downloader] [process_lecture:1312] INFO:       > Lecture doesn't have DRM, attempting to download...
[01:14:36] [udemy-downloader] [process_lecture:1321] INFO:       ====== Selected quality: hls 1080
[01:14:36] [udemy-downloader] [process_lecture:1345] ERROR: >        Error downloading lecture: [WinError 2] The system cannot find the file specified
Traceback (most recent call last):
File "C:\Users*\Downloads\udemy-downloader-master\main.py", line 1882, in
main()
File "C:\Users*\Downloads\udemy-downloader-master\main.py", line 1875, in main
parse_new(_udemy)
File "C:\Users*\Downloads\udemy-downloader-master\main.py", line 1415, in parse_new
process_lecture(lecture, lecture_path,
File "C:\Users*\Downloads\udemy-downloader-master\main.py", line 1346, in process_lecture
raise e
File "C:\Users********\Downloads\udemy-downloader-master\main.py", line 1337, in process_lecture
ret_code = subprocess.Popen(args).wait()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
C:\Users********\Downloads\udemy-downloader-master>

install yt-dlp as the README says

Thank you!
But that is already installed. I installed everything mentioned in the "requirement.txt" file.
C:\Users*\Downloads\udemy-downloader-master>pip install yt-dlp
Requirement already satisfied: yt-dlp in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (2021.12.27)
Requirement already satisfied: mutagen in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (1.45.1)
Requirement already satisfied: pycryptodomex in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (3.12.0)
Requirement already satisfied: websockets in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (10.1)
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
You should consider upgrading via the 'C:\Users*\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip' command.
C:\Users**********\Downloads\udemy-downloader-master>

Thank you!
But that is already installed. I installed everything mentioned in the "requirement.txt" file.
C:\Users*\Downloads\udemy-downloader-master>pip install yt-dlp Requirement already satisfied: yt-dlp in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (2021.12.27) Requirement already satisfied: mutagen in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (1.45.1) Requirement already satisfied: pycryptodomex in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (3.12.0) Requirement already satisfied: websockets in c:\users*\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (from yt-dlp) (10.1) WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available. You should consider upgrading via the 'C:\Users*\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip' command.
C:\Users**********\Downloads\udemy-downloader-master>

its not part of the requirements.txt file as it can be installed as a standalone executable as well.
your python scripts folder needs to be in your system path also or the program can't execute it, as the README file says. I also don't really recommend using the Windows Store version of python.

Got it.
Placed the binary in program main directory and its working.
I will remove the store version and move to the exe installation.
Thank you so much!
Happy new year!

Good to hear, you're welcome. Happy new year to you as well!


[.NET SDK] Czech translation update

Reviewed and fixed Czech language resources.

Is anything blocking this PR from merge?

Closing this PR because the code for this repository has been moved to https://github.com/Microsoft/BotBuilder-V3  If you think this PR is still relevant, please re-submit on the new repository.


100% coverage.

Overall LGTM as is, tried to give you some nits/food for thought but up to you on each one. Also, I think you write some great test cases that really help explain the API, but adding a few more docstrings as to help clarify the intention of the test would make it more useful (you have a few block comments like this already, but the more the merrier)

but adding a few more docstrings as to help clarify the intention of the test would make it more useful (you have a few block comments like this already, but the more the merrier)

I totally agree, can you help me out by calling out some specific examples?
I'm going to go ahead and merge this, but I will follow up on any areas that need to be further clarified.


Port number is static

The network port number is hard coded in the module to the default port 5000.
In SPX-GC the port number can be changed.
Please add option to change the port number in the module as well.

done in the latest build


Cache persistence doesn't work

Initially I thought this is my configuration issue, but then I found this topic: https://community.cloudflare.com/t/testing-workers-with-the-cache-api/181346
However solution from that discussion wont help me. My caching results already had caching reply status. I've noticed that sometimes the caching behavior is unexpected to me, and decided to write tests to address that issue. However, it seems that even with correct wrangler.toml, cache wont be persistent if miniflare was created as part of a jest test.
It seems that between tests the cache being reset, and I don't see any files created in my selected cache folder. I have 500 lines worker with complicated caching logic, and I would like to have tests cover all the corner cases.
https://github.com/cloudflare/miniflare/blob/master/packages/shared-test-environment/src/storage.ts#L43
module.exports = {
    presets: [
        ['@babel/preset-env', {targets: {node: 'current'}}],
        '@babel/preset-typescript',
    ],
};

export default {
  testEnvironment: "miniflare",
  // Configuration is automatically loaded from `.env`, `package.json` and
  // `wrangler.toml` files by default, but you can pass any additional Miniflare
  // API options here:
  testEnvironmentOptions: {
    bindings: { KEY: "value" },
    kvNamespaces: ["TEST_NAMESPACE"],
  },
};

name = "cloudflare-proxy"
main = "src/index.ts"
compatibility_date = "2022-12-30"
send_metrics = false

[miniflare]
cache_persist = "./cache/"

I've managed to overcome this limitation using nasty hack, but this is a clearly not the best workaround.
I'm exposing reference #storage field and moving it across instances, but I would love to see this fixed.
https://github.com/cloudflare/miniflare/blob/master/packages/cache/src/cache.ts#L184
  afterEach(() => {
    cache_persist = caches.default.hack_storage;
  })
  beforeEach(() => {
    caches.default.hack_storage = cache_persist;
  })

@Enelar I'm going to close this out due to inactivity. If the explanation from @mrbbot doesn't solve the issue, feel free to reopen.

@mrbbot, I see the logic behind it. However this is somewhat unexpected. When I create an instance of some object, and use in my test I won't expect it to have same fancy logic around tests. Could you please add this into documentation?
Also, there is no way to save-restore cache state, which bloats tests.


Analyzer raises thread-safety issues on const fields

Found in version 1.0.0
Consider the following class definition:
[SynchronizedMemoryAccess]
public class Client : IClient
{
    private const string ODataVersion = "4.0";
    private const string ApiPath = "api/data/v9.2/";
    private const string ValuePropertyName = "value";
    private const string NextLinkPropertyName =<EMAIL_ADDRESS>    // ...
}

All of the const fields in the example will be marked by the analyzer with the following issue: MRTS0004: Fields of synchronized types should be multi-threading safe
This is unintended behavior as const fields are generally considered safe in synchronized and immutable contexts

Fix is ready and will be deployed with version 1.0.1


feat: nameFormatter and headerFormatter added

Brief Information
This pull request is in the type of:

[ ] bug fixing
[x] new feature
[ ] others

What does this PR do?
New APIs tooltip.nameFormatter and tooltip.headerFormatter that allow user to change name and header respectively in tooltip are added.
Fixed issues

fix #16703

Details
Before: What was the problem?
"New formatter" like tooltip.valueFormatter is requested to change the name and header in tooltip. With these formatters users can change only the series name or the header (x-axis value), without changing the other default parts of the tooltip.

Users cannot change the format of date and have to display the exact time despite they don't need it.
After: How is it fixed in this PR?
New APIs tooltip.nameFormatter and tooltip.headerFormatter are added. They allow user to change name and header respectively in tooltip without changing other default part.
After setting tooltip to:
tooltip: {
    trigger: 'axis',
    headerFormatter: header => `${new Date(header).toDateString()}`,
    nameFormatter: name => `Score`,
    valueFormatter: value => `${value}/10`
  }

We have

User can change name and header as wish without having to write the whole thing from scratch with tooltip.formatter.
Misc

[x] The API has been changed (apache/echarts-doc#xxx).
[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
N.A.
Others
Merging options

[x] Please squash the commits into a single one when merging.

Other information

headerFormatter is really useful. Is it possible to land this feature sooner? Milestone 5.4 is too far.

Any plans on merging this? nameFormatter would be really useful


Replace BatchingWorkQueue with AsyncBatchingWorkQueue from Roslyn

I recommend reviewing commit-by-commit.
Razor has had a BatchingWorkQueue for a long while that has dubious semantics. It is used by three features:

OpenDocumentGenerator - Listens for document updates, computes generated output for each, and notifies listeners when a document has been processed.
WorkspaceSemanticTokensRefreshPublisher - Called in the server to send the client semanticTokens/refresh notifications. This really sort of abuses BatchingWorkQueue just for debouncing and only send notifications every 250 milliseconds.
WorkspaceProjectStateChangeDetector - Listens for Roslyn workspace and Razor project manager changes and calls into IProjectWorkspaceStateGenerator.Update(...) when a change occurs.

This change fully replaces BatchingWorkQueue with a copy of Roslyn's AsyncBatchingWorkQueue, which has consistent semantics and has been battle-hardened for years. I've updated OpenDocumentGenerator and WorkspaceProjectStateChangeDetector above to use AsyncBatchingWorkQueue. For WorkspaceSemanticTokensRefreshPublisher (now WorkspaceSemanticTokensRefreshNotifier), I've removed the BatchingWorkQueue altogether and replaced it with simpler logic that debounces and calls Task.Delay(...).
Many thanks to @CyrusNajmabadi for his help with AsyncBatchingWorkQueue.
@dotnet/razor-compiler: The only relevant compiler changes are in shared code.

/azp run

OK. This is now ready for code reviews. Thanks to @davidwengier for early comments!

Note: since last-one-wins still requires buffering all the items in the ABWQ, you really could just consider not adding support at that level, and just instead having a helper that dedupes the items in the callbacks that care about that behavior.  in other words, they'll get teh full list, and will just run a dedupe helper on it which will only do work if there is a duped item.    that would keep the ABWQ simple (and sync'ed with roslyn), and leave it to the feature-layers to say they want this behavior.  up to you.

Note: since last-one-wins still requires buffering all the items in the ABWQ, you really could just consider not adding support at that level, and just instead having a helper that dedupes the items in the callbacks that care about that behavior. in other words, they'll get teh full list, and will just run a dedupe helper on it which will only do work if there is a duped item. that would keep the ABWQ simple (and sync'ed with roslyn), and leave it to the feature-layers to say they want this behavior. up to you.

Good suggestion. I'll take a look at that approach.

@CyrusNajmabadi, @davidwengier, @jjonescz: I've made further changes to pull the "most recent item" de-duping out of AsyncBatchingWorkQueue and into a helper method, if you're interested in taking another look.

Still LGTM

Heads up that there might be an RPS regression from this
Known good: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/538963
Known bad: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/539115
See details in the known bad.

Heads up that there might be an RPS regression from this
Known good: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/538963 Known bad: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/539115 See details in the known bad.

Possibly, but I'm not sure. There were similar RPS regressions in our 17.10p3 payload that have been fixed in the release/dev17.10 branch. We should get those fixes into main to be sure.

The fixes have merged to main

@RikkiGibson: Now that main has the release/dev17.10 fixes, is there an updated PR we can track?

Latest main insertion is showing fewer assembly loads but still elevated from baseline https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/539887

I think that's going to require further investigation. Could you file an issue, start a mail thread, or raise this in Teams? It feels like the right eyes aren't going to see this on a closed PR.

Started the conversation on the infraswat side. Thanks!


Edit form broken when using 1 boolean field

When using an edit form and having only 1 boolean field, unchecking the boolean does not save to the model after submitting the form.
Sample app: https://gist.github.com/matteosimone/3dfd4889261d171d2112
Go to http://localhost:5000/admin/modelview/ after running and try to edit the model to uncheck the boolean and submit.

thanks @matteosimone, this has been fixed

@petrus-jvrensburg This issue is still present. I am currently dealing with the same problem and neither of the solutions posted above are solving this issue.

Im facing the same issed.

This worked for me:
form_widget_args = {
    'first_field': {
        'required': False
    }, 'second_field': {
        'required': False
    }
}


Fix dataloader docstring

Docstrings were referring to 'sparse_dense' instead of 'sparse_as_dense'
which is the actual parameter name. Fix and also fix an issue with
formatting with the tf dataloader class docstring.

rerun tests


Add Shopware <IP_ADDRESS>

I know, this version is pretty outdated already. Just for completeness.

perfect
thank you so much
completeness is good :)


[Bug] pre-commit don't work

I execute git commit -a -m "xxxxx", but pre-commit don't work

npm install --save-dev pre-commit

package.json:

{
  "script": {
      "bar": "echo \"bar\" && exit 0"
  },
  "pre-commit": "bar"
}

.git/hooks/pre-commit:

#!/bin/bash
./node_modules/pre-commit/hook
RESULT=$?
[ $RESULT -ne 0 ] && exit 1
exit 0

at same time, has pre-commit* pre-commit.old pre-commit.sample* in .git/hooks

node version: v16.13.1

npm version: v8.1.2

@3rd-Eden @mcollina @kriskowal @alexindigo would you have a suggestion?

@zhaoyiming0803  can you provide much context? It should work, I can't reproduce this issue


If the platform is OCP then we get the credentials from the secret we requested from cloud credentials operator

If the platform is OCP then we get the credentials from the secret we requeste from cloud credentials operator.
This fixes https://issues.redhat.com/browse/CFE-135
Adds kubernetes fake package for mocking clients and objects as it is required for unit tests.
This PR unreverts commit 127835f3136ca10eea04dc8f1ee276d0f16cd447
Signed-off-by: Miheer Salunke<EMAIL_ADDRESS>

@arjunrn @Miciah

@Miciah working on supporting GCP and Azure

@alebedev87  @arjunrn PTAL

@alebedev87 thanks a lot! Your reviews are valuable to me. I learnt a lot from them.


Windows Custom Cluster Automation

QA-Task 428
Problem
Currently all testing of the provisioning of Custom clusters with Windows worker nodes has to be handled manually or with bash scripts, therefore having the ability to run automated CI/CD tests for the provisioning of these clusters to ensure they are still working properly will be much more efficient on time.
Solution
This PR will allow for automation of Windows Custom Cluster nodes, to allow expedited regression/smoke testing.
Automated Testing
This PR is intended to add automated tests for the provisioning of Custom Clusters with Windows worker nodes. The additions of new Windows provisioning tests (1 Node all roles Admin User + 1 Windows Worker, 1 Node all roles Standard User + 1 Windows Worker, 3 unique role nodes as Admin User + 1 Windows Worker, 3 unique role nodes as Standard User + 1 Windows Worker) will cover basic regression testing scenarios.
Note: Running this suite of tests for Custom Clusters (including bother with and without Windows Nodes) often takes ~90+ minutes to complete.

@jameson-mcghee does this PR have a backport as well?

@igomez06, I have not created a backport yet, because I wanted to verify that this one was going to get approval first, but we can if thats what is needed.

@igomez06, I have not created a backport yet, because I wanted to verify that this one was going to get approval first, but we can if thats what is needed.

For sure, but this is practically approved just one more review with a Jenkins run, so I think it's a good time to get a backport ready. That way both PRs can be merged at the same time.

I would agree with @igomez06 on the backport. The PR can be merged once we have the last Jenkins run, so it would be good to just cherry-pick this into the 2.6 branch and knock two birds out with one stone.


Output shape argument description in tf.keras.layers.MultiHeadAttention possibly wrong.

Please go to TF Forum for help and support:
https://discuss.tensorflow.org/tag/keras
If you open a GitHub issue, here is our policy:
It must be a bug, a feature request, or a significant problem with the documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
Here's why we have that policy:.
Keras developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.
URL(s) with the issue:.
Link to MultiHeadAttention docs: https://www.tensorflow.org/api_docs/python/tf/keras/layers/MultiHeadAttention/

Description of issue (what needs to be changed):.
Output shape argument description currently says the following: The expected shape of an output tensor, besides the batch and sequence dims. If not specified, projects back to the key feature dim. I believe it should say:  The expected shape of an output tensor, besides the batch and sequence dims. If not specified, projects back to the input feature dim.
Correct links.
Yes
Parameters defined.
Yes
Returns defined.
Yes
Raises listed and defined
Yes
Usage example
This can be confirmed with the following code:
import tensorflow as tf
mha = tf.keras.layers.MultiHeadAttention(key_dim=2, num_heads=8)
input = tf.keras.Input(shape=[256, 18])
attention = mha(input, input, input)
print(mha.weights[6].shape[-1])

The code will output 18 (the input feature dimension) rather than the key feature dimension (in this case, 2).
Request visuals, if applicable.
No and no.
Submit a pull request?.
Yes

@CORRELU ,
When using MultiHeadAttention inside a custom layer, the custom layer must implement its own build() method and call MultiHeadAttention's _build_from_signature() there. This enables weights to be restored correctly when the model is loaded.
Also When I was trying to execute the given code in the alternative approach by providing the (mha.weights[5].shape[-1]), the output was 2 which is key_dim as mentioned in the document.
import tensorflow as tf
mha = tf.keras.layers.MultiHeadAttention(key_dim=2, num_heads=8)
input = tf.keras.Input(shape=[256, 18])
attention = mha(input, input, input)
print(mha.weights[5].shape[-1])

Kindly find the gist of it here for the reference. Thank you!

@tilakrayal
Thank you for your response. Index 5 in mha.weights corresponds to the value bias not the key , it becomes apparent when printing out the name :mha.weights[5].name.
Let me rephrase my question. It says that the output dimension will correspond to the key dimension if no argument is given, however for k_dim=2, mha.output_shape[-1] clearly outputs the dimension of the input not the key. After thinking about it a little more, I realise the documentation may be refering to the key before it its transformed using the weights and bias, in which case the key dimension is indeed 18. You can close the issue now.

@CORRELU,
Yes, As mentioned before it is transformed using the weights and bias. it is referring to the key.
Also the expected shape of an output tensor, besides the batch and sequence dims. If not specified, projects back to the key feature dim.
Glad the issue is resolved for you, Could you please feel free to move this issue to closed status. Thank you!

@CORRELU,
Yes, As mentioned before it is transformed using the weights and bias. it is refering to the key.
Also the expected shape of an output tensor, besides the batch and sequence dims. If not specified, projects back to the key feature dim.
Glad the issue is resolved for you, Could you please feel free to move this issue to closed status. Thank you!


fix(comment-section): improve responsiveness of comment section

Fixes #4231
Describe the changes you have made in this PR -
The comment box will never overflow and disrupt the width of the website when long comments are present.
Screenshots of the changes (If any) -
https://github.com/CircuitVerse/CircuitVerse/assets/73533729/31dac4b5-e2d2-4743-90e6-b672371df5ff
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

cc @tanmoysrt


Add Utah Telecom Boundaries from URTA and FCC

Summary

Proposed Readable Name: Utah Telecom Boundaries
Proposed Internal Dataset Name: SGID.UTILITIES.TelecomBoundaries
Proposed External Dataset Name: opensgid.utilities.telecom_boundaries
Proposed Data Category: Utilities
Data Description: Urban and rural telecom boundaries of Utah
Source Agency/Entity: URTA / FCC
Contact: Jim Nelson<EMAIL_ADDRESS>Update Frequency: As needed

This data is current and will replace outdated UTILITIES.RuralTelecomBoundaries once they have been shelved
The data should be available in
1 Check [x] all the areas where you expect the data to show up.

[x] Internal SGID
[x] Open SGID
[x] ArcGIS Online
[x] Open Data

The data is of high quality
~- [ ] Sweeper checks have run and passed (@gregbunce  on 2023/00/00)~

[ ] The minimum requirements for metadata are populated (@gregbunce on 2023/00/00)
[ ] The data complies with our domain rules (@gregbunce on 2023/00/00)

Where is the data source
Choose one.

[x] Internal SGID
[ ] Farm from AGOL (agol item url)

Action items

Assign a person who should complete the task by replacing name with their github @name.
Check [x] the box when the task is completed and add the date of completion.
~Strike~ out all items that do not apply.

[ ] Add data to the Internal SGID (@ZachBeck , completed: 2023/00/00)
~[ ] Configure forklift for Farm from AGOL (name, completed: 2023/00/00)~
[ ] Update relevant gis.utah.gov data pages (@ZachBeck , completed: 2023/00/00)
[ ] Add a Stewardship record (@ZachBeck, completed: 2023/00/00)
[ ] Complete a SGID.META.AGOLItems record (@ZachBeck, completed: 2023/00/00)

AGOL_ITEM_ID will be populated by Forklift after it publishes the new AGOL item.

[ ] Complete an AGOLItems_shelved record for any static or shelved item (@ZachBeck, completed: 2023/00/00)
[ ] Define a record set with archives (@brigsz, completed: 2023/00/00)

:robot: Automation validation

Assign yourself or someone to check the item by replacing name with their github @name.
Check [x] the box and add the date of verification 2020/01/01 when the task is verified.
~Strike~ out all items that do not apply.

[ ] Open SGID via cloudb (@steveoh on 2023/00/00)
[ ] ArcGIS Online via forklift (@stdavis on 2023/00/00)
[ ] Auditor ran successfully (@jacobdadams on 2023/00/00)
[ ] Open Data (@ZachBeck on 2023/00/00)
[ ] gis.utah.gov data pages (@ZachBeck on 2023/00/00)
[ ] sgid-index (@steveoh on 2023/00/00)

Notification

[ ] Twitter (@steveoh)

Group Task Assignments

Check [x] the box when you have assigned all the tasks relevant to your group.

[x] Data Team (@gregbunce)
[x] Dev Team (@steveoh)
[x] Cadastre Team (@rkelson)

Not having an update schedule and steward contact seems a bit problematic don't we think?

Not really. It's a mash up of data from the URTA and FCC so there is no steward and the boundaries don't change very often so I don't think that it needs to be put on a schedule.

Possible "stewards":
URTA:

FCC:
https://www.fcc.gov/reports-research/maps/study-area-boundaries/

...the boundaries don't change very often so I don't think that it needs to be put on a schedule.

perhaps we look at the FCC posted date and check-in with URTA annually

It's a mash up of data from the URTA and FCC so there is no steward

It would be ideal to have a contact from each of those places for the data they are providing that is getting mashed up.

I believe sweeper will run on this layer once it's added to Internal.  correct me if i'm wrong.

It was my understanding that you run it and fix the issues prior to adding it to internal.

conductor results for tasks - 281

check
status

@ZachBeck has completed 0 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

@steveoh has completed 1 out of 4 tasks
:no_entry:

@stdavis has completed 0 out of 1 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for tasks - 281

check
status

@ZachBeck has completed 0 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

@steveoh has completed 1 out of 4 tasks
:no_entry:

@stdavis has completed 0 out of 1 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for tasks - 281

check
status

@ZachBeck has completed 6 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

@steveoh has completed 2 out of 4 tasks
:no_entry:

@stdavis has completed 0 out of 1 tasks
:no_entry:

jacobdadams has completed 1 out of 1 tasks
:+1:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for tasks - 281

check
status

@ZachBeck has completed 7 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

@steveoh has completed 2 out of 4 tasks
:no_entry:

stdavis has completed 1 out of 1 tasks
:+1:

jacobdadams has completed 1 out of 1 tasks
:+1:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for UTILITIES.TelecomBoundaries

check
status

internal sgid
:+1:

meta table

- item id
:+1:

- item name
:+1:

- geometry type
:+1:

open sgid
:+1:

open data
:+1:

arcgis online
:+1:

stewardship

- Description
:+1:

- Data Source
:+1:

- Website URL
:+1:

- Endpoint
:+1:

- Data Type
:+1:

conductor results for tasks - 281

check
status

@ZachBeck has completed 7 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

@steveoh has completed 2 out of 4 tasks
:no_entry:

stdavis has completed 1 out of 1 tasks
:+1:

jacobdadams has completed 1 out of 1 tasks
:+1:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for UTILITIES.TelecomBoundaries

check
status

internal sgid
:+1:

meta table

- item id
:+1:

- item name
:+1:

- geometry type
:+1:

open sgid
:+1:

open data
:+1:

arcgis online
:+1:

stewardship

- Description
:+1:

- Data Source
:+1:

- Website URL
:+1:

- Endpoint
:+1:

- Data Type
:+1:

conductor results for tasks - 281

check
status

@ZachBeck has completed 9 out of 10 tasks
:no_entry:

@brigsz has completed 0 out of 1 tasks
:no_entry:

steveoh has completed 4 out of 4 tasks
:+1:

stdavis has completed 1 out of 1 tasks
:+1:

jacobdadams has completed 1 out of 1 tasks
:+1:

gregbunce has completed 1 out of 1 tasks
:+1:

rkelson has completed 1 out of 1 tasks
:+1:

conductor results for UTILITIES.TelecomBoundaries

check
status

internal sgid
:+1:

meta table

- item id
:+1:

- item name
:+1:

- geometry type
:+1:

open sgid
:+1:

open data
:+1:

arcgis online
:+1:

stewardship

- Description
:+1:

- Data Source
:+1:

- Website URL
:+1:

- Endpoint
:+1:

- Data Type
:+1:

Done


chore: added weather descriptions

swedish weather descriptions added to weather module

hello @00thirdeye00 whats the situation here?


test_api version conflict

Describe the bug
I cannot add convenient_test_dev to the dependencies because the test_api versions wont match up.
To Reproduce
Steps to reproduce the behavior:
flutter pub add dev:convenient_test_dev

It says:
Because every version of convenient_test_dev depends on test_api ^0.4.2 and every version of flutter_test from sdk depends on test_api 0.5.1, convenient_test_dev is incompatible with flutter_test from sdk.
So, because otomo depends on both flutter_test from sdk and convenient_test_dev ^1.2.1, version solving failed.

These are my dependencies:
dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  convenient_test_dev: ^1.2.1

removing flutter_test doesnt help either.
Is this caused by me using the latest version of flutter?

Looks like this is conflict with flutter version itself. Which flutter are you using?

The latest stable: 3.10.3

Oh I see the problem: Please use the master branch since I have not https://github.com/fzyzcjy/flutter_convenient_test/issues/341

Thanks for responding! But as I expected; upgrading to a newer flutter version is not doing anything.
Because every version of convenient_test_dev depends on test_api ^0.4.2 and every version of flutter_test from sdk depends on test_api 0.6.0, convenient_test_dev is incompatible with flutter_test from sdk.
So, because otomo depends on both flutter_test from sdk and convenient_test_dev ^1.2.1, version solving failed.
exit code 1
``` I still get this message.

Maybe try to update to master branch of this repo, instead of flutter itself?

How do i do that? How would i then import the packages. Because you released 1.2.1, is there a later version on master?

https://stackoverflow.com/questions/54022704/how-to-add-a-package-from-github-in-flutter

Wow, i didnt know that that was possible.
I tried from git and hosted both fail.
convenient_test:
    git:
      url: https://github.com/fzyzcjy/flutter_convenient_test.git
      path: packages/convenient_test/
      ref: master # branch name
  # convenient_test:
  #   hosted:
  #     url: https://github.com/fzyzcjy/flutter_convenient_test/tree/master/packages/convenient_test
  #     version: 1.2.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  convenient_test_dev:
    git:
      url: https://github.com/fzyzcjy/flutter_convenient_test.git
      path: packages/convenient_test_dev/
      ref: master # branch name
  # convenient_test_dev:
  #   hosted:
  #     url: https://github.com/fzyzcjy/flutter_convenient_test/tree/master/packages/convenient_test_dev
  #     version: 1.2.1

This is the error for git:
Because every version of convenient_test_dev from git depends on convenient_test from hosted and otomo depends on
  convenient_test from git, convenient_test_dev from git is forbidden.
So, because otomo depends on convenient_test_dev from git, version solving failed.

Using hosted, the packages cannot be found. Or should i clone the repo and do it that way?

Try to use dependency_override ;)

v1.3.0 is published (though this problem is fixed in master for a long time)


Add custom header locations for clang

Can we have the ability to add custom include pathes so that it doesn't show as an error since we include the in the make command

Like i have my other headers inside ~/theos/include directory and other directories
Which Theos includes when running make

You can -I whatever-path with the _options variables. See :help ale_cpp_clang_options or :help ale_c_clang_options.

Vim is saying Unkown Option: ale_c_clang_options
When trying
:set ale_c_clang_options +='-isysroot/var/mobile/theos/sdks/iPhoneOS11.2.sdk'

I'm using pathogen btw


ComfyUI can't launch!

Printing log shows it stuck at async_comfyui_loader file main function  ipc.start_callback_listeners() statement。

ComfyUI  already installed at extensions/sd-webui-comfyui/ComfyUI

What is your OS?

fedora 38

This is the same behavior we observe on wsl. I will be able to look into this issue with plads this week. I don't know how long it will take to fix, as this needs a redesing of the part of the extension that handles sending information from the webui server to the comfyui server.

@baijunty can you try with the latest version? we just pushed a fix for WSL, it is possible that it also fixes linux

had the same issue, fixed now. Great work! thanks


#isOpen and guard for indexes

this add the the #isOpen check to the index and guards indexes against opening multiple times
fixes #661

But indexes cankot be opened multiple times. The index manager keeps them

will merge anyway. It does not really harm


Permit an exclude value (or values) for textfields

Permit each field's dictionary within a layout to specify a
exclude = <string>

to specify a value that should not be displayed.  The artist element callback function, for instance, currently has special code that checks for an artist value of "Unknown", using it to blank out the string.  Having more-general exclude functionality would permit text_fields() to do that work.

Added in commit 36096508df812793353b24df334f2514d9ea1159, which should get released as v1.27.

Added in commit 36096508df812793353b24df334f2514d9ea1159, which should get released as v1.27.


Graph Security API deprecated

May 2021 release update announced "This update will remove the connector from the “Get Data” experience in Power BI Desktop".

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3c34c249-033f-4156-0abc-8d16cbe355a0
Version Independent ID: 20dc29c2-9cb7-2322-e80b-3f801bc34cfe
Content: Power BI data sources - Power BI
Content Source: powerbi-docs/connect-data/power-bi-data-sources.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @rootsmusic. This issue has been assigned to the doc author for review.

We've updated the article, thanks!

@davidiseminger  "Microsoft Graph Security" hasn't be noted as deprecated.


Breaking the dependency rule

I keep seeing people do this in their clean architecture examples.
They put the mapper in the entity layer, pointing to a domain object.  Doesn't this break the dependency rule?
Or am I missing where the entity -> use case -> presenter -> ui boundary is being implemented....
https://github.com/android10/Android-CleanArchitecture/blob/master/data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityDataMapper.java#L19
Dependency Rule: source code dependencies can only point inwards and nothing in an inner circle can know anything at all about something in an outer circle.

I think you took the UserEntity class found in the data module literally as entity inside the domain layer.
In the project you find three modules: data, presentation and domain.
data knows about domain but not the other way around actually.
Just refer to this image for it to be clear: https://8thlight.com/blog/assets/posts/2012-08-13-the-clean-architecture/CleanArchitecture-8b00a9d7e2543fa9ca76b81b05066629.jpg
Data module is found in the outermost layer in that picture. So it actually is pointing inwards there's just a misunderstanding between the class name UserEntity and the Entities layer


Simplify flash.c

The manual for-loop looked a bit funny :)
(A memcpy would probably work as well, but is less easy to read and also results in a larger binary.)

 Probably because a different gcc version was used.

Makes sense, thank you.


Get image URL for imageOverlay

Is it possible?

https://leafletjs.com/reference-1.6.0.html#imageoverlay-getelement then https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/src

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.
If you are really sure that this is a bug in leaflet, or a feature request, please change the wording to make it look like a bug report.

https://leafletjs.com/reference-1.6.0.html#imageoverlay-getelement then https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/src

Thank you for the replay. The imageOverlay object should be already added to the map, otherwise getElement returns "undefined'.


Bug with db.ObjectId

Hello, first of all many thanks for the beautiful package!
When i add db.ObjectId to a field, this works, but when i run the builder repeatedly, this field always duplicates itself.
builder
        .model(input.name)
        .field("id", "String")
        .attribute("id")
        .attribute("default", [{ name: "auto" }])
        .attribute("map", [`"_id"`])
        .attribute("db.ObjectId");

First run:
model Test {   id String @id @default(auto()) @map("_id") @db.ObjectId }
Second run:
model Test {   id String @id @default(auto()) @map("_id") @db.ObjectId @db.ObjectId }
Thirt run:
model Test {   id String @id @default(auto()) @map("_id") @db.ObjectId @db.ObjectId @db.ObjectId }
As workaround i replace double @db.ObjectId with
`const output = builder
.print()
<EMAIL_ADDRESS>@db.ObjectId", "@db.ObjectId");``
But this cannot be best practice.
This is probably due to the dot in db.ObjectId, as test.test has the same error behaviour.

@timheerwagen You're right. The attribute matching logic was not taking into consideration attribute groups db. and so it was creating a new attribute. Please try out v0.5.2 and see if that works better for you.


Fix PandasDataset for Python 3.9

Issue #, if available: Fixes #2140
Description of changes: See discussion in #2133
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

Makes me think: we don't have tests that raise the issue on Python 3.9? Are we sure the issue is related to Python 3.9? @rsnirwan @jaheba

Looks like this is deliberate: https://github.com/python/cpython/pull/27545
I don't think I agree with that decision.


Add the "ignore" option

Issue this PR solves
The current version of Golint ends up checking the auto-generated Go files such as Protocol Buffers Go files which should not be checked.
Changes
Add the "ignore" option which makes Golint ignore the files whose path matches the regular expression.

Hi, appreciate the PR.
I think a better solution is #239, which solves the underlying issue. The alternative to adding an ignore flag to golint is to combine usage of golint with the find utility, which seems much more flexible.

Thanks for your checking! I will close this PR.


Drilldown backButton option

The example in documentation should clearly show HTML markup, i.e.,
Back
.
IMHO, it would be simpler if the option would modify only what is inside the a tag (i.e., always include the li and the a tags). Is there a use case to modify the li and/or the a tag in this case?

That's a super fun issue with our docs compiler... it reads html examples written in the .js file and turns it in to markup. Sorta kinda solved it, for the moment.


Analysis plan

The primary goal here should be to directly compare results from NiMARE to existing libraries, in order to (1) validate NiMARE's approach and (2) potentially identify bugs in the more conceptually-based implementations (e.g., KDA).
ALE vs. GingerALE
ALESubtraction vs. GingerALE subtraction analysis
MKDADensity vs. MKDA MATLAB library
MKDAChi2 vs. MKDA MATLAB library
Are there existing tools for any of our other algorithms?
We also need to figure out what metrics we should use to evaluate tool performance.

Memory usage

How do we measure memory for an app (GingerALE) or MATLAB code (MKDA)?

Duration
Dice coefficient between thresholded and binarized statistical maps.

Hi, Taylor,
The comparisons between NiMARE and other libraries are very valuable! Just wondering whether there are any updates?
I collaborated with Simon and used his code (sent by him a while ago). If needed, I can help to compare the NiMARE with ALE matlab code using our previous meta-data.
Looking forward to hearing from you.

Hi, Taylor,
Thanks for your response! Looking forward to seeing the details about the comparison between NiMARE and GingerALE. Free to contact me if you need someone as an external tester.
Best
Chuan-Peng


fix - Addresses list rows resize incorrectly in small window

Type of change

Bugfix

Description

Add scrolling in table on resize of window. FIx issue #1736 & #1739

Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests profile=shared testcase=web.**

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: shared
TEST_CASE: web.**
TOTAL: 72
PASS: 67
FAIL: 0
SKIP: 5
BUILD_NUMBER: 365

@enmasse-ci run tests testcase=standard.web.FirefoxConsoleTest

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: pr
TEST_CASE: standard.web.FirefoxConsoleTest
TOTAL: 27
PASS: 27
FAIL: 0
SKIP: 0
BUILD_NUMBER: 384


Updated Crossdock tests not build Docker images for all architectures

Which problem is this PR solving?

Resolves #5350

Description of the changes

Added the logic same in the docker-image CI to build linux/amd64 architecture only

How was this change tested?

Not yet

Checklist

[x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
[ ] I have signed all commits
[ ] I have added unit tests for the new functionality
[ ] I have run lint and test steps successfully

for jaeger: make lint test
for jaeger-ui: yarn lint and yarn test

@yurishkuro PTAL and suggest any needed to add.

this is the command that runs in the build (still lists all platforms):
docker buildx build -t localhost:5000/debugimg_alpine:latest --push \
	--build-arg golang_image=golang:1.22-alpine \
	--platform=linux/amd64,linux/s390x,linux/ppc64le,linux/arm64 \

how exactly are you testing your change?

Testing those changes in different ways. Once it gets what we intended, I will push the related changes

Can guide where this docker cd is running?

you can see it in the checks in the PR. You can also check .github/workflows for what commands are being run.

Closing as added unnecesaary commits


(#34) Validate email addresses in SANs

SAN fields can contain email addresses, and the default X509 Verify
doesn't include these.  Loop through until we find a match, return an
error otherwise.

@ripienaar boop


Create UI tests with Ghost Inspector

With Ghost Inspector
Also BrowserStack

[ ] Link up Github to GI

Quick update for @JosephMcArthur
Set up two basic tests with Ghost Inspector (including one for the newsletter signup). Fairly easy if you know XPath. There isn’t much to test on the main site, but it’ll be exciting to use for our apps.
I’ve also added a11y testing; a few issues to correct, mostly concerning colour contrast.

Goal here is to setup a suite of tests just for the new sites Sophy has created. Not to review old apps, or set up for new tools, etc.
Tests to be considered:

Accessibility of key page types
Various across devices & browser
functional tests for email submission

and, setting up to run on commit & a schedule
Estimate 1 day.

Link up Github to GI

Linked up GI to oa-report, oa-support, and this repo, oa-works


[wip] Enabling Windows daemonset and install configuration

Description
Adding the Windows daemonset and installation configurations in the API. Allowing the Windows node daemonset be created and configured via the operator.
For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Thank you for submitting this. I am sorry no one had responded on it, with it being a WIP we usually hold off on reviewing until a submitter is ready for review.
I'd be happy to find a reviewer if you wanted to continue working on this.
I'd possibly suggest some kind of design doc (like in google doc so it can be shared) to discuss the configuration and over all addition of Windows daemonset to the operator.


fix doc

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
#2679

:+1:


Update sbt to 1.4.5

Updates org.scala-sbt:sbt from 1.4.2 to 1.4.5.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, semver-patch

Pull Request Test Coverage Report for Build 141

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.327%

Totals

Change from base Build 136:
0.0%

Covered Lines:
115

Relevant Lines:
159

💛  - Coveralls


Babbage / Vasil update

Is your feature request related to a problem? Please describe.
I would like to use cooked-validators with plutus V2 and the latest version of cardano-node (v1.35.3).
Describe the solution you'd like
cooked-validators should be be updated to support the changes introduced in the Vasil hardfork and Plutus v2.
Describe alternatives you've considered
No alternatives
Additional context
Work on updating plutus-apps is happening in the next-node branch, which could be used as a starting point for cooked-validators

We intend to make all the changes necessary once plutus-apps has been updated according to Vasil and embeds the cardano-ledger validation in main as well.

Hi @mmontin what is the status ? is what you are referring here (https://github.com/tweag/plutus-libs/issues/155#issuecomment-1257184055) is done ? I have some V2 scripts to implement and tests, can I use the last version on main, update the dependencies around plutus-apps and use cooked-validator ?

@carlhammann, Thanks for the reply :-) I'll try something in the meanwhile then :-)

That's great !


merging release back into dev

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

We should compare history with https://github.com/MicrosoftDocs/azure-docs-cli/blob/master/docs-ref-conceptual/release-notes-azure-cli.md and extract entries which not in 2.0.75 to the beginning of history.


Date parsing/conversion

We need to introduce a date parsing mechanism to our project because some incoming date data does not (have to) follow strict formatting rules.
Given that the current DateParser.py code is old and convoluted – see also PR #125, which sadly didn't make it into the code base – should we continue to use this or is there a better solution?
We don't need very fancy date parsing, meaning we're currently only dealing with dates from the 20th century to now and incoming dates won't contain vague textual descriptions (e.g. "approx. 20-30 years B.C.") but will be number-based and use date formats/variations commonly used in AT (+ maybe ISO format). Examples: 1.5.1970, 02.04.85, 23/12/1999, 2024-01-01.

I guess the date should be stored in a field and the original input string can be thrown away? You can use DateParser.py, but you might have better luck with dateparser
The advantage of DateParser.py is, that it calculates timespans of date (i.e. if you only know the year of a date), but that does not seem to be needed in this case

I guess the date should be stored in a field and the original input string can be thrown away?

Almost! We're planning to keep the original input strings around and editable by content managers and further updates/corrections to them should get propagated to the (non-editable) field for the streamlined date.
Hmm, we don't need to handle time spans per se, but ah, should have clarified above that we indeed will also have to deal with year-only dates. I'll look at dateparser to see if it can handle incomplete dates as well, thank you!

I'll look at dateparser to see if it can handle incomplete dates as well, thank you!

Yup, seems to be the case: https://dateparser.readthedocs.io/en/latest/introduction.html

Closing this as the question was answered. Thx, @b1rger!


Range ring labels not showing

In testing labels for range rings I'm finding they aren't showing up yet....
In IE (11.494.10586.0) the ring labels and also radial feature graphics are missing:

In Chrome (52.0.2743.116 m) we've got the radials, but still no labels:

In FireFox (48.0) no labels or radials:

These were my initial tests run from the test server and not the released widget versions.

Verified fixed.


Blog post with login required

Version: Laddr v2
When blog post with visibility set to "Login required" is accessed by non-logged in visitor, exception occured.
i.e. http://staging.codeforcroatia.org/blog/this_is_notice_for_members
Fatal error: Call to a member function hasAccountLevel() on a non-object in /emergence/sites/cfc-staging/data/2498 on line 122

Not reproducible anymore in v2.3.1 (I think this is the version currently on staging).
Working correctly, e.g.:
http://staging.codeforcroatia.org/blog/this_is_only_for_members


EricAdd.py (Never merge)

Don't ever merge this, just triggering some of our python future stuff.

@gartung This should trigger the creation of all three files. The comma in the exception should be in one file. The missing imports in another and the use of the .sort() and while 1 in a third.

test this please

test this please

test this please

test this please

test this please

test this please

test this please

test this please


Flannel doesn't route requests to container

Hi,
I'm trying to setup Kubernetes in Openstack + CoreOS.
I have master <IP_ADDRESS> and 2 minions .63 and .83. I also created 3 redis pods:
redis-gopher-gziey        <IP_ADDRESS>     <IP_ADDRESS>/<IP_ADDRESS>
redis-managed-oh43e   <IP_ADDRESS>     <IP_ADDRESS>/<IP_ADDRESS>
redis-primary-fplln          <IP_ADDRESS>     <IP_ADDRESS>/<IP_ADDRESS>

master's routing table looks like:
<IP_ADDRESS>     *               <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS>     *               <IP_ADDRESS> UH    1024   0        0 eth0
<IP_ADDRESS>      *               <IP_ADDRESS>     U     0      0        0 flannel.1
<IP_ADDRESS>     *               <IP_ADDRESS>   U     0      0        0 docker0

and output of ifconfig -a is :
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::542f:6fff:fe4a:adf3  prefixlen 64  scopeid 0x20<link>
        ether 56:84:7a:fe:97:99  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 90 (90.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::f816:3eff:fe89:e9a0  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:89:e9:a0  txqueuelen 1000  (Ethernet)
        RX packets 430706  bytes 559764129 (533.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 238519  bytes 116083693 (110.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

flannel.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::601f:62ff:feed:1556  prefixlen 64  scopeid 0x20<link>
        ether 62:1f:62:ed:15:56  txqueuelen 0  (Ethernet)
        RX packets 20  bytes 1504 (1.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79  bytes 7686 (7.5 KiB)
        TX errors 0  dropped 19 overruns 0  carrier 0  collisions 0

Flanneld config used for initialization is:
Master:
        - name: flanneld.service
          command: start
          drop-ins:
            - name: 50-network-config.conf
              content: |
                [Service]
                ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"<IP_ADDRESS>/16", "Backend": {"Type": "vxlan"}}'
                ExecStart=
                ExecStart=/usr/libexec/sdnotify-proxy /run/flannel/sd.sock \
                    /usr/bin/docker run --net=host --privileged=true --rm \
                        --volume=/run/flannel:/run/flannel \
                        --env=NOTIFY_SOCKET=/run/flannel/sd.sock \
                        --env-file=/run/flannel/options.env \
                        --volume=${ETCD_SSL_DIR}:/etc/ssl/etcd:ro \
                        quay.io/coreos/flannel:${FLANNEL_VER} /opt/bin/flanneld --ip-masq=true --iface=eth0

Minion:
        - name: flanneld.service
          command: start
          drop-ins:
            - name: 50-network-config.conf
              content: |
                [Service]
                ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"<IP_ADDRESS>/16", "Backend": {"Type": "vxlan"}}'
                ExecStart=
                ExecStart=/usr/libexec/sdnotify-proxy /run/flannel/sd.sock \
                    /usr/bin/docker run --net=host --privileged=true --rm \
                        --volume=/run/flannel:/run/flannel \
                        --env=NOTIFY_SOCKET=/run/flannel/sd.sock \
                        --env-file=/run/flannel/options.env \
                        --volume=${ETCD_SSL_DIR}:/etc/ssl/etcd:ro \
                        quay.io/coreos/flannel:${FLANNEL_VER} /opt/bin/flanneld -etcd-endpoints     http://<IP_ADDRESS>:4001 --ip-masq=true --iface=eth0

So the issue is that i can't ping any of the pods from master, as well as connect to any port, error is:
ncat -v -t <IP_ADDRESS> 6379
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: No route to host.

please check https://github.com/GoogleCloudPlatform/kubernetes/issues/6311 for more details

@roman-shuhov I apologize for very delayed response. Is this still an open issue? If so, just want to rule out the obvious: please make sure UDP port 8472 is not firewalled off.

no problem, i switched to newer coreos and kubernetes and the issue is gone.


fail to execute example site

when I execute the command "hugo server --themesDir ...." in the command line,  the following error occurs, and I don't know how to solve it.

Delete 'rich-content.md'. It should be a network problem.
api.instagram.com is not accessible in some countries, such as China.
删除 rich-content.md 就可以了，应该是网络问题。https://api.instagram.com 在某些国家无法访问，比如中国。。

There are 2 error in the screen shot. One is instgram api call error and the other is mmark: failed. The mmark error will be fixed soon and since mmark error not gonna make a infinite loop, I suspect your api call may be the problem. As @fandean mentioned, It may be a network problem I think.

@fandean I delete the rich-content.md, and the exampleSite could work, but when I execute in the root of web, the following error occurs

@CapMocha Ah Ok this error is caused by missing configuration params. This project is in very early stage and I’m actively update this repo. So this happened. I added couple of params to config/_default/params.toml so can you check the readme? Once you add missing params, that should work

@zzossig
I just do as the Readme.md to create the config folder in the root path, and create the _default folder in the config folder, and then create four separate config file just like the Readme.md, but the error still occur.
When I copy the config.toml in the the root/themes/zzo/exampleSite to the root/ and delete the root/config folder, it works, so I  want to know if I want to set the multi language, I should write config in the root/config/_default folder, I want konw does this make an effect, does the root/config folder will shllow the root/config.toml in my case.

It doen't matter if you have just one config file that contains all configurations. It's matter of preference. If that is works, then it's fine. But I prefer to separate config files. You can use root/config.toml


Ansible: Change lib install location for Freetype 32-bit on Windows

The location of freetype libraries on windows build scripts is /cygdrive/c/openjdk/freetype-2.5.3/lib for 32-bit builds. The real location of the freetype library for 32-bit builds is /cygdrive/c/openjdk/freetype-2.5.3/lib32. A symlink is needed to point to this real location

@ali-ince Presumably your recent changes render this irrelevant?

Yes @sxa555, we can now remove all freetype relevant stuff from the playbook as it's now part of the build.
I can create a PR later today with the relevant changes.

Superseded by https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/766


ICM - Integrity Check Monitor

HAL interface for the ICM, useful for calculating SHA1, SHA224, SHA256 checksums and monitoring of
memory regions
As a demo of functionality the main application and two examples found in the icm branch of my atsamd-demo repo:

example/icm-clockv1 uses the current v1 clocking and not much more to compute SHA sums
example/icm-clockv2 uses v2 clocking and UART0 and pretty prints output instead
src/main uses v2 clocking and just like icm-clockv2 it computes the SHA sums, but then switches over to memory monitoring mode.

All of the examples are inspired by the demo software provided by Atmel/Microchip, see source.
They also have an application note here.
These demos might be useful as part of the examples for some of the boards (thumbv7). I've been testing on a custom board atsamd51n so cannot verify on hardware such as the feather_m4, but it should be fairly simple to copy if somebody can test/verify.
This should not conflict with anything else in the repo. For now it assumes the user is able to enable the APB clock for ICM, to not incur any clocking version dependency.
cargo test --doc --features unproven,same51n-rt -- icm passes
Looking forward to feedback and suggestions :smile:
Uart output from running src/main:
Booted RTIC.
ICM Interrupt!
Region 0: Expected,  Received - SHA1 (Should not match)
mismatch! 0x363e99a9 0x91e54adc
mismatch! 0x6a810647 0x31c6b14e
mismatch! 0x71253eba 0xd029c237
mismatch! 0x6cc25078 0xd75a8ad7
mismatch! 0x9dd8d09c 0xd92b0463
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
Region 1: Expected,  Received - SHA1 (should match)
   Match! 0x363e99a9 0x363e99a9
   Match! 0x6a810647 0x6a810647
   Match! 0x71253eba 0x71253eba
   Match! 0x6cc25078 0x6cc25078
   Match! 0x9dd8d09c 0x9dd8d09c
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
Region 2: Expected,  Received - SHA224 (should match)
   Match! 0x227d0923 0x227d0923
   Match! 0x22d80534 0x22d80534
   Match! 0x77a44286 0x77a44286
   Match! 0xb355a2bd 0xb355a2bd
   Match! 0xe4bcad2a 0xe4bcad2a
   Match! 0xf7b3a0bd 0xf7b3a0bd
   Match! 0xa79d6ce3 0xa79d6ce3
   Match! 0x00000000 0x00000000
Region 3: Expected,  Received - SHA256 (should match)
   Match! 0xbf1678ba 0xbf1678ba
   Match! 0xeacf018f 0xeacf018f
   Match! 0xde404141 0xde404141
   Match! 0x2322ae5d 0x2322ae5d
   Match! 0xa36103b0 0xa36103b0
   Match! 0x9c7a1796 0x9c7a1796
   Match! 0x61ff10b4 0x61ff10b4
   Match! 0xad1500f2 0xad1500f2
Done!
 Switch to region monitoring mode
Manually modify region1
Manually modify region1
Manually modify region2
Manually modify region3
ICM Interrupt!
Region0 digest mismatch!
Region 0: Expected,  Actual
   Match! 0x11111111 0x11111111
   Match! 0x22222222 0x22222222
   Match! 0x33333333 0x33333333
mismatch! 0x44444444 0xdeadbeef
   Match! 0x55555555 0x55555555
   Match! 0x66666666 0x66666666
   Match! 0x77777777 0x77777777
   Match! 0x88888888 0x88888888
   Match! 0x99999999 0x99999999
   Match! 0xaaaaaaaa 0xaaaaaaaa
   Match! 0xbbbbbbbb 0xbbbbbbbb
   Match! 0xcccccccc 0xcccccccc
   Match! 0xdddddddd 0xdddddddd
   Match! 0xeeeeeeee 0xeeeeeeee
   Match! 0xffffffff 0xffffffff
   Match! 0x00000000 0x00000000
Region1 digest mismatch!
Region 1: Expected,  Actual
   Match! 0x80636261 0x80636261
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
mismatch! 0x00000000 0xdeadbeef
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x18000000 0x18000000
Region2 digest mismatch!
Region 2: Expected,  Actual
   Match! 0x80636261 0x80636261
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
mismatch! 0x00000000 0xdeadbeef
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x18000000 0x18000000
Region3 digest mismatch!
Region 3: Expected,  Actual
   Match! 0x80636261 0x80636261
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
mismatch! 0x00000000 0xdeadbeef
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x00000000 0x00000000
   Match! 0x18000000 0x18000000
RDM interrupts 1111
ICM Interrupt!

Awesome stuff! I'm not familiar with ICM specifically but from a quick glance your code looks good, my only suggestions would be to try and limit the public methods / structs to just whats needed, i think IcmToken can be private?

You are correct, IcmToken should be internal to Icm and not public: see https://github.com/atsamd-rs/atsamd/pull/480/commits/3d65376a0479968e1d721000f8e600a1094c3cf8  :heavy_check_mark:
@vccggorski also had a look and provided some insights, for example instead of storing state just return an object providing the queryable interface.
Most importantly, since this is a hardware peripheral dealing with raw memory addresses and with the ability to write and reading memory, the location and persistence of these memory addresses used becomes paramount.
In the demo app linked above using RTIC I've changed those to be static, which required some changes.

@vcchtjader could you please open up a quick new PR to add your changes to the HAL's CHANGELOG.md?