mHash1m's Blog

Weekly Check-in #4 [June 28, 2021]

mHash1m
Published: 06/28/2021

Hi everyone,
It's already been 3 weeks since the coding period started. The 4th week starts today and things seemed a little behind schedule as my mentor had suggested changes in the work from last week but I caught up!

What did you do this week?

I worked on some reworks that my mentor suggested in the notebook "Ensemble by stacking". I had gone for a simplistic approach for ensemble due to some minor issues that I wasn't sure I need to tackle. My mentor suggested the notebook should be show accuracies of the initial models and ultimately a better accuracy achieved by ensemble model which turned out to be quite nice as I completed it.
I also worked on the use-case example notebook "Saving and loading models" which demonstrates how to save and load models in the DFFML API. Seemed like pretty straight forward stuff as DFFML saves any models that are trained in the directory provided during the instantiation of the model. And you can simply load the model by re-instantiating the same model with the same directory. However, the notebook is yet to be reviewed and there could be a better way to achieve it so lets see how it goes in the upcoming weekly sync.
Also made some suggested tweaks to the testing script, still have some issues but hopefully will be resolved soon.

What is coming up next?

I will probably start to work on the usecase example notebook "Transfer Learning" since we haven't figured out the mutable config stuff to be able to work on "Tuning models" yet. Hopefully we will come up with something soon on that as well.

Did you get stuck anywhere?

Other than the same old testing script issue, no! :D
View Blog Post

Weekly Check-in #3 [June 21, 2021]

mHash1m
Published: 06/21/2021

Hi everyone,
It's already been 2 weeks since the coding period started. The 3rd week starts today and things seem to be going as planned!

What did you do this week?

As before, my main priority is to keep up with the scheduled use-case example notebooks scheduled for each week, and work on everything else one step at a time. As the scheduled use-case notebook example for this week had other dependencies, I worked on the notebook "Ensemble by stacking" and I've already created a pull request for it.
We also made some progress on testing notebooks script as my mentor helped me debug some CI errors. It's still a work in progress, but I think we're quite close.

What is coming up next?

I'll start working on the next use-case example notebook, ie. "Saving weights and using a pre-trained model". I'll also be waiting for a review on the pull request I opened for "Ensemble by stacking" notebook use-case to hopefully get it merged with any changes, if requested. In the weekly sync-up tomorrow, I'll be discussing remaining CI errors with the testing notebooks script and hopefully close that one out soon.

Did you get stuck anywhere?

Yeah, I'm stuck on testing script CI errors but hopefully that will be unblocked by tomorrow.
View Blog Post

Weekly Check-in #2 [June 14, 2021]

mHash1m
Published: 06/14/2021

Hi everyone,
This week has been quite exciting has I had exams going on and I still managed to work on quite a lot.

What did you do this week?

Since we had our last weekly sync meeting at DFFML, yeah the one I talked about in my last check-in here, I have been thinking about and trying different things regarding the issues I was facing. Since my mentor was so kind to even give me a kick-start by explaining how I could test notebooks through a script and not manually test each notebook, I worked it out and it seems to do its job. Although, it still has some ways to go until it can be integrated into the CI due to some ipython kernel related errors which I'll be debugging soon but I plan to keep working on it while I also keep up with the weekly use-case examples that I have set out for each week.
I did manage to complete the use-case example for first week and get it up on the documentation as well.
Since a couple of weeks, we have also been discussing some big changes in DFFML architecture since we have just recently started to enhance our Python API. We discussed in our weekly sync-ups that we will make the hyper-parameters to enable tuning of models. This would be a side-quest that directly affects my project and so I'll be working to achieve this as well. We have already discussed it in detail and my mentor was kind enough to also provide me a patch to get me started. I worked out this patch and made some debugging ventures into the codebase and there were a few complications. Some things that I couldn't make sense on my own. I pinged my mentor over this and I'm hoping we will discuss it in our weekly sync-up tomorrow.

What is coming up next?

I'm really looking forward to the weekly sync-up tomorrow. Tbh, these weekly meetings really help keep me going. You get an awful lot to learn and any ambiguities you had been carrying throughout the week just wash away. I'll definitely discuss the patch for mutable hyper-parameters and continue to make progress on that one. Testing also requires some discussion. Just as planned, I'll be working on another use-case notebook, perhaps not the one about tuning models since my side-quest is still underway.

Did you get stuck anywhere?

Well, yes I did get stuck on getting the patch to work correctly but I'm hoping that wont be a problem since we have a weekly sync-up scheduled tomorrow.
View Blog Post

Weekly Check-in #1 [June 7, 2021]

mHash1m
Published: 06/09/2021

Hi everyone,
This is Hashim, a senior year student from Pakistan. I've been contributing to DFFML for over a year now and I'll be working on "Enhancing User Experience with Notebook Examples for Machine Learning Use Cases" this summer for DFFML as a part of GSoC.

What did you do this week?

I started working on the first use-case notebook in the first phase of my proposed project ie. "Comparing Model Performance". The name is quite self-explanatory, I'll be using DFFML models and show how to evaluate models and compare their performance with other models. I also started working towards a generic and automated test case for all notebooks by building different test case scenarios to figure it out. We had a weekly sync yesterday where we discussed it in detail. We also discussed how the second use-case notebook "Tuning Models" would require some things to be taken care of before we can proceed with that. There would have to be some architectural changes to help change the parameters on runtime which is currently not possible in DFFML.

What is coming up next?

I'll be working on the generic test along with the notebook use-cases over the next couple of weeks.

Did you get stuck anywhere?

Well, I did get stuck on generic test which also involved mocking with `testbook` and automating the tests. My mentor was kind enough to explain the whole process during our weekly sync-up. Since I have exams coming up, we also discussed hold-ups expected in the second week of the project, but that's a story for another day :D
View Blog Post