Start of the Coding Period
After the admission to the GSoC program, there is a time period to get started with the project, contact the mentors and so on. After this, the Coding Period starts. This year, it started on May 27th. In my case, I had already contributed to DeepForest, so I had already set up my working environment even before the proposal submission. Thus, I dedicated this period to add detail to my proposal and to discuss with my mentors who were actually very helpful and were always ready to guide and discussed how to tackle the different tasks.
I started by checking some papers on multi class object detection and how Resnet works, similar projects and going issue by issue in DeepForest to find all feature requests related to my project. Afterwards I outlined a list of all the methods with their priority and workflow for the whole project which was then discussed with my mentors. I immediately started with a pull request on making the model able to interact with multiple classes, trying to extend the functionality to all use cases I could think about in the most simple and natural way (for now natural to me, once the code is reviewed and used by other people, hopefully natural to everybody).
The first problem I came across that the use_bird_release model has 1 class 'Bird', imagine a user wants to start from that model, but has 5 classes of birds ('flamingo', 'ibis', 'egret','duck', 'goose'). We want them to start from a model that can make predictions of 'birds', but learn new classes.
So how it can be tackled is in init, we will load the regression head to the newly created 5 class model. I might also change the name, because its not that we care if the user freezes or not, its that we want them to start from the release model for regression weights which can be attained by few lines of code.
So basically no model training was needed. To create a DeepForest model, there is a classes argument.
so user know at time of model creation how many classes are desired. So I didn't made that from scratch. So we want to give the user an
opportunity to load a baseline model, which has just a single class,
and then replace the classification head. The snippet above is the implementation for this.
And I started the research on wrapping of raster files on certain resolutions and how it can be evaluated taking results into consideration
Comments
Post a Comment