-
To reduce duplication in answering questions and in accordance with OCF's plan to move discussions which aren't repo specific to a more centralised place I am moving a discussion from HuggingFace over to here: Answering the questions from there:
We use a data source from Sheffield Solar/PVLive which gives an estimate for total generation for a GSP region from all generators in it which is what we are trying to forecast.
Yes in most cases the target values will be between [0,1], some rare cases the generation value may be higher than the stated capacity so you can get values slightly > 1. Yes after we get the outputs from our PVNet model which multiply by effective capacity to get the forecasted generation in MW.
The sum total for effective capacity for a GSP region at each timestamp is also given by PVLive, it is an estimate for the total effective capacity for all generators in that region.
What sort of code are you looking for? I think I will need more detail to point you to the right place. The code to open data related to gsp-regions is here ocf-data-sampler is where we are moving our data processing code to (from ocf_datapipes) it should be easier to go through. On the second set of questions on the HF thread:
Please see answer to 1 above.
So in the data source we use a capacity value is given for each timestamp which we have generation data so the yield/ normalised PV output should account for capacity changes over time (of course no data source is perfect and this is unlikely to be 100% accurate) when we make forecasts now/live we try to use the most up to date estimates of capacity to get a MW forecast. I hope these answers are useful! Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
@Sukh-P As I was reviewing your machine learning layers, I got confused about how to train each NWP (IFS, ECMWF) and Satellite separately, and then combine them into a single vector. In your code, I noticed you were using Should we use a separate optimizer for each of the IFS, ECMWF, and EUMETSAT models, or do we perform optimization just once at the end? |
Beta Was this translation helpful? Give feedback.
Hi @kwon-encored
So a single optimizer is used for the whole model and to clarify the model is made up of different networks/elements but these are all trained together e.g. their weights are updated with the same training steps, it is just that all data input modalities, e.g each NWP input and Satellite go through their own encoders before they are concatenated together which you can see being done in the multimodal file you shared in each commented section.
In terms of where that optimizer is in code you can find that it is called in the initialisation of the
BaseModel
which is the base class from which the multimodal classModel
you were looking at inherits from. ThisBaseModel
class …