Рет қаралды 75,278
This is the first part of a 3-part miniseries in which I refactor a hand-written digit recognition data science project based on the MNIST dataset to improve the software design so it's easier to reuse and adapt. In this first part I cover using abstract classes and protocols to better separate the various aspects of the application, and I talk about function composition as a generic solution to dealing with data pipelines.
Thanks to Mark Todisco for helping out with preparing the example. The code I worked on in this video is available here: github.com/Arj....
Links to Pytorch and Scikit learn functional composition tools:
- pytorch.org/do...
- scikit-learn.o...
Part 1: • Refactoring A Data Sci...
Part 2: • Refactoring A Data Sci...
💡 Here's my FREE 7-step guide to help you consistently design great software: arjancodes.com....
🚀If you want to take a quantum leap in your software development career, check out my course The Software Design Mindset: www.arjancodes....
🎓 Courses:
The Software Designer Mindset: www.arjancodes...
The Software Designer Mindset Team Packages: www.arjancodes...
The Software Architect Mindset: Pre-register now! www.arjancodes...
Next Level Python: Become a Python Expert: www.arjancodes...
The 30-Day Design Challenge: www.arjancodes...
🛒 GEAR & RECOMMENDED BOOKS: kit.co/arjancodes.
💬 Join my Discord server here: discord.arjan....
🐦Twitter: / arjancodes
🌍LinkedIn: / arjancodes
🕵Facebook: / arjancodes
👀 Channel code reviewer board:
- Yoriz
- Ryan Laursen
- Sybren A. Stüvel
🔖 Chapters:
0:00 Intro
1:29 Explaining the code
6:41 About data science
7:35 Separating experiment tracking from the rest of the code
16:52 Improving data type consistency
19:44 Improving the way variables are handled
22:26 About function composition
29:03 Final thoughts
#arjancodes #softwaredesign #python
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!