GAST model with more than 17 keypoints?

Hi, thank you for your amayzing work!
Is there a chance to get more than 17 keypoints from the 3D model? I am especially interested in receiving 3D foot keypoints.
Thanks!

Hi~
The pre-trained model we provide is trained on the Human3.6M data set, which does not include 3D foot keypoints. If you want to get 3D foot keypoints, you need to find a dataset including 3D foot keypoints to retrain GAST-Net.

Hi @fabro66 thanks for your quick answer. According to the H3.6 Team, the dataset includes following 32 keypoints:
{'Pelvis', 'RHip', 'RKnee', 'RAnkle', 'RToe', 'Site', 'LHip', 'LKnee', 'LAnkle', 'LeftToe', 'Site', 'Spine', 'Spine1', 'Neck', 'Head', 'Site', 'LShoulder', 'LShoulder', 'LElbow', 'LWrist', 'LThumb', 'Site', 'L_Wrist_End', 'Site', 'RShoulder', 'RShoulder', 'RElbow', 'RWrist', 'RThumb', 'Site', 'R_Wrist_End', 'Site'}
Here are all important keypoints plotted (without duplicates):

As the foot toe keypoints are included, I would like to add them to the 3D pose prediction using GAST-Net too. Which configurations do I need to make to let the model output the foot toe keypoints? Probably i need to train the model from scratch right?

Hi~
You can use 2D GT with foot keypoints to train a new GAST-Net. You only need to change one line of code in the ./common/h36m_dataset.py file. ：
https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/common/h36m_dataset.py#L281
python trainval.py -e 80 -k gt -arc 3,3,3 -drop 0.05 -b 128 --downsample 5

Thanks a lot for your help @fabro66!
When running inference, do i need to detect the 2D toe keypoints and feed it to the GAST-NET? Alphapose for example has a model with 26 keypoints including the toe keypoints which can be used. Providing the 2D toe keypoints would probably help the uplifting for achieving higher accuracy with predicting the toe keypoints, right?

Hi~
The number of input and output joints of GAST-Net is the same. If you train the GAST-Net with toe keypoints, you need to feed it to the model at inference.

Hi @fabro66 thanks for the clarification. I tried to train the a new model including the toe keypoints as you described (using data_2d_h36m_gt.npz and data_3d_36m.npz), but it throws me following error:
 File "trainval.py", line 53, in <module>
    model_pos_train, model_pos, pad, causal_shift = create_model(args, dataset, poses_valid_2d)
  File "/home/sebo/GAST-Net-3DPoseEstimation/main.py", line 170, in create_model
    channels=args.channels)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 215, in __init__
    layers_graph_conv.append(GraphAttentionBlock(adj, channels, channels, p_dropout=dropout))
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 16, in __init__
    self.local_graph_layer = LocalGraph(adj, input_dim, hid_dim, p_dropout)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/local_attention.py", line 84, in __init__
    raise KeyError("The dimension of adj matrix is wrong!")
KeyError: 'The dimension of adj matrix is wrong!'

So here I changed the num_joints_in=19 and num_joints_out=19. Also i changed this If-Check to num_joints == 17, but now I get following error:
File "trainval.py", line 119, in <module>
    epoch_loss_3d = train(model_pos_train, train_generator, optimizer)
  File "/home/sebo/GAST-Net-3DPoseEstimation/main.py", line 229, in train
    predicted_3d_pos = model_pos_train(inputs_2d)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward
    outputs = self.parallel_apply(replicas, inputs, kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply
    return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply
    raise output
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 59, in _worker
    output = module(*input, **kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 99, in forward
    x = self._forward_blocks(x)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 241, in _forward_blocks
    x = self.layers_graph_conv[0](x)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 27, in forward
    x_ = self.local_graph_layer(x)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/local_attention.py", line 128, in forward
    x = self.gcn_sym(input)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/local_attention.py", line 47, in forward
    output = torch.matmul(adj * E, h0) + torch.matmul(adj * (1 - E), h1)
RuntimeError: invalid argument 6: wrong matrix size at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/generic/THCTensorMathBlas.cu:494

Do you have any idea which adjustments are missing to train it with the 19 keypoints (17 COCO + 2 toe keypoints)?

Hi~
Sorry for not being able to reply to you in time.
Suppose the order of the joints after adding toe key points is as follows::
0:pevils, 1:right hip, 2:right knee, 3:right ankle, 4:right toe, 5:left hip, 6:left knee, 7:left ankle, 8:left toe, 9:spine
10:thorax, 11:neck, 12:top head, 13:left shoulder, 14: left elbow, 15:left wrist, 16:right shoulder, 17:right elbow, 18: right wrist
You should add some codes to ./model/local_attention.py file: https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/model/local_attention.py#L66
# Human3.6M
        if num_joints == 17:
            store_2 = [3, 6, 10, 13, 16]
            joints_left = [4, 5, 6, 11, 12, 13]
            joints_right = [1, 2, 3, 14, 15, 16]

        # Human3.6M detected from Stacked Hourglass
        elif num_joints == 16:
            store_2 = [3, 6, 9, 12, 15]
            joints_left = [4, 5, 6, 10, 11, 12]
            joints_right = [1, 2, 3, 13, 14, 15]

        # HumanEva
        elif num_joints == 15:
            store_2 = [4, 7, 10, 13]
            joints_left = [2, 3, 4, 8, 9, 10]
            joints_right = [5, 6, 7, 11, 12, 13]

       # Human3.6M including toe keypoints
        elif  num_joints == 19:
              store_2 = [3, 4, 7, 8, 12, 15, 18]
              joints_left = [5, 6, 7, 8, 13, 14, 15]
              joints_right = [1, 2, 3, 4, 16, 17, 18]

        else:
            raise KeyError("The dimension of adj matrix is wrong!")

Please let me know if this problem is solved

Hi @fabro66 thank you so much for helping again! I added the codes as you suggested:
       # Human3.6M including toe keypoints         elif  num_joints == 19:               store_2 = [3, 4, 7, 8, 12, 15, 18]               joints_left = [5, 6, 7, 8, 13, 14, 15]               joints_right = [1, 2, 3, 4, 16, 17, 18]
Unfortunately i still receive the same error as above:
File "trainval.py", line 119, in <module>
    epoch_loss_3d = train(model_pos_train, train_generator, optimizer)
  File "/home/sebo/GAST-Net-3DPoseEstimation/main.py", line 229, in train
    predicted_3d_pos = model_pos_train(inputs_2d)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 152, in forward
    outputs = self.parallel_apply(replicas, inputs, kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 162, in parallel_apply
    return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)])
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 83, in parallel_apply
    raise output
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/parallel/parallel_apply.py", line 59, in _worker
    output = module(*input, **kwargs)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 99, in forward
    x = self._forward_blocks(x)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 241, in _forward_blocks
    x = self.layers_graph_conv[0](x)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/gast_net.py", line 27, in forward
    x_ = self.local_graph_layer(x)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/local_attention.py", line 128, in forward
    x = self.gcn_sym(input)
  File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/sebo/GAST-Net-3DPoseEstimation/model/local_attention.py", line 47, in forward
    output = torch.matmul(adj * E, h0) + torch.matmul(adj * (1 - E), h1)
RuntimeError: invalid argument 6: wrong matrix size at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/generic/THCTensorMathBlas.cu:494

However I checked the GT 2D keypoints of Human3.6M dataset again and i guess they provide 17 keypoints only. For example: len(keypoints['S5']['Walking'][0][0]) = 17... Might there still be a chance to get the GT of the 19 keypoints from H3.6m? Or do you have any other approach in mind to solve this?

You need to prepare 2D GT with 19 keypoints according to VideoPose3D data preprocessing tutorial. Then you change part of the code of the following two files respectively.

https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/common/h36m_dataset.py#L281

# Bring the skeleton to 17 joints instead of the original 32
            self.remove_joints([5, 10, 11, 16, 20, 21, 22, 23, 24, 28, 29, 30, 31])

            # Rewire shoulders to the correct parents
            self._skeleton._parents[11] = 10
            self._skeleton._parents[14] = 10

https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/model/local_attention.py#L66

# Human3.6M
        if num_joints == 17:
            store_2 = [3, 6, 10, 13, 16]
            joints_left = [4, 5, 6, 11, 12, 13]
            joints_right = [1, 2, 3, 14, 15, 16]

        # Human3.6M detected from Stacked Hourglass
        elif num_joints == 16:
            store_2 = [3, 6, 9, 12, 15]
            joints_left = [4, 5, 6, 10, 11, 12]
            joints_right = [1, 2, 3, 13, 14, 15]

        # HumanEva
        elif num_joints == 15:
            store_2 = [4, 7, 10, 13]
            joints_left = [2, 3, 4, 8, 9, 10]
            joints_right = [5, 6, 7, 11, 12, 13]

       # Human3.6M including toe keypoints
        elif  num_joints == 19:
              store_2 = [3, 4, 7, 8, 12, 15, 18]
              joints_left = [5, 6, 7, 8, 13, 14, 15]
              joints_right = [1, 2, 3, 4, 16, 17, 18]

        else:
            raise KeyError("The dimension of adj matrix is wrong!")

Hi,
I also try to use AlphaPose as the 2D detector, but the skeleton style in COCO and Human3.6m is different,  SPINE, THORAX, PELVIS and HEAD, this four keypoints is not provided by the AlphaPose, currently I use the rest of 13 keypoints both in training and inference. Do you have any ideas in fine-tuning the model so that the output of the 2D detectors is 17 keypoints with same skeleton style in Human3.6m?
Deepest thanks for your reply!
BTW, @sebo361 mentioned that you want to add two more keypoints, perhaps you can try to use 17 keypoints in 2D gt and 19 keypoints in 3D gt to train a model since the human3.6 gt only contains 17 keypoints. I tried to use 13 keypoints in 2D gt to train a 17 keypoints and the performance is also acceptable for me.  :)

Hi~  Thank you for your interest in our works！
You don't need to retrain a new model with COCO style. Because we have provided a file to convert the skeleton type from COCO to Human3.6M. The output of the HRNet 2D pose detector we used is also the type of COCO, which is also converted in this way. The final 3D estimation accuracy is acceptable.
https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/tools/mpii_coco_h36m.py#L16

Hi~ Thank you for your interest in our works！
You don't need to retrain a new model with COCO style. Because we have provided a file to convert the skeleton type from COCO to Human3.6M. The output of the HRNet 2D pose detector we used is also the type of COCO, which is also converted in this way. The final 3D estimation accuracy is acceptable.
https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/tools/mpii_coco_h36m.py#L16

Thanks for your prompt reply!
I have find this part of the codes, it is useful! Thanks again!
In the VideoPose3D, they fine-tune the 2D skeleton based on the COCO pretrained model so that the output of the 2D detector is the human3.6m style. Have you tried this method?

Hi @fabro66 thank you for your help! I trained the model with 19 keypoints as you described before and it worked out great! I receive nice training results similar to the ones described in the paper.
However I am trying to run the new model with 19 kpts on a video and running into issues again. I am using the Alphapose model with 26 keypoints and reordered the keypoints to the order as you described: 0:pevils, 1:right hip, 2:right knee, 3:right ankle, 4:right toe, 5:left hip, 6:left knee, 7:left ankle, 8:left toe, 9:spine
10:thorax, 11:neck, 12:top head, 13:left shoulder, 14: left elbow, 15:left wrist, 16:right shoulder, 17:right elbow, 18: right wrist
When loading the new GAST model with 19 kpts i receive following error:
Loading GAST-Net ... 17 17 17 17 Traceback (most recent call last):   File "gen_3D.py", line 415, in <module>     model_pos = load_model_layer(rf)   File "gen_3D.py", line 142, in load_model_layer     model_pos.load_state_dict(checkpoint['model_pos'])   File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict     self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: 	Missing key(s) in state_dict: "init_bn.weight", "init_bn.bias", "init_bn.running_mean", "init_bn.running_var", "expand_bn.weight", "expand_bn.bias", "expand_bn.running_mean", "expand_bn.running_var", "shrink.weight", "expand_conv.weight", "layers_conv.0.weight", .............. (it continues like this)
Is there something wrong with loading the model? Do i need to refactor the SpatioTemporalModel?

Hi @fabro66 thank you for your help! I trained the model with 19 keypoints as you described before and it worked out great! I receive nice training results similar to the ones described in the paper.
However I am trying to run the new model with 19 kpts on a video and running into issues again. I am using the Alphapose model with 26 keypoints and reordered the keypoints to the order as you described: 0:pevils, 1:right hip, 2:right knee, 3:right ankle, 4:right toe, 5:left hip, 6:left knee, 7:left ankle, 8:left toe, 9:spine
10:thorax, 11:neck, 12:top head, 13:left shoulder, 14: left elbow, 15:left wrist, 16:right shoulder, 17:right elbow, 18: right wrist
When loading the new GAST model with 19 kpts i receive following error:
Loading GAST-Net ... 17 17 17 17 Traceback (most recent call last):   File "gen_3D.py", line 415, in <module>     model_pos = load_model_layer(rf)   File "gen_3D.py", line 142, in load_model_layer     model_pos.load_state_dict(checkpoint['model_pos'])   File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict     self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: 	Missing key(s) in state_dict: "init_bn.weight", "init_bn.bias", "init_bn.running_mean", "init_bn.running_var", "expand_bn.weight", "expand_bn.bias", "expand_bn.running_mean", "expand_bn.running_var", "shrink.weight", "expand_conv.weight", "layers_conv.0.weight", .............. (it continues like this)
Is there something wrong with loading the model? Do i need to refactor the SpatioTemporalModel?

Hi~ Thank you for your interest in our works！
You don't need to retrain a new model with COCO style. Because we have provided a file to convert the skeleton type from COCO to Human3.6M. The output of the HRNet 2D pose detector we used is also the type of COCO, which is also converted in this way. The final 3D estimation accuracy is acceptable.
https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/tools/mpii_coco_h36m.py#L16

Thanks for your prompt reply!
I have find this part of the codes, it is useful! Thanks again!
In the VideoPose3D, they fine-tune the 2D skeleton based on the COCO pretrained model so that the output of the 2D detector is the human3.6m style. Have you tried this method?

Hi~  Sorry for no prompt reply.
Thanks for your suggestion. We have not yet tried to fine-tune the 2D detector on Human 3.6M.

Hi~ Thank you for your interest in our works！
You don't need to retrain a new model with COCO style. Because we have provided a file to convert the skeleton type from COCO to Human3.6M. The output of the HRNet 2D pose detector we used is also the type of COCO, which is also converted in this way. The final 3D estimation accuracy is acceptable.
https://github.com/fabro66/GAST-Net-3DPoseEstimation/blob/ee05fa0ffe0a6945fca254d41fb800452be1ffd5/tools/mpii_coco_h36m.py#L16

Thanks for your prompt reply!
I have find this part of the codes, it is useful! Thanks again!
In the VideoPose3D, they fine-tune the 2D skeleton based on the COCO pretrained model so that the output of the 2D detector is the human3.6m style. Have you tried this method?

Hi~  Sorry for no prompt reply.
Thanks for your suggestion. We have not yet tried to fine-tune the 2D detector on Human 3.6M.

Hi @fabro66 thank you for your help! I trained the model with 19 keypoints as you described before and it worked out great! I receive nice training results similar to the ones described in the paper.
However I am trying to run the new model with 19 kpts on a video and running into issues again. I am using the Alphapose model with 26 keypoints and reordered the keypoints to the order as you described: 0:pevils, 1:right hip, 2:right knee, 3:right ankle, 4:right toe, 5:left hip, 6:left knee, 7:left ankle, 8:left toe, 9:spine
10:thorax, 11:neck, 12:top head, 13:left shoulder, 14: left elbow, 15:left wrist, 16:right shoulder, 17:right elbow, 18: right wrist
When loading the new GAST model with 19 kpts i receive following error:
Loading GAST-Net ... 17 17 17 17 Traceback (most recent call last): File "gen_3D.py", line 415, in <module> model_pos = load_model_layer(rf) File "gen_3D.py", line 142, in load_model_layer model_pos.load_state_dict(checkpoint['model_pos']) File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: Missing key(s) in state_dict: "init_bn.weight", "init_bn.bias", "init_bn.running_mean", "init_bn.running_var", "expand_bn.weight", "expand_bn.bias", "expand_bn.running_mean", "expand_bn.running_var", "shrink.weight", "expand_conv.weight", "layers_conv.0.weight", .............. (it continues like this)
Is there something wrong with loading the model? Do i need to refactor the SpatioTemporalModel?

Are you using a multi-GPU to train GASTNet?  If this is the case, you need to change the parameter name when loading the model.
  new_state_dict = OrderedDict()
  chk_filename = os.path.join(args.checkpoint, args.resume if args.resume else args.evaluate)
  print("Loading checkpoint", chk_filename)
  checkpoint = torch.load(chk_filename, map_location=lambda storage, loc: storage)
  print("This model was trained for {} epochs".format(checkpoint["epoch"]))

  for k, v in checkpoint["model_pos"].items():
      name = k[7:]  # remove "module"
      new_state_dict[name] = v
  model_pos_train.load_state_dict(new_state_dict)
  model_pos.load_state_dict(new_state_dict)

Hi @fabro66 thank you for your help! I trained the model with 19 keypoints as you described before and it worked out great! I receive nice training results similar to the ones described in the paper.
However I am trying to run the new model with 19 kpts on a video and running into issues again. I am using the Alphapose model with 26 keypoints and reordered the keypoints to the order as you described: 0:pevils, 1:right hip, 2:right knee, 3:right ankle, 4:right toe, 5:left hip, 6:left knee, 7:left ankle, 8:left toe, 9:spine
10:thorax, 11:neck, 12:top head, 13:left shoulder, 14: left elbow, 15:left wrist, 16:right shoulder, 17:right elbow, 18: right wrist
When loading the new GAST model with 19 kpts i receive following error:
Loading GAST-Net ... 17 17 17 17 Traceback (most recent call last): File "gen_3D.py", line 415, in <module> model_pos = load_model_layer(rf) File "gen_3D.py", line 142, in load_model_layer model_pos.load_state_dict(checkpoint['model_pos']) File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: Missing key(s) in state_dict: "init_bn.weight", "init_bn.bias", "init_bn.running_mean", "init_bn.running_var", "expand_bn.weight", "expand_bn.bias", "expand_bn.running_mean", "expand_bn.running_var", "shrink.weight", "expand_conv.weight", "layers_conv.0.weight", .............. (it continues like this)
Is there something wrong with loading the model? Do i need to refactor the SpatioTemporalModel?

Are you using a multi-GPU to train GASTNet?  If this is the case, you need to change the parameter name when loading the model.
  new_state_dict = OrderedDict()
  chk_filename = os.path.join(args.checkpoint, args.resume if args.resume else args.evaluate)
  print("Loading checkpoint", chk_filename)
  checkpoint = torch.load(chk_filename, map_location=lambda storage, loc: storage)
  print("This model was trained for {} epochs".format(checkpoint["epoch"]))

  for k, v in checkpoint["model_pos"].items():
      name = k[7:]  # remove "module"
      new_state_dict[name] = v
  model_pos_train.load_state_dict(new_state_dict)
  model_pos.load_state_dict(new_state_dict)

Thnak you a lot @fabro66, but know there ist still a mismatch between my trained model and the GastNet architecture:
  model_pos.load_state_dict(new_state_dict)   File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict     self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: 	size mismatch for layers_graph_conv.0.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([128, 62]) from checkpoint, the shape in current model is torch.Size([128, 72]). 	size mismatch for layers_graph_conv.1.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([256, 62]) from checkpoint, the shape in current model is torch.Size([256, 72]). 	size mismatch for layers_graph_conv.2.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([512, 62]) from checkpoint, the shape in current model is torch.Size([512, 72]).
Do you have an idea which feature of 62 VS 72 is missing here?

Thnak you a lot @fabro66, but know there ist still a mismatch between my trained model and the GastNet architecture:
  model_pos.load_state_dict(new_state_dict)   File "/home/sebo/miniconda3/envs/alphaFB/lib/python3.6/site-packages/torch/nn/modules/module.py", line 777, in load_state_dict     self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for SpatioTemporalModel: 	size mismatch for layers_graph_conv.0.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([128, 62]) from checkpoint, the shape in current model is torch.Size([128, 72]). 	size mismatch for layers_graph_conv.1.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([256, 62]) from checkpoint, the shape in current model is torch.Size([256, 72]). 	size mismatch for layers_graph_conv.2.local_graph_layer.gcn_con.e: copying a param with shape torch.Size([512, 62]) from checkpoint, the shape in current model is torch.Size([512, 72]).
Do you have an idea which feature of 62 VS 72 is missing here?

@sebo361
Hi~  We have achieved 19-joint 3D pose estimations (including left and right toes). The result is acceptable. We will release this part of codes. Stay tuned.

@sebo361
Hi~  We have achieved 19-joint 3D pose estimations (including left and right toes). The result is acceptable. We will release this part of codes. Stay tuned.

Hi @fabro66 wow thats fantastic news! When will you release the code approximately?

Hi @fabro66 wow thats fantastic news! When will you release the code approximately?

@sebo361  We will release this code next month.

@sebo361  We will release this code next month.

@fabro66 Fantastic looking forward to it!

@fabro66 Fantastic looking forward to it!

@fabro66 Fantastic looking forward to it!

@fabro66 Fantastic looking forward to it!

@fabro66 which 2D detector did you use for detecting the toe keypoints? Is there a chance that you send me the code for detecting 19 keypoints in 3D already so i can play around with it? My email is<EMAIL_ADDRESS>– i would really appreciate it.

@fabro66 which 2D detector did you use for detecting the toe keypoints? Is there a chance that you send me the code for detecting 19 keypoints in 3D already so i can play around with it? My email is<EMAIL_ADDRESS>– i would really appreciate it.

@sebo361 I use whole-body HRNet provided by mmpose to detect 2D keypoints (133 keypoints, including body, foot, hand, and facial keypoints). It is easy to install.

@sebo361 I use whole-body HRNet provided by mmpose to detect 2D keypoints (133 keypoints, including body, foot, hand, and facial keypoints). It is easy to install.

@sebo361  I have updated GAST-Net for inferring 19-joints 3D human pose. Please check it.

@sebo361  I have updated GAST-Net for inferring 19-joints 3D human pose. Please check it.

@fabro66 Awesome thank you so much, it's working great 🥳


Add TEST_PLATFORM and TEST_DISTRIBUTION param to fine-grain control integ-test triggers

Description
Add TEST_PLATFORM and TEST_DISTRIBUTION param to fine-grain control integ-test triggers.
Also add the BUILD_DISTRIBUTION param back to OS distribution as the file is smaller now.
Also clean up a lot of leftovers such as macos snapshot, and improve the verify-parameter functionalities as well.
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/4919
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

The concept LGTM to trigger integration tests for targeted platform or distribution, thanks @peterzhuamazon.


fixed onKeyEventTargetKeyDown in keymap/vim.js

when CodeMirror.keyName returns a non string object like false or true, the indexOf function is undefined. This causes the undefined is not a function error to be thrown.

Ah good catch, f97df90 adds checking for falsy return from keyName

glad I could help :-)


Provides a throttling strategy based on the number of pending blocking tasks.

If all threads of a BlockingTaskExecutor are busy, a new incoming request is enqueued and will wait until its turn comes.
It will cause GC pressure and a response will be sent when the request is timed out.
Even though the request was timed out, the blocking task executor will execute regardless of the state of the request.
It would be useful to throttle incoming requests based on the queue size of BlockingTaskExecutor
class BlockingTaskLimitingThrottlingStrategy<T extends Request> extends ThrottlingStrategy<T> {
        @Override
    public CompletionStage<Boolean> accept(ServiceRequestContext ctx, T request) {

        var theadPoolExecutor = getTheadPoolExecutor(ctx.blockingTaskExecutor());
        if (theadPoolExecutor.getQueue.size() > MAX_QUEUE_SIZE) {
            CompletableFuture.completedFuture(false);
        } else {
            CompletableFuture.completedFuture(true);
        }
    }
}

I have a question. It there any reason not to abort when pushing request in the full queue?

That's a good question.
It's because ThrottlingStrategy is not responsible for aborting the request. It just returns true or false with the future in order to accept the request or not.
The rejection handler in ThrottlingService is in charge of aborting a request when this ThrottlingStrategy returns false.
But the default implementation doesn't do that because the request is aborted anyway when a response is sent.
https://github.com/line/armeria/blob/master/core/src/main/java/com/linecorp/armeria/server/HttpServerHandler.java#L442

Thank you, can I try it? 🙂

@TheWeaVer Of course, you can. 😉
One thing to note is that the size of the queue can grow bigger than the threshold because checking the size and inserting a request are not executed atomically.
Rather than performing the operation atomically, which is almost impossible, we can explain in detail in the Javadoc. 😉

@minwoox , thank you for the advice 😆

I have another question. What about serving throttling strategy by the limiting size in mutable? It can be a MAX_QUEUE_SIZE or can less than MAX_QUEUE_SIZE depending on their situation.
Such as:
public class BlockingTaskLimitingThrottlingStrategy<T extends Request> extends ThrottlingStrategy<T> {
    private int limit;

    public BlockingTaskLimitingThrottlingStrategy(@Nullable String name, int limit) {
        super(name);
        if (limit <= 0) {
            throw new IllegalStateException("limit must be larger than zero");
        }
        this.limit = limit;
    }

    @Override
    public CompletionStage<Boolean> accept(ServiceRequestContext ctx, T request) {
        final ThreadPoolExecutor executor = (ThreadPoolExecutor) ctx.blockingTaskExecutor();
        if (executor.getQueue().size() > limit) {
            return CompletableFuture.completedFuture(false);
        } else {
            return CompletableFuture.completedFuture(true);
        }
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }
}

What about serving throttling strategy with the mutable limiting size?

Sounds good to me. I think we can take the style we did in https://github.com/line/armeria/pull/3985.

Thank you 😄


Figure out a proper way to live update GitDown

This was removed because it was just reassigning state on an interval which was more expensive than it needed to be, and caused a ton of jank when using the UI / scrolling around.
We'll need a way to determine if there is a need to refresh before we do it.

This seems to be working now just fine with the scanner


Under Readme.md, Include usage of @NativeCoroutines and @NativeCoroutinesState annotations

With the current state of Readme.md, I was under the impression that each suspend function or Flow will automatically generate Native version.

Actual:
class Clock {
    // Somewhere in your Kotlin code you define a Flow property
    val time: StateFlow<Long> // This can be any kind of Flow

    // The plugin will generate this native property for you
    val timeNative
        get() = time.asNativeFlow()
}

Expected:
class Clock {
    // ...
   @NativeCoroutinesState
    val time: StateFlow<Long> // This can be any kind of Flow
   // ...

   @NativeCoroutines
    suspend fun getRandomLetters(): String {
        // Code to generate some random letters
    }
   // ...
}

Needs to clarify the usage of both these annotations.

PR filed:
https://github.com/rickclephas/KMP-NativeCoroutines/pull/98


qdrant: 1.4.1 -> 1.5.0

Description of changes
https://github.com/qdrant/qdrant/releases
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 253842 run on aarch64-darwin 1

1 package built:

qdrant


Update README.md

https://www.cosmwasm.com/docs/getting-started/intro This link doesn't works

Thanks for pointing out the outdated link. The new link should be https://docs.cosmwasm.com/
If you want to update this PR with the new link, I am happy to merge it in


Explanation about the language of external links.

Explanation about the language of external links.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[ ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Pretty trivial, but LGTM.

Congrats @allissonrosa403 on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


add documentation

a lot of functions are hard to understand in a few weeks from now -> add proper documentation

including readme

There now is a readthedocs, but it still needs to be populated. Used bw_hestia_bridge as a template.

Readthedocs and function doc strings populated for presenting timex-lca at setac


Resources missing in the drop down of grant resource section in Role

Rancher Server Setup

Rancher version: 2.6.3
Installation option (Docker install/Helm Chart): Docker

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details: NA

Information about the Cluster

Kubernetes version: RKE 1.19.16
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Create using rancher UI

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: Admin

Describe the bug

While creating a custom cluster role for a user to only have access to CIS scan resources. The grant resource section only list clusterscan resource but other are missing in the UI.
To Reproduce

Install CIS benchmark on a cluster
Create a cluster role with that can only run and view the scan reports
In the grant resources try to list the CIS resources

List of CIS resources:
clusterscanbenchmarks                          cis.cattle.io                  false        ClusterScanBenchmark
clusterscanprofiles                            cis.cattle.io                  false        ClusterScanProfile
clusterscanreports                             cis.cattle.io                  false        ClusterScanReport
clusterscans                                   cis.cattle.io                  false        ClusterScan
Result
Only available resource in grant resource is clusterscan, cisconfigs, cisbenchmarkversions.
Expected Result
clusterscanbenchmarks, clusterscanprofiles, clusterscanreports should be available in the grant resource drop down list

Screenshots

Additional context

Is there a way to add missing resources to the above list.

I got the below solution on the rancher slack.
You can type in the resource name in that text field and press enter
I feel that we can still update the documentation.


mac 按键码不生效

Version
2.5.22
Reproduction link
https://cn.vuejs.org/v2/guide/events.html#%E6%8C%89%E9%94%AE%E7%A0%81
Steps to reproduce

Do something 无法生效
What is expected?
应该是需要长按ctrl 再点击然后执行doSomething
What is actually happening?
但是mac只是弹出系统弹窗 类似鼠标右键出来的系统弹窗

Please provide a valid reproduction. Thanks.


PUA default settings

[Enter feedback here]
Does this mean that the PUA setting will be enabled by default?
If there are any conditions under which the PUA setting will be enabled, please let me know.
PUA protection is supported on Windows 10, Windows 11, Windows Server 2019, Windows Server 2022, and Windows Server 2016. In Windows 10 (version 2004 and later), Microsoft Defender Antivirus blocks apps that are considered PUA for Enterprise (E5) devices by default.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 277950a2-8ece-d717-b02b-29dbe579b85b
Version Independent ID: 9efa9a6f-519c-c3ca-f2e3-a902280231d9
Content: Block potentially unwanted applications with Microsoft Defender Antivirus
Content Source: microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus.md
Product: m365-security
Technology: mde
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

Hello @KJ2256 and thank you for posting your question here. I can see how that section is confusing, and I have revised the article. You'll see the updates render live later today. Essentially, if an organization's subscription includes Defender for Endpoint, then PUA protection is enabled by default.


EDL model's accuracy is so low

Thanks for your good job, in cifar-benchmark, I test several models is ok, however, when I test edl model, seems that the accuracy is not very high, very very low:
cifar-40 on augmix is 75.625 ok, on edl only 2.5??
I don't modify any parameters, except the --annealing I set as 10, I wanna how to set it to achieve the near accuracy of the paper?
Thanks, looking forward to your reply!

Yes you are right. The original paper sets the annealing coefficient like you said, but it cannot yield acceptable accuracy on my datasets which have more classes than the datasets used in the original paper. So I fixed it and searched appropriate values. I got 74.40% of accuracy with 0.003 on the CIFAR-10 benchmark. It is the same accuracy to the vanilla classifier trained with the same dataset. Other values can give similar accuracy.


Generate satellite assemblies for ProjectSystem.vsix libraries

Add localization to all libraries in ProjectSystem.vsix.
3 commits for easier review:

ae54efb - Converts all the translated xlf data back to resx

The plan is for these to be produced during the build and it is only temporary that they are checked in. The build infrastructure isn't ready, but we need to be localized for RC.3.
The process for syncing these in the meantime is running https://github.com/nguerrera/xliff-converter with new --two-way switch
This adds some clutter to the file system, but I've made the translated resx files collapse under the neutral one using DependentUpon to keep solution explorer clean. I considered putting the files in separate directories, but that adds risk and cost with needing to set appropriate logical names, etc. which did not seem worthwhile to tidy up an interim state.
The workflow remains the same, edit the english .resx only and I'll continue to handle running the tool on loc hand-off/hand-back until the build automation is ready.

ea21c88 - Work around public signing issue with satellites

a689359 - Generate satellites in build

Still TODO (in subsequent PRs)

[ ] xlf -> vsct
[ ] xlf -> xaml rules
[ ] Editors vsix satellites (requires disabling the old editors satellites coming from VSO at the same time).

Before

After

@srivatsn @dotnet/project-system

@srivatsn, it does not, adding a file produced this diff, leaving wildcards intact.
--- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj
+++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj
@@ -210,6 +210,11 @@
     <Compile Include="ProjectSystem\VS\NuGet\ReferenceProperty.cs" />
     <Compile Include="ProjectSystem\VS\NuGet\TargetFrameworkInfo.cs" />
     <Compile Include="ProjectSystem\VS\NuGet\TargetFrameworks.cs" />
+    <Compile Include="Resource1.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resource1.resx</DependentUpon>
+    </Compile>
     <Compile Include="Shell\HierarchyId.cs" />
     <Compile Include="Shell\Interop\VsProjectExtensions.cs" />
     <Compile Include="Shell\Interop\VsHierarchyExtensions.cs" />
@@ -241,6 +246,10 @@
     <EmbeddedResource Include="ProjectSystem\VS\PropertyPages\PropertyPageResources.*.resx">
       <DependentUpon>PropertyPageResources.resx</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Resource1.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resource1.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
     <EmbeddedResource Include="VSResources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>VSResources.Designer.cs</LastGenOutput>

Sounds good.


STY Refactor to always pass functions full transactions instead of daily transaction volumes

@twiecki Do you think we should try to merge this in before moving on to introducing the round trip code? I'd think that we'd want to start using this new convention ASAP so that the eventual merge of round trip stuff isn't painful.

Yes definitely.
On Nov 13, 2015 01:37, "Andrew Campbell"<EMAIL_ADDRESS>wrote:

@twiecki https://github.com/twiecki Do you think we should try to merge
this in before moving on to introducing the round trip code? I'd think that
we'd want to start using this new convention ASAP so that the eventual
merge of round trip stuff isn't painful.
—
Reply to this email directly or view it on GitHub
https://github.com/quantopian/pyfolio/pull/204#issuecomment-156281157.

I just tried and failed to rebase that single commit without pushing my new code.

Ah, sorry. I missed that this was already making the initial change. Can you move the last commit to a different branch / PR? I want to review this one first separately.

Ok, I think this should be good to go now. Shouldn't break travis once merged.

OK, I rebased and force-pushed (please force-pull before making any changes to this branch).

Thanks!

LGTM, thanks.


Migrating from other blockchain platforms

We should think about having a section on migrating from other blockchain platforms to Blockstack.
Cloud be similar to adding auth or migrating to that as the primary login, and eventually the same thing for Gaia.

I'm going to close this. It really isn't a priority with the company right now.  We can look at doing it in the future; when we do it will be part of a larger project and we will create a new issue.


Allow the streaming of the docker.compose.pull logs

same as #496 but for compose.pull. The test will most probably fail but i couldn't run it locally. having some problem with the docker registry, so hopefully it will run on github action and i will update it to the expected output

oh so it seems the docker hub issue is a problem with docker hub itself.

Indeed I had the same issue. Dockerhub seems to be having a bad time

Indeed I had the same issue. Dockerhub seems to be having a bad time

I think it got fixed. This passes now

Many thanks for the pull request! You're the 50th contributor of Python-on-whales! Sadly I don't have any prize, but you can be proud to add another cool feature to the lib that many users will appreciate!

Thank you for creating this amazing project. It saved me a lot of time and i really appreciate it.

I'm happy to hear it! The nice words of people like you are a good reason for me to work in this library :)


Incorrect link to storage python library + preview notice

Two issues with the intro block from the page - the link should absolutely not be to the deprecated meta-package for storage (which has been deprecated for a long time) and the libraries are not in preview:
The [Azure Storage Client Library for Python](https://pypi.python.org/pypi/azure-storage) supports encrypting data within client applications before uploading to Azure Storage, and decrypting data while downloading to the client.
 Note
The Azure Storage Python library is in preview.

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

ID: 4b206d05-0214-14dd-4aee-bfc3fc08c6ea
Version Independent ID: 6ff5c9b2-7026-e573-4dde-7e0eccfc1d6f
Content: Client-side encryption with Python - Azure Storage
Content Source: articles/storage/common/storage-client-side-encryption-python.md
Service: storage
Sub-service: common
GitHub Login: @tamram
Microsoft Alias: tamram

Thanks for the feedback! We are currently investigating and will update you shortly.

@johanste - Thanks for your feedback. I've updated the page.
#please-close


Add getter function for client session parameters

Closing as recent versions have already getter functions for session parameters and a callback where the developer can access all the details of the current session context.


Replace Arena/Ref caching by a simple hash map storing Rc values.

This is an alternate for #497.
The cache handling is much simpler, with the downside that it can't hand out references, it hands out Rc clones. That means that the callers have to convert them to Src all over the place, which is the reason for the added as_src().  (This used to be as_ref() but that is already a Rc method.)
I can't see a difference in speed; the additional refcount operations are likely completely insignificant.
A caveat is that this cache is not threadsafe, which might matter if a daemon process should handle concurrent requests (not sure that makes sense though). Switching to Arc and Mutex might be enough to make it Sync.
/cc @jwilm

Wow, you've been busy! I like the simplicity of the Rc implementation, and it has a clear path for becoming thread safe if the need arises. FWIW, when I first started working on the Racer code, I had a lot of difficulty reasoning about the caching and the references. This version would eliminate that for future contributors.
The one downside I see to Rc is that, theoretically, a stale file could be used as part of an operation.

I'm thinking the Rc version of this is the way to go. So simple :).

Still not completely sure which alternative is best, but merging this because it was the simplest.
Thanks so much for this @birkenfeld!


Feature request: implement makeBatchHandler Middy middleware

Use Case
Customers who use Middy middlewares might want to use the Batch Processing utility as a Middy middleware.
Solution/User Experience
Refer to example shown in the RFC #1082, section 3.2
Acceptance criteria

The class covers all the features found in the reference implementation
The middleware is exported
Unit tests are implemented with 100% coverage.
All functions are documented via docstrings, following project's conventions as much as possible

With the current implementation of the Batch Processing utility, processing a batch of records sent to a Lambda handler requires one line (excluding formatting):
export const handler = async (
  event: SQSEvent,
  context: Context
): Promise<SQSBatchResponse> => {
  return await asyncProcessPartialResponse(event, recordHandler, processor, {
    context,
  });
};

At the moment we are unsure about the value added by a Middy middleware besides syntactic sugar for those users who like using middlewares as a pattern.
For this reason we are excluding this feature from the base version of the utility and will leave the issue open so that customers can express their interest. If there's enough demand we will implement the middleware before the utility reaches General Availability.


Download RC version reports success, but acutally fails

Describe the bug
I have the following step in my workflow:
- name: Setup PHP
  uses: shivammathur/setup-php@v2
  with:
    php-version: 8.1
    tools: deployer/deployer:v7.0.0-rc.8
  env:
    fail-fast: true
    COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

I specified a release candidate for the PHP deployment tool deployer. The workflow reports a success, see here

.. already strange that the 8 is missing at the end. If I run ls -ls /usr/bin/local afterwards, there is no deployer inside.
Version

[ ] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[x] v2
[ ] v1

Runners

[x] GitHub Hosted
[ ] Self Hosted

Operating systems
ubuntu-latest
PHP versions
8.1
To Reproduce

Expected behavior
I would expect a file /usr/local/bin/deployer to be present after the step in the workflow reported success.

@codedge
Thanks for reporting this.
This has been fixed in https://github.com/shivammathur/setup-php/commit/74d43be8a37b5562a232e4b97ce460f8e0a4bd04
The fix is in the develop branch right now, it will be in the next release.

@shivammathur Is there an approx. release date for the next release?

I will create a release tomorrow.

Released 2.19.1 with the fix
https://github.com/shivammathur/setup-php/releases/tag/2.19.1

The executable is named deployer without the phar extension.
On ubuntu.
If you specify deployer/deployer. it will be installed using composer and will be in /home/runner/.composer/vendor/bin.
If just specify deployer, it will install the phar which will be in /usr/local/bin.
Both directories should be in Path. So you can just run deployer directly.
Test workflow: https://github.com/shivammathur/test-setup-php/actions/runs/2447245284/workflow


Memory formatting improvements

Fixes #6

master looks like this:
kubetop - 09:04:49
                 POD               (CONTAINER)        %CPU         MEM      %MEM
s4-infrastructure-216976705-nkn7r                        1 127.387 MiB  130444.0
                                         (web)          1m 45.8398 MiB
                                       (flapp)           0 35.2812 MiB
                              (wormhole-relay)           0  24.793 MiB
                       (foolscap-log-gatherer)           0 21.4727 MiB
image-building-3987116516-g6s93                          0 13.3359 MiB   13656.0
                              (image-building)           0 13.3359 MiB

branch looks like this:
kubetop - 09:04:18
                 POD               (CONTAINER)        %CPU         MEM      %MEM
s4-infrastructure-216976705-nkn7r                        1  127.39 MiB  130444.0
                                         (web)          1m   45.84 MiB
                                       (flapp)           0   35.28 MiB
                              (wormhole-relay)           0   24.79 MiB
                       (foolscap-log-gatherer)           0   21.47 MiB
image-building-3987116516-g6s93                          0   13.34 MiB   13656.0
                              (image-building)           0   13.34 MiB

Looks better to me.


Error just after new (successful) install and starting nyoom for the first time.

After starting for the first time, nyoom was installing tree-sitter parsers. Mid way, I encountered this error.
Treesitter parser for markdown_inline has been installed
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: ...ar/neovim/HEAD-711ef4e_1/share/nvim/runtime/filetype.lua:20: Vim(lua):E5108: Error executing lua ...vim/s
ite/pack/packer/opt/packer.nvim/lua/packer/load.lua:171: Vim(echomsg):E114: Missing quote: "Error in packer_compiled: ...vim/site/pack/pac
ker/opt/packer.nvim/lua/packer/load.lua:142: Vim(source):E5113: Error while calling lua chunk: ...pack/packer/opt/cmp-conjure/after/plugin
/cmp_conjure.lua:1: module 'cmp' not found:
stack traceback:
        [C]: in function 'cmd'
        ...vim/site/pack/packer/opt/packer.nvim/lua/packer/load.lua:171: in function <...vim/site/pack/packer/opt/packer.nvim/lua/packer/l
oad.lua:167>
        [string ":lua"]:1: in main chunk
        [C]: in function 'nvim_buf_set_option'
        ...ar/neovim/HEAD-711ef4e_1/share/nvim/runtime/filetype.lua:20: in function <...ar/neovim/HEAD-711ef4e_1/share/nvim/runtime/filety
pe.lua:11>
stack traceback:
        [C]: in function 'nvim_buf_set_option'
        ...ar/neovim/HEAD-711ef4e_1/share/nvim/runtime/filetype.lua:20: in function <...ar/neovim/HEAD-711ef4e_1/share/nvim/runtime/filety
pe.lua:11>

Any insights/suggestions for a fix?
Potentially useful info:
running macOS Monterey, with M1 pro
nyoom version c58b0df
NVIM v0.8.0-dev-758-g711ef4eac
Note that I then entered out of it and nyoom itself is functional as an editor. If I open lua files there's another error (which could be related):
Spawning language server with cmd: `lua-language-server` failed. The language server is either not installed, missing from PATH, or not executable.

No errors when opening fennel files.
Also, not sure if this link has any helpful stuff? link
Thanks in advance!

I just pushed an update, I think this should fix the first issue.

Spawning language server with cmd: lua-language-server failed. The language server is either not installed, missing from PATH, or not executable.

You can run :Mason to automatically install language servers and tooling for enable modules, assuming you've enabled the mason module as well

Just did a fresh reinstall and got the exact same error after opening a file (when it was installing tree-sitter parsers).
Also ran Mason and it installed 16 packages, but then whenever I reopen the file and run :Mason it ends up reinstalling the same stuff for some reason?

Could you kindly run nvim --version for me, I think the error is being thrown because vim.cmd isn't available which is a fairly new (v0.8) feature, I might be wrong though

run :Mason it ends up reinstalling the same stuff for some reason?

I'll update the documentation with more info but you're only supposed to run it once
How I configured mason is because the language modules are defined standalone, Nyoom merely hooks into mason to install the binaries themselves. After that mason isn't touched again, and the binaries are added to vim's search path. It's a bit hacky but IMO aligns the best with how Nyoom functions internally.
What I'll probably do is have a script that quickly checks if the required servers have been installed at Nyoom's start, and run  :Maso if they haven't, and to the user the :Mason command will be unavailable and return an error the same way :PackerSync currently does
Ideally I'd like to define things declaratively rather than have the user of the config imperatively install language servers/parsers/linters/etc.

NVIM v0.8.0-dev-758-g711ef4eac
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by ___@___s-MBP-2

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/HEAD-711ef4e_1/share/nvim"

Run :checkhealth for more info

^^^ is the output from running nvim --version. It seems to be v0.8.
That makes sense; don't yet know too much about how exactly nyoom works, but I'll be working on my understanding of it soon.

Is it a development version? I had a very similar issue to you. I installed Astro Vim thinking that nyoom was broken for macOs. But it also broke. So I installed a stable release of NeoVim and it worked. I am going to try and install nyoom later today on this current stable version.

I think nyoom might be broken on dev versions, I'll look into it


No autocomplete whatsoever

Issue

[x] Latest neovim from github (NVIM v0.5.0-dev+1114-g0c7610cf9)
[x] All plugins updated
[x] No LSP configuration other than calling setup
[x] Does not work using minimal troubleshooting init.vim from the wiki page
[x] :checkhealth reports no relevant issues (lua and general section all green)
[x] LSP works on its own (linting present)
[x] libuv installed
[x] All instances of neovim fully restarted
[x] Read the entire README/troubleshooting page

Neither of these will give me autocomplete:
lua require'lspconfig'.rust_analyzer.setup{on_attach=require'completion'.on_attach}
lua require'lspconfig'.pyls.setup{on_attach=require'completion'.on_attach}

or
autocmd BufEnter * lua require'completion'.on_attach()

I'm not sure what else to check here.
Is there perhaps another library dependency not listed somewhere (I run Void Linux)? I'm stumped.

Okay, it seems this is actually an issue with my LSP set up.
Apparently it displays lints when 1. I save the buffer or 2. some 40 seconds have passed.
Autocomplete works after the 40 seconds or whatever pass.
Now I just need to figure out why it is slow.


Illustrations outdated

Please update the images of entity relationships with the new entity: PartyElectronicAddress(DirPartyContactV3Entity)

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

ID: 28c9f029-f84b-7ae9-b0a0-257a1cb70683
Version Independent ID: 7218e9bc-56df-da30-509e-1e9ac08ec6eb
Content: Party and global address book - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/data-entities/dual-write/party-gab.md
Service: dynamics-365-cross-app
GitHub Login: @RamaKrishnamoorthy
Microsoft Alias: ramasri

Reached out to PM for guidance.


MultiPolygon does some slow checks on construction

It's me again! back with another performance issue.
MultiPolygon does some slow checks on creation (not sure if they are strictly necessary, but that's a different point), and they are done twice!
Expected behavior and actual behavior.
Ideally, MultiPolygon() should only check is_empty once for each polygon passed to it, but in reality because it checks __bool__ and is_empty, and __bool__ calls is_empty, it effectively checks it twice.
Steps to reproduce the problem.
I did found this while doing profiling on our code base with py-spy. Let me know if you want me to write down exactly how I did that, but here's an image from the profiling:

Operating system
MacOS
Shapely version and provenance
2.0b2+9.ge027985 installed from source against GEOS 3.11

Thanks for the report! That indeed can be optimized (although in this case it shouldn't be a regression compared to 1.8.x? As the same logic seems to exist in that branch)
I find it a bit surprising that is_empty takes up such a large part of the time, though, since I would expect this to be a cheap operation.

I think we're looking at me making a multipolygon of 250,000 tiny polygons... Maybe not the best use of the computer's time 😄

Ah, for this specific use case, you can actually (starting with 2.0) better use shapely.multipolygons(..) function, which will be faster because 1) it assumes you already have polygons (while MultiPolygon(..) constructor will also convert from coordinates), and 2) it doesn't remove empties from your list of polygons.
(one could also argue that the second item is an inconsistency we should resolve .. but I think it's also good to have a fast function that just takes whatever polygons you provide and turn that into a MultiPolygon)

Yeah I like that there are "raw" methods in 2.0 that I can fall back to when I am either positive my inputs are well formed, or I am willing to take the potential bad result.
We updated to 2.0 recently, and I'm also doing more profiling of our code now (especially around GIL usage because our code is now multithreaded!) so I'll probably keep making more issues about performance observations I have.
Also feel free to kick them back to me if you would like me to submit a PR! I've been using shapely for ~2 yrs now so I feel like I ought to contribute back at least something
-Lyle

A PR to fix the duplicate bool/is_empty check is certainly welcome!


Update README.md

terminal transparency alternative solution

Thanks a lot for finding this!

My Pleasure!

This method works, thank you


Bump rollup and vsce

I got sick of the vsce warning on install and noticed that rollup was also out of date.

bors r+

Thanks!

(and in general, thanks a lot for being on top of various small updates: this is really helpful :heart: !)


Content update in homepage

Created a new section on the home-page and made some extra changes to the arrangement of sections
cc: @elfosardo
@hroyrh

/cc @lentzi90 @Rozzii @kashifest

/assign @elfosardo @hroyrh


Standardize Verbose Names in models

Addresses issue 42 and some more verbose name standardization.
See https://github.com/ryanmerolle/netbox-acls for reference.

Thank you very much for this. I admit I wasn't paying enough attention to text formatting in the interface while coding :)


New Version not support

New PS remove play not support

just use PS remote play 5.5

@derekdylu thanks. That is it. This will likely not be solved in the near future. I tried a lot and haven't any luck breaking the antihook system that the new PS Remote applied


Document that custom 404 page doesn't show up in dev mode

First check (probably with @tony-sull ?) that Ernesto's answer here is correct. (I seem to recall something like this, but I can't find hard proof.)
https://discord.com/channels/830184174198718474/981301972214898789/981303344234627092

AFAIK custom 404 is not shown by the dev server unless explicitly navigating to it. And on build and deploy id up to the hosting to pick it up.

NOTE: This may have been a recent change, so check to see what the actual, desired behaviour is. Was this just a regression or is this "how things work" now?
If in fact, users should not expect to see their custom 404 page in dev, or they have to do anything extra/weird to be able to do so, add this info to en/core-concepts/pages (at the bottom, in the 404 section)

Looking at merged PRs, looks like this was a bug that should have been fixed. Am keeping an eye on the support thread, but closing this as it's clearly intended to work, and shouldn't be documented! 🥳


Problems about the test results

Hi, @LiJunnan1992
Thanks for your work and release!
However, I got a lower zero-shot performance on flickr30k, which seems to  be the same as the performance reported in #23 ,
# val set
{'txt_r1': 90.23668639053254, 'txt_r5': 98.0276134122288, 'txt_r10': 99.11242603550296, 'txt_r_mean': 95.7922419460881, 'img_r1': 75.75936883629191, 'img_r5': 92.50493096646943, 'img_r10': 95.75936883629191, 'img_r_mean': 88.00788954635108, 'r_mean': 91.90006574621958}
# test set
{'txt_r1': 88.5, 'txt_r5': 98.5, 'txt_r10': 99.2, 'txt_r_mean': 95.39999999999999, 'img_r1': 75.92, 'img_r5': 93.34, 'img_r10': 96.66, 'img_r_mean': 88.63999999999999, 'r_mean': 92.01999999999998}

and used this command:
python -m torch.distributed.launch --nproc_per_node=8 --use_env Retrieval.py \
--config ./configs/Retrieval_flickr.yaml \
--output_dir output/Retrieval_flickr \
--checkpoint sources/ALBEF.pth --evaluate

Hi! The zero-shot result on flickr is evaluated using the model finetuned on COCO. The ALBEF.pth uses a smaller resolution.

@LiJunnan1992 Thanks a lot！ I got the same results as the paper!


Feature/change interactive

Codecov Report

Merging #46 into develop will increase coverage by 40.10%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           develop      #46       +/-   ##
============================================
+ Coverage    52.82%   92.92%   +40.10%
============================================
  Files           29       29
  Lines         1488     1499       +11
  Branches       207      207
============================================
+ Hits           786     1393      +607
+ Misses         618       67      -551
+ Partials        84       39       -45

Impacted Files
Coverage Δ

anymotion_cli/commands/interactive.py
100.00% <100.00%> (ø)

anymotion_cli/exceptions.py
92.85% <0.00%> (+21.42%)
:arrow_up:

anymotion_cli/settings.py
91.96% <0.00%> (+25.00%)
:arrow_up:

anymotion_cli/commands/image.py
100.00% <0.00%> (+25.00%)
:arrow_up:

anymotion_cli/commands/movie.py
100.00% <0.00%> (+25.00%)
:arrow_up:

anymotion_cli/commands/upload.py
100.00% <0.00%> (+25.00%)
:arrow_up:

anymotion_cli/click_custom/didyoumean.py
75.00% <0.00%> (+25.00%)
:arrow_up:

anymotion_cli/commands/drawing.py
100.00% <0.00%> (+26.08%)
:arrow_up:

anymotion_cli/options.py
88.46% <0.00%> (+30.76%)
:arrow_up:

anymotion_cli/commands/analysis.py
92.53% <0.00%> (+31.34%)
:arrow_up:

... and 15 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e1efca...5cb055b. Read the comment docs.


AAU, on the CLI, I see a function to remove member(s) from a project

conflicts to solve after the merge of the other commands


[VOL-84] Docker containers stopped started

https://clusterhq.atlassian.net/browse/VOL-84
Assert that changing a branch will restart the container by making the memorydiskserver read a value on startup, and then using it to write two branches and switch between them.
These are tests for the Python implementation so that the golang implementation can then be made to pass in another branch.

Looks good, address and merge


IIS application only displays file directory instead of home page.

I've added the DurandalAuth solution as an application to IIS. I've tried everything but whenever I try to navigate to localhost/DurandalAuth, I only get the project file directory

Hi,
Perhaps this link could help you.
Check the steps and perhaps you can see the issue
Bye!!

Hi,
I upgraded all nuget packages in the solution so if you are interested yet you can try again
Bye!!


Can't make it works after the update

It was working juste fine until de 0.31 update.
Here what i did :

I just installed atom-debug-ui.  Does it work without the 2 other packages?

Here my php.ini file :
zend_extension="c:/wamp64/bin/php/php7.2.4/zend_ext/php_xdebug-2.6.0-7.2-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_host=<IP_ADDRESS>
xdebug.remote_connect_back=1    # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=false      => because i have firefox xdebug module

Here is my config file :
"php-debug":
currentPanelMode: "bottom"
display:
views: {}
exceptions: {}
noPackageInstallPrompt: [
"atom-debug-ui"
"atom-ide-ui"
"ide-php"
]
server:
protocolDebugging: true
serverAddress: "<IP_ADDRESS>"
showWelcome: false
xdebug:
pathMaps: "C:\wamp64\bin\php\php7.2.4\zend_ext\php_xdebug-2.6.0-7.2-vc15-x86_64.dll"
welcome:
showOnStartup: false

What pathmaps? the path to xdebug.dll or something else ?

Can you update to 0.3.3 which dropped this morning?

Thank you, it's working now


Add PurifyCSS to reduce css file size

https://github.com/webpack-contrib/purifycss-webpack

Closed via #12


TypeError: init() missing 1 required positional argument: 'name'

I am getting this error while using RAdam optimizer. I followed the exact same steps as in your youtube video. Could you please help?

Hi,
Thanks for using EM-net. We appreciate your feedback on this. New changes have been just committed, so please use the new link to the Colab.
Closing this ...


Kafka-node vs kafkajs Producer

I am confused if to use kafkajs producer or Kafka-node producer..
Configuring kafka-node producer seems very easy.. just very small code..
kafkajs seems more involved..
https://kafka.js.org/docs/producer-example
catching all these signals:
const errorTypes = ['unhandledRejection', 'uncaughtException']
const signalTraps = ['SIGTERM', 'SIGINT', 'SIGUSR2']

You haven't shown any comparison, but the signal handling is there as a reference for how to cleanly shut down. You would need to do the exact same thing in kafka-node - they might just not have included shutting down in their examples.
Closing this as it is not an issue.


melange: 0.14.10 -> 0.17.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/chainguard-dev/melange/releases.
meta.description for melange is: Build APKs from source code
meta.homepage for melange is: https://github.com/chainguard-dev/melange
meta.changelog for melange is: https://github.com/chainguard-dev/melange/blob/v0.17.3/NEWS.md
Updates performed

Golang update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.17.3 with grep in /nix/store/fli76s3whdbq959szxqyx2vfn9nnf509-melange-0.17.3
found 0.17.3 in filename of file in /nix/store/fli76s3whdbq959szxqyx2vfn9nnf509-melange-0.17.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

melange

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fli76s3whdbq959szxqyx2vfn9nnf509-melange-0.17.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A melange https://github.com/r-ryantm/nixpkgs/archive/1d041214642d9913c8d3586e40b27ae15b625e8d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/1d041214642d9913c8d3586e40b27ae15b625e8d#melange

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fli76s3whdbq959szxqyx2vfn9nnf509-melange-0.17.3
ls -la /nix/store/fli76s3whdbq959szxqyx2vfn9nnf509-melange-0.17.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

melange

Maintainer pings
cc @developer-guy for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 362908

aarch64-darwin

:white_check_mark: 1 package built:

melange


The Same Origin Policy disallows reading the remote resource

Also, miner's stats are not being updated when accessed from the remote browser at http://ipaddress/miner.html. This exception is thrown in consol.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://ipaddress:3330/miner/. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

I am using caddy webserver Caddyfile.
:80 {
        root /home/grin/.go/src/open-grin-pool/web
        gzip
        cors
        header / {
                Access-Control-Allow-Origin  "*"
                Access-Control-Allow-Headers "*"
                Access-Control-Allow-Methods "*"
                -Server
        }
}

As you can see I have tried to fix the issue by escalating all permissions but without results. How this issue can be resolved?

Have you edit the config.js in web directory and replace the placeholder with your api address?
There shouldn't have any CORS error. Because the pool has header.Set("Access-Control-Allow-Origin", "*"), the requests from all sources are allowed.


Autorotate option for #transcode and #screenshot

Hi,
first of all, thanks for your Ruby ffmpeg library! We're using it in production at beta.torial.com and it helped us a lot to simplify our video conversion code.
As you probably know, videos from mobile devices are often displayed "sideways" or upside down in the browser, since the browser doesn't evaluate the video's rotation metadata. So we have streamio-ffmpeg do that :-) and rotate the video accordingly. Both the #screenshot and the #transcode command support this.
We introduced some architectural changes since just "patching it in" got a bit messy, but did so in a TDD way, so everything should work as it did before. We have had the code running in production for 1-2 months now without issues; keep in mind our site is still low volume, though.
If you feel this would be a useful addition, go ahead and pull the changes in! We'd be very happy about that, of course.
Cheers,
Phillip

Not gonna happen.


Collision with a rescaled collision shape on a KinematicBody

Godot version: 3.1.2
Issue description: When rescaling a capsule collision, it will not collide properly with another collision shape
Steps to reproduce: Create a KinematicBody, attach it a Capsule collision shape, rescale the transform and it will not collide properly with for example a floor.
Minimal reproduction project: reproduction project
Here is also a gif of the issue, on the left is a capsule collision shape resized with the collision shape parameters and on the right a capsule collision shape resized using his scale transform values :

That's just how collision shapes work. You cannot resize them this way. You should always use the handles of the collision shape to resize.
https://docs.godotengine.org/en/3.1/tutorials/physics/physics_introduction.html#collision-shapes

Alright i guess its not going to change. I'll close this, thanks.


Logger - timezone

The timezone of the server that the system is running on needs to be included within the log output.

Pushed into latest, closing.


Agnos is awsome!

Not an issue.  But just to say that your tool is awsome and really helped get my certs sorted.  Thank you.

Thanks for the very kind words! May I ask how you discovered it?


Needs Pseudocode?

I'm thinking of adding pseudocode to the readme based on DSA by Granville Barnett and Luca Del Tongo. Would this be useful?

Hi @moshejs , thank you for suggestion!
Yes you may try to add pseudocodes to specific READMEs. Let's have one or two PRs to see how it would work if you will.

Posted one for linked list @trekhleb if you like it, I will add more

@moshejs thank you for PR! Yes please add more if you want.
Just few minor comments on the PR.

Indentation: let's use 2 spaces
Code block: let's use triple ` signs.
Complexities: let's use tables for data-structures basic operations.

I've made these small correctness for linked list here https://raw.githubusercontent.com/trekhleb/javascript-algorithms/master/src/data-structures/linked-list/README.md just for example.


Add set/get for URL and Citation

Add features to set and get the:

URL to the dataset. This will be a URL to Google Drive or Cloud (or elsewhere) to point CKAN to where the file associated with the MCF is located. Found in identification.url OR distribution.url
Citation. There is not a specific place for this in the MCF. We can think about whether we can create an attribute section for this, or whether we want to add it the abstract or lineage, etc.

Citation. There is not a specific place for this in the MCF. We can think about whether we can create an attribute section for this, or whether we want to add it the abstract or lineage, etc.

I think it makes sense to add a citation property to the identification section of the MCF. That section has properties like title, abstract, edition, doi, so it seems fitting there.

Citation. There is not a specific place for this in the MCF. We can think about whether we can create an attribute section for this, or whether we want to add it the abstract or lineage, etc.

I think it makes sense to add a citation property to the identification section of the MCF. That section has properties like title, abstract, edition, doi, so it seems fitting there.

This makes sense to me! I am good with that.


link_to_page working properly

Issue #5
; The API related to link to page appears to be working properly.
My notion consisted of the following:

The result of the API call is

Fixed at release 0.2.7.

@stevedsun Very nice !! Thanks :)


[T3A5][T11-A1]Paul Tan Han Kiat

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


Documentation for repeat is wrong

This page https://github.com/Reactive-Extensions/RxJS/blob/master/doc/libraries/main/rx.complete.md
links
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/repeat.md
for the instance repeat method. It appears this is the documentation static repeat method, as the instance method does not treat the first parameter as is specified hire. This may just be a simple mistake where the wrong repeat.md has been linked.

Is this issue comment to this repository?

Well the docs appear to be in the main repository, but it's an issue concerning the docs, so I reported it in the docs repository.

okey, please send a pull request. thanks!

Oh, wow.. apologies, this is not the docs repository I thought it was. I'm not sure how I made this mistake. I think I need to try to get better sleep.


Create a Fiori for iOS app in 45 minutes

I don' have the same storyboard and architecture like TableDelegates/DetailTableDelegates/PackagesTypeDetailTableDelegate.swift.
One question: Which version of SAP Cloud Platform SDK for iOS Assistant are you using ?
I'm running on the version 9.3 of the SDK and the result is different from yours.

Hi @20140277,
I wrote this particular tutorial specifically for the attendees of the Apple WWDC 2017 conference in June last year, using the 1.0 version of the SDK. In that first release, the generated app contained the mentioned ZzzTableDelegate.swift files.
When the 2.0 version of the SDK was rolled out just before SAP TechEd Vegas last year, I made an updated (and extended) version of this tutorial.
This tutorial group consist of the following tutorials:

Create an application definition
Create an Xcode project with SDK Assistant
Implement a new Table View Controller
Using the SAP Fiori for iOS Mentor app
Implement the Fiori Timeline cell control
Enable the app for Offline OData (added for TechEd)
Manage and monitor your app on SAP Cloud Platform Mobile Services (added for TechEd)
Change log settings and examine application logs (added for TechEd)

I will update the tutorial so it follows the 2.0 style. In the meantime, you could use the above mentioned tutorials.
Hope this helps!

thanks a lot !

Can I find somewhere the git project that provide the code of the full suite of tutorial you just recommended me ? I would like to take it as a correction because issues occurred when I tried to follow the tutorial's steps.

Unfortunately, for legal reasons we cannot provide full projects at this time...
What issues did you run into specifically?

Hi !
I followed the tutorial till the "Implement the Fiori Timeline cell control" part and when I run the app it gets stuck when I click on the new link "Show Tracking Info..."  the app crashes and I get this issue :
2018-05-25 10:28:58.692862+0200 testDeliveries[1533:23137] -[UISplitViewControllerClassicImpl _collapseSecondaryViewController:ontoPrimaryViewController:]: When collapsing for size class adaptation, secondary (detail) view controller has a navigation controller without any children, so ignoring it and not collapsing secondary on top of primary. SplitViewController is <UISplitViewControllerClassicImpl: 0x7fda1e45aa80>, primary is <UINavigationController: 0x7fda1e91b200>, secondary is <UINavigationController: 0x7fda1e856400>
2018-05-25 10:29:27.493910+0200 testDeliveries[1533:23137] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
2018-05-25 10:29:27.504465+0200 testDeliveries[1533:23137] Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service
2018-05-25 10:30:43.047277+0200 testDeliveries[1533:30362] Received XPC error Connection interrupted for message type 3 kCFNetworkAgentXPCMessageTypePACQuery
2018-05-25 10:30:43.048300+0200 testDeliveries[1533:30362] Received XPC error Connection invalid for message type 3 kCFNetworkAgentXPCMessageTypePACQuery
Could not cast value of type 'UITableViewController' (0x111725310) to 'testDeliveries.TrackingInfoViewController' (0x10ad35038).
2018-05-25 10:30:53.573849+0200 testDeliveries[1533:23137] Could not cast value of type 'UITableViewController' (0x111725310) to 'testDeliveries.TrackingInfoViewController' (0x10ad35038).
(lldb)

In your logs I see this message:
Could not cast value of type 'UITableViewController' (0x111725310) to 'testDeliveries.TrackingInfoViewController'
At the end of tutorial step 17, can you check you have done the following:

Switch to the Storyboard and select the Tracking Info Table View. In the Identity inspector, set the Custom Class to TrackingInfoViewController:

Yes I did it. The only thing that is different from the tutorial is the amount of navigation controller: my Assistant created an additional navigation controller by default that you can see on the screenshot below. Do you think this could be the reason of my issue ?

Oh you were right sorry. I only set the Custom Class to TrackinInfoViewController in the table view cell instead of the whole Tracking info Scene. Now it works properly !
Thank you so much for your help !

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


Python 3 sample fails

Hey!
Interesting project you've got here! Who knew trying to run Selenium tests in a Docker container would be such a PITA?
So, I'm trying to run your sample images, and Python 2 works while Python 3 doesn't:
$ docker build -t sample-2 python2/
Sending build context to Docker daemon 4.608 kB
Step 1 : FROM markadams/chromium-xvfb-py2:latest-onbuild
# Executing 3 build triggers...
Step 1 : COPY requirements.txt /usr/src/app/requirements.txt
 ---> Using cache
Step 1 : RUN pip install -r requirements.txt
 ---> Using cache
Step 1 : COPY . /usr/src/app
 ---> Using cache
 ---> 477e657c73e4
Step 2 : RUN mkdir test-results
 ---> Using cache
 ---> 3d1115ee728b
Successfully built 3d1115ee728b

$ docker run sample-2
============================= test session starts ==============================
platform linux2 -- Python 2.7.9, pytest-3.0.6, py-1.4.32, pluggy-0.4.0
rootdir: /usr/src/app, inifile: setup.cfg
collected 1 items

test_google.py .

--------- generated xml file: /usr/src/app/test-results/results.py.xml ---------
=========================== 1 passed in 2.61 seconds ===========================

$ docker build -t sample-3 python3/
Sending build context to Docker daemon 4.608 kB
Step 1 : FROM markadams/chromium-xvfb-py3:latest-onbuild
# Executing 3 build triggers...

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
         It's because you're using Chrome driver 2.14 instead of 2.26 in the Python 3 version. I'll open a PR.


Reorganize CI testing.

Writing all of the testing scripts inside the .travis.yml file was
becoming painful, and parts of it were wrong by allowing for some
commands to fail without failing the entire build.
This also fixes the Github token (again).

@bors r+

:pushpin: Commit f78f446 has been approved by BurntSushi

:hourglass: Testing commit f78f446 with merge 9d14071...

@bors r-

:broken_heart: Test failed - status-appveyor

:pushpin: Commit c7bc06f has been approved by BurntSushi

@bors r+

:hourglass: Testing commit c7bc06f with merge a9c52b6...

:sunny: Test successful - status-appveyor, status-travis
Approved by: BurntSushi
Pushing a9c52b698c7b40abb839f1a67c2506e792acc790 to master...


GEOMESA-1220 Don't freeze on bad formats

Removes PipedWriter and PipedReader
Talked with Chris about how this is more of a band-aid and that a more elegant solution will be needed
Signed-off-by: Charles Kelly<EMAIL_ADDRESS>

@cfkelly if you get a chance can you take a look at the review changes?

I'd probably rename the city1 and city2 to city-tsv.conf and city-mysql.conf or whatnot

@cfkelly this looks good now, just waiting to see if some customers are ok with the change


Tracer not publishing all Probe in a round when the round ends without finding the target

When the round ends due to timeout on max_round_duration without finding the target, only the Probe which responded are published and so the statistics for all other Probe in the round are not updated.  Notably, this includes the sent count and so this leads to a "tearing" effect whereby the sent count is not consistent for all hops in the trace.

The fix is to separate out the size of a round (the number of probes sent in the round, for which statistics should always be updated) from the maximum ttl number of the probe which responded in this round (which can be used to decide how many probes to display).
The "tearing" effect is still possible, though unlikely; if the number of probes actually sent in a round is less than the maximum ttl number of a probe which responded in a previous round.
For example, in round 1 we sent 10 probes (ttl 1..10) and received a response for, at least, the probe with ttl=10.  In round 2 we only manage to send 9 probes (ttl 1..9) before the round expires and so only probes with ttl 1..9 are published in round 2 and therefore the stats for ttl=10 will be behind the rest.
The latter problem could potentially be fixed by adjusting the round end logic to ensure round N+1 sends at last as many probes as round N.


Error while reading Iceberg table having parquet files with dynamic column sequencing

Steps to reproduce the behavior (Required)
Create an iceberg table for a list of parquet files, where there might be a difference in the sequence of columns between 2 parquet files.
For example:
If I create 2 files (.parquet) having column information:
File 1:
col1 INT | col2 STRING | col3 INT
File 2:
col2 STRING | col1 INT | col3 INT
If I create an iceberg table with the schema of File 2, i.e.
CREATE TABLE ice_table (col2 STRING, col1 INT, col3 INT) USING ICEBERG LOCATION "s3://<>"
It fails for the following query, Ex -
select count(*) from ice_table
Failed to decode parquet page header, page header's size is out of range
Both the queries work on every other engine we've worked with, ex - Athena, DuckDB and even Spark. We're trying to get this done on starrocks as it will open a lot of doors for us in terms of efficiency and cost.
I can provide screenshots on top of this if needed for more insights
Expected behavior (Required)
Starrocks, like other engine for querying data should be able to read the data together and sequence the data in the final result.
Tools like duckDB and others are able to query this data.
Real behavior (Required)
While running the query on such a table, throws error:
Corruption: Failed to decode parquet page header, page header's size is out of range.  allowed_page_size=0, max_page_size=16777216, offset=115, finish_offset=115
Though if I read a single file at a time by passing the S3 path for it, it works without any issue.
In one of the cases that we've tried this with, shouldn't even consider the max_page_size as the files in question are hardly in KBs. In those cases, I have no issues when I read with a file which has the correct order of columns, whereas the second I query a different partition or a different file, I see the issue mentioned above.
Additionally, if I do a
SELECT * from FILES (path: "s3://<>/file1.pq") and
SELECT * from FILES (path: "s3://<>/file2.pq")
Both of these work
This is a crucial feature for us to have, as it breaks the maintainability of the tables that we have.
Humble request to either take a look at this and provide a fix or guide us with the necessary files or functions that might end up causing this and I'll try to work on the fix myself.
StarRocks version (Required)
3.3.3

Hi @amanjaiswalofficial, could you run parquet meta file1 and parquet meta file2 and i want to get the info of schema while like
Schema: message table {   required int32 k1 (INTEGER(32,true)) = 1;   required binary k2 (STRING) = 2; }

Sure,
Sharing for file1 and file2 here
file1 (working)
File path:  1_working.parquet
Created by: parquet-mr version 1.13.1 (build ${buildNumber})
Properties:
                   org.apache.spark.version: 3.5.0
    org.apache.spark.sql.parquet.row.metadata: {"type":"struct","fields":[{"name":"_dw_level_0_id","type":"long","nullable":true,"metadata":{}},{"name":"_dw_source_key_id","type":"long","nullable":true,"metadata":{}},{"name":"question","type":"string","nullable":true,"metadata":{}},{"name":"value","type":"long","nullable":true,"metadata":{}},{"name":"_dw_extracted_at","type":"string","nullable":true,"metadata":{}},{"name":"_metadata_file_path","type":"string","nullable":true,"metadata":{}},{"name":"_metadata_file_modification_time","type":"timestamp","nullable":true,"metadata":{}}]}
Schema:
message spark_schema {
  optional int64 _dw_level_0_id;
  optional int64 _dw_source_key_id;
  optional binary question (STRING);
  optional int64 value;
  optional binary _dw_extracted_at (STRING);
  optional binary _metadata_file_path (STRING);
  optional int96 _metadata_file_modification_time;
}

Row group 0:  count: 4  107.25 B records  start: 4  total(compressed): 429 B total(uncompressed):345 B
--------------------------------------------------------------------------------
                                  type      encodings count     avg size   nulls   min / max
_dw_level_0_id                    INT64     Z _ R     4         18.75 B    0       "0" / "0"
_dw_source_key_id                 INT64     Z   _     4         16.00 B    0       "89000160022" / "89000160034"
question                          BINARY    Z   _     4         9.50 B     4
value                             INT64     Z _ R     4         21.25 B    0       "-103" / "103"
_dw_extracted_at                  BINARY    Z _ R     4         22.75 B    0       "2024-12-02 10:30:57" / "2024-12-02 10:30:57"
_metadata_file_path               BINARY    Z   _     4         9.50 B     4
_metadata_file_modification_time  INT96     Z   _     4         9.50 B     4

file2 (not working)
File path:  2_not_working_file.parquet
Created by: parquet-mr version 1.13.1 (build ${buildNumber})
Properties:
  writer.model.name: example
Schema:
message merged_schema {
  optional binary question (STRING);
  optional int64 _dw_level_0_id;
  optional int64 _dw_source_key_id;
  optional int64 value;
  optional binary _dw_extracted_at (STRING);
}

Row group 0:  count: 2  141.50 B records  start: 4  total(compressed): 283 B total(uncompressed):229 B
--------------------------------------------------------------------------------
                   type      encodings count     avg size   nulls   min / max
question           BINARY    Z   D     2         21.00 B    2
_dw_level_0_id     INT64     Z _ R     2         34.50 B    0       "0" / "0"
_dw_source_key_id  INT64     Z   D     2         23.50 B    0       "89000012498" / "89000012562"
value              INT64     Z   D     2         22.00 B    0       "-103" / "100"
_dw_extracted_at   BINARY    Z   D     2         40.50 B    0       "2023-05-24 20:00:20" / "2023-05-25 16:00:07"

@amanjaiswalofficial from the schema information, i think this issue is not about schema.
And for this error message page header's size is out of range, could you send us the completed error message, and could you send us the file that we can reproduce the issue and fix it?

Hey @zombee0
The complete error message, along with steps to re-create it:
CREATE TABLE starrocks_bug_1 (survey_id BIGINT) USING ICEBERG LOCATION 's3a://.../adhoc/starrocks_bug_1';
CALL system.add_files('starrocks_bug_1', '`parquet`.`s3a://.../bug.zstd.parquet`');
SELECT * from starrocks_bug_1;

org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [1064] [42000]: FileReader::get_next failed. reason = Corruption: Failed to decode parquet page header, page header's size is out of range.  allowed_page_size=0, max_page_size=16777216, offset=557, finish_offset=557
be/src/formats/parquet/column_chunk_reader.cpp:104 _page_reader->next_header()
be/src/formats/parquet/column_chunk_reader.cpp:63 _parse_page_header()
be/src/formats/parquet/stored_column_reader.cpp:468 _reader->load_header()
be/src/formats/parquet/stored_column_reader.cpp:331 _next_page()
be/src/formats/parquet/group_reader.cpp:172 _column_readers[slot_id]->read_range(range, filter, (*chunk)->get_column_by_slot_id(slot_id).get())
be/src/formats/parquet/group_reader.cpp:129 _read_range(_active_column_indices, r, nullptr, &active_chunk), file = s3a://prod-data-processed/emr_lake/delta_lake/freshdesk__seller_care/satisfaction_ratings/sys_partition_year=2023/part-43977-276d9b12-ead1-4592-862a-e01d8330c113.c000.zstd.parquet
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:615)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$2(SQLQueryJob.java:506)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:525)
	at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:977)
	at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:4176)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5154)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:117)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLSyntaxErrorException: FileReader::get_next failed. reason = Corruption: Failed to decode parquet page header, page header's size is out of range.  allowed_page_size=0, max_page_size=16777216, offset=557, finish_offset=557
be/src/formats/parquet/column_chunk_reader.cpp:104 _page_reader->next_header()
be/src/formats/parquet/column_chunk_reader.cpp:63 _parse_page_header()
be/src/formats/parquet/stored_column_reader.cpp:468 _reader->load_header()
be/src/formats/parquet/stored_column_reader.cpp:331 _next_page()
be/src/formats/parquet/group_reader.cpp:172 _column_readers[slot_id]->read_range(range, filter, (*chunk)->get_column_by_slot_id(slot_id).get())
be/src/formats/parquet/group_reader.cpp:129 _read_range(_active_column_indices, r, nullptr, &active_chunk), file = s3a://prod-data-processed/emr_lake/delta_lake/freshdesk__seller_care/satisfaction_ratings/sys_partition_year=2023/part-43977-276d9b12-ead1-4592-862a-e01d8330c113.c000.zstd.parquet
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:767)
	at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:652)
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:330)
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131)
	... 12 more

Hi @amanjaiswalofficial, I reproduced the issue, and find that the root cause is that we haven't support DATA_PAGE_V2 in parquet. As i know common writer like parquet-mr and arrow both use DATA_PAGE_V1 as default, would you like to change your writer's configuration to generate DATA_PAGE_V1?

@amanjaiswalofficial good, hope that works.
we have a schedule to support DATA_PAGE_V2, but it should be in next two months.