PSyclone icon indicating copy to clipboard operation
PSyclone copied to clipboard

(Closes #1708) PSyAD and psyclone-kern support for lfric geometry args

Open arporter opened this issue 3 years ago • 4 comments

This requires #1782 to go onto master first.

arporter avatar Sep 30 '22 16:09 arporter

This PR extends the various classes capturing kernel metadata to allow us to store the position of an argument in the list of kernel arguments. This is then used to construct a map from kernel arguments to the corresponding entry in the kernel metadata.

arporter avatar Oct 03 '22 11:10 arporter

#1782 is now on master and I've rebased this branch. It is now blocked by #1901 (adds functionality to lookup metadata arg from actual subroutine arg).

arporter avatar Oct 06 '22 16:10 arporter

@mattdawkins thank you for your reply -

I guess the reader code is in ead_detected_object_set_habcam.cxx is that correct?

from the sample line:

/// "201503.20150525.102214751.575250.png" 185 "boundingBox" 1195 380 1239 424

the fields are the ones described in the link to the docs

- 1: Detection or Track Unique ID
- 2: Video or Image String Identifier
- 3: Unique Frame Integer Identifier
- 4: TL-x (top left of the image is the origin: 0,0)
- 5: TL-y
- 6: BR-x
- 7: BR-y
- 8: Auxiliary Confidence (how likely is this actually an object)
- 9: Target Length

Q: I guess

- 8: Auxiliary Confidence (how likely is this actually an object)
- 9: Target Length`

are optional, Is that correct or should I pout a default value for those fields?

Ideally, I'd like to start from a pre-trained network and add my dataset to fine-tune the detector. I can begin by adding annotation for a pair of classes (scallops and sea anemones) - May I ask for a pointer to the docs on how to initiate the training process?

codecov[bot] avatar Oct 14 '22 12:10 codecov[bot]

Ready for a first look now. Not actually that big a source code change but I've had to update the example and the documentation too.

arporter avatar Oct 17 '22 11:10 arporter

Taking this back as testing with the kernels that Rupert is adding in #1937 has revealed some problems:

  1. Sometimes the chi argument is added to a kernel because I'm comparing None with None;
  2. The adjoint kernels are not importing gh_readwrite from the argument_mod module.
  3. Strangely, the line-length limiter sometimes produces lines that are longer than 132 chars and the code is then rejected by PSyclone (ironically) in the LFRic build system. I'm fixing these as I go and will feed them back to #1937.

arporter avatar Nov 18 '22 15:11 arporter

Ready for review again now.

arporter avatar Nov 29 '22 09:11 arporter