Articles on mHash1m's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on mHash1m's BlogenWed, 25 Aug 2021 08:26:33 +0000Final Blog [Aug 23, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/final-blog-aug-23-2021/Hi everyone, <br> <br> It's a pleasure to let you know that I have completed the project with all the requirements and more! It has been an amazing journey, from learning to getting amazing mentorship from John Andersen, to getting to know a great community. This has really been a wild journey! <br> <br> If you would like to know more about my project, here is the <a href="https://gist.github.com/mHash1m/32be754a2f18757d46d20f13bea20fe5">Final Report</a>.hashimchaudry23@gmail.com (mHash1m)Wed, 25 Aug 2021 08:26:33 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/final-blog-aug-23-2021/Weekly Check-in #11 [Aug 16, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-11-aug-16-2021/Hi everyone, <br> This is the 11th weekly check-in. Everything went as planned. <br> <h1> What did you do this week? </h1> This week, I have wrapped all tasks related to my project in DFFML. The multi output PR got merged as well. The 'Tuning Models' PR also got reviewed and I just need another rebase to get it merged as well. <br> <h1> What is coming up next? </h1> Hopefully the 'Tuning Models' PR will get merged in the weekly sync tonight. And that will wrap up GSoC for me :D <br> <h1> Did you get stuck anywhere? </h1> Not really, I made sure to get things right with mentors when I could.hashimchaudry23@gmail.com (mHash1m)Tue, 17 Aug 2021 08:34:24 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-11-aug-16-2021/Weekly Check-in #10 [Aug 09, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-10-aug-09-2021/Hi everyone, <br> This is the 10th weekly check-in and I had totally forgotten about writing a blog since this week was quite hectic, with project defenses going on in the university and deadlines to meet for GSoC. <br> <h1> What did you do this week? </h1> We finally got in support for mutable config in models. I have been working on the final use-case of my project ie. 'Tuning Models'. For this, I showed how to tune models by mutating their values in the configs. I also added a parameter grid module so users can define a grid and DFFML helps them tune their models by training and testing the models with the data to find the best hyper-parameters and score. My mentor had also asked to change the way accuracy works in general. I forced accuracy to take prediction features so scorers don't access the model's features, and forced theses features to the last argument of the scorers. <br> <h1> What is coming up next? </h1> I will be finishing these tasks and wait on reviews and hopefully get these PR's merged ASAP. <br> <h1> Did you get stuck anywhere? </h1> Yeah, there were some issues with http, my mentor helped me get rid of those.hashimchaudry23@gmail.com (mHash1m)Thu, 12 Aug 2021 06:07:16 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-10-aug-09-2021/Weekly Check-in #9 [Aug 02, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-9-aug-02-2021/Hi everyone, <br> This is the 9th weekly check-in and things seemed to be going as planned so far, however, it's time to deal with the elephant in the room ie. the "Tuning Models" use-case we don't have support for. <br> <h1> What did you do this week? </h1> As it turns out, my peer was also working on scikit. He introduced scorers into the code-base which resulted in huge rebase for me. I rebased everything multi-output models related and merged conflicts. However, I had to also add multi-output support to the scorers now, and that I did. I made it so that the scikit scorers could be used for multi-output models. I also added support for the couple of 'native' scorer implementations that we added in DFFML but I wasn't convinced of the implementation myself as we were just using mean of all the accuracies or scores. I discussed it with my mentor and we decided to go with just the sickit scorers. My mentor also suggested me other changes in the weekly sync we had yesterday. <br> <h1> What is coming up next? </h1> I will be working on the changes suggested by my mentor and get the PR reviewed in detail. My mentor would also help figure out the dependencies of the use-case "Tuning models" to make configs mutable etc. so that I can proceed. <br> <h1> Did you get stuck anywhere? </h1> Not really.hashimchaudry23@gmail.com (mHash1m)Wed, 04 Aug 2021 06:38:20 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-9-aug-02-2021/Weekly Check-in #8 [July 26, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-8-july-26-2021/Hi everyone, <br> This is the 8th weekly check-in and things got a little off the timeline as we didn't have a weekly sync-up meeting last week but I think I have things back on track now hopefully. <br> <h1> What did you do this week? </h1> I finished working on support for multi-output models. I decided to go with the multioutput scikit wrappers rather than using the native support of some models which would essentially add an extra layer to the structure of our models in DFFML. In the current structure, DFFML acts as if the models really do support multi-output natively rather than having separate entry-points as discussed previously. I had been waiting for the weekly meeting to discuss this before implementing however, since the last meeting didn't take place, I decided to go ahead and implement it and discuss it in the next meeting with the sample code. <br> <h1> What is coming up next? </h1> Hopefully my mentor will approve of the different approach I went for in the coming sync-up and we get it merged soon. I'll start working in the multi-output model use-cases in that case. <br> <h1> Did you get stuck anywhere? </h1> I wasn't really stuck but wanted to be sure if the approach I went for was indeed the right thing to do.hashimchaudry23@gmail.com (mHash1m)Mon, 26 Jul 2021 20:17:21 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-8-july-26-2021/Weekly Check-in #7 [July 19, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-7-july-19-2021-1/Hi everyone, <br> This is the 7th weekly check-in and things are going smooth. <br> <h1> What did you do this week? </h1> We had a major merge so I got all 3 of my PR's rebased so we can merge them soon. I made a lot of progress on support for multi-output models and I think it's coming out quite nicely. Currently, I am able to work with multi-output regression models in DFFML after the changes I made for supporting them, however the support for classification models is pending until I get some feedback and some queries about the model structure answered. <br> <h1> What is coming up next? </h1> I will discuss the PR's and multioutput model structure in our weekly sync-up meeting and get it done. <br> <h1> Did you get stuck anywhere? </h1> I'm stuck on a binary decision, waiting for some feedback on that.hashimchaudry23@gmail.com (mHash1m)Tue, 20 Jul 2021 16:21:37 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-7-july-19-2021-1/Weekly Check-in #6 [July 12, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-6-july-12-2021/Hi everyone, <br> This is the 6th weekly check-in and things are going quite as planned. <br> <h1> What did you do this week? </h1> I finalized almost all the example use-case notebooks that I've written so far. I also worked on the use-case example notebook "Transfer Learning" and got it reviewed and made the suggested changes by a mentor. <br> I also started studying the next goal of my project ie. adding support for multi-output models in DFFML. I think I have gotten a good idea to deal with it. <br> <h1> What is coming up next? </h1> I will start working on adding support for multi-output models today and discuss what I have in our weekly sync meeting later today. I'll also discuss transferlearning notebook to finalize it and hopefully get it merged along with the rest of the notebooks. <br> <h1> Did you get stuck anywhere? </h1> I did get stuck during the use-case example notebook "Transfer Learning" but that was resolved by my mentorhashimchaudry23@gmail.com (mHash1m)Tue, 13 Jul 2021 06:48:54 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-6-july-12-2021/Weekly Check-in #5 [July 05, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-5-july-05-2021/Hi everyone, <br> <h1> What did you do this week? </h1> I have completed the use-case example notebook for "Ensemble by stacking". We also figured out issues with the remaining issues with the testing script for notebooks. It seems that we'll be merging it soon. I've started working on an issue which is also a dependency for the use-case example notebook that I am currently working on ie. "Transfer Learning". The issue is to add support for python API for pretrained model wrapper of Pytorch. I have figured out and pushed a solution in a PR awaiting review. I'm discovering use-cases related to "Transfer Learning" and I have made some progress on that as well. <h1> What is coming up next? </h1> I will hopefully get the PR for the issue merged and also complete the Transfer Learning use-case example. <br> <h1> Did you get stuck anywhere? </h1> There were a few complexities with the Pytorch issue but my mentors were kind enough to help me.hashimchaudry23@gmail.com (mHash1m)Mon, 05 Jul 2021 19:36:16 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-5-july-05-2021/Weekly Check-in #4 [June 28, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-4-june-28-2021/Hi everyone, <br> 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! <br> <h1> What did you do this week? </h1> 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. <br> 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. <br> Also made some suggested tweaks to the testing script, still have some issues but hopefully will be resolved soon. <br> <h1> What is coming up next? </h1> 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. <br> <h1> Did you get stuck anywhere? </h1> Other than the same old testing script issue, no! :Dhashimchaudry23@gmail.com (mHash1m)Mon, 28 Jun 2021 18:06:41 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-4-june-28-2021/Weekly Check-in #3 [June 21, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-3-june-21-2021/Hi everyone, <br> It's already been 2 weeks since the coding period started. The 3rd week starts today and things seem to be going as planned! <br> <h1> What did you do this week? </h1> 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. <br> 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. <br> <h1> What is coming up next? </h1> 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. <br> <h1> Did you get stuck anywhere? </h1> Yeah, I'm stuck on testing script CI errors but hopefully that will be unblocked by tomorrow.hashimchaudry23@gmail.com (mHash1m)Mon, 21 Jun 2021 13:47:13 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-3-june-21-2021/Weekly Check-in #2 [June 14, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-2-june-14-2021/Hi everyone, <br> This week has been quite exciting has I had exams going on and I still managed to work on quite a lot. <br> <h1> What did you do this week? </h1> 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. <br> I did manage to complete the use-case example for first week and get it up on the documentation as well. <br> 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. <br> <h1> What is coming up next? </h1> 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. <br> <h1> Did you get stuck anywhere? </h1> 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.hashimchaudry23@gmail.com (mHash1m)Mon, 14 Jun 2021 18:12:17 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-2-june-14-2021/Weekly Check-in #1 [June 7, 2021]https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-1-june-7-2021-1/Hi everyone, <br> 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. <br> <h1> What did you do this week? </h1> 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. <br> <h1> What is coming up next? </h1> I'll be working on the generic test along with the notebook use-cases over the next couple of weeks. <br> <h1> Did you get stuck anywhere? </h1> 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 :Dhashimchaudry23@gmail.com (mHash1m)Wed, 09 Jun 2021 06:56:09 +0000https://blogs.python-gsoc.org/en/mhash1ms-blog/weekly-check-in-1-june-7-2021-1/