PSyclone
PSyclone copied to clipboard
(Closes #1708) PSyAD and psyclone-kern support for lfric geometry args
This requires #1782 to go onto master first.
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.
#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).
@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?
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.
Taking this back as testing with the kernels that Rupert is adding in #1937 has revealed some problems:
- Sometimes the
chiargument is added to a kernel because I'm comparing None with None; - The adjoint kernels are not importing
gh_readwritefrom theargument_modmodule. - 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.
Ready for review again now.