This was a team mission carried out during the final week of the Modu Study AI 2024 coaching study.
Given how the study had progressed, the topic felt a little abrupt. Still, the translated materials and tutorial provided by the Korean PyTorch community were detailed enough to be helpful. Even so, from a humanities-oriented perspective, the highly detailed explanations made it hard to grasp the overall picture and the before-and-after relationship of each step. Ironically, the very fine-grained explanations became a larger hurdle when trying to understand the broader context. It was also difficult to see how the separated pieces could be assembled into one complete program.
So even though it made the content longer, I reorganized the practice flow so that each stage would first present a complete process. The goal was to let people inspect the result values, procedures, code length, execution order, loss values, and model shape of each step before diving into the details.
- update:
Later I concluded that, even with proper attribution, it would not be appropriate to post the team members' contributions on this blog, so all such material has been removed.
(Part of the team mission,)
Deep learning frameworks provide many verified libraries and even pretrained algorithms, reducing the repetition of rebuilding standard functionality and helping people focus on core problem-solving algorithms. There are many frameworks, including TensorFlow, Keras, Theano, PyTorch, and CNTK, but in the course we learned why PyTorch in particular matters. This time, let us follow the tutorial on the official PyTorch site and carry out a simple mini-project. [ Topic: PyTorch ]
- Follow the MNIST tutorial table of contents, try it directly, and organize your thoughts. : MNIST tutorial table of contents
;; The process of practicing the tutorial and reflecting on it
1. Recognizing the problem
Because it was the final week, participation and advance preparation were both lower. I shared prewritten code and a proposed direction, but discussing the content properly on the day of the study turned out to be difficult. So I first checked each person's level of understanding and past experience. Each member felt the difficulty of the shared tutorial page differently. The tutorial page did provide Colab practice code, but there was also so much material that simply following the code line by line or replaying it did not seem especially meaningful. After sharing that concern, I suggested that each person look for a different way to study and reflect on the material.
2. Looking for alternatives
So each of us took a bit more time and thought about ways to reflect using our own methods. Then, at our own pace and on our own schedule, we gathered possible alternatives. Some materials summarized the overall steps, some condensed the keywords of each stage, and others tried to visualize the code as graphs. A variety of forms and methods came together.
In fact, I began to wonder whether this kind of process could be useful not only for this PyTorch exercise but for learning any new language or framework. With that thought in mind, I reorganized the material into the following shape.
And at some point during that process, another thought occurred to me: human vector.
That part is not directly related to this post, so I decided to write about it separately.
3. Execution
- Step 1 : Understand where I am standing right now
First, organize the overall concepts.
(excerpt omitted)
- Step 2 : Do a deep-dive practice
Write the code blocks for each stage and each unit as independent runnable programs, basically as separate files, so that people can repeatedly experience which parts stay common and which parts change.
The detailed explanation of the code below is too long for this post, so I plan to organize it in a separate one. The full document is public, so it can be checked at any time.
Rewrite it line by line yourself : 2024AI_CoachingStudy/week4_nn_Pytorch_tutorial_2nd.ipynb at main · normalstory/2024AI_CoachingStudy · GitHub
2024AI_CoachingStudy/week4_nn_Pytorch_tutorial_2nd.ipynb at main · normalstory/2024AI_CoachingStudy
Contribute to normalstory/2024AI_CoachingStudy development by creating an account on GitHub.
github.com
- Step 3 : Visualize the practice code
Compare how the model configuration and performance change across procedures.
https://app.eraser.io/workspace/44v5X1UNVWVul9yTSrAl
About nn_Pytorch _tutorial
Created with Eraser
app.eraser.io
https://github.com/normalstory/2024AI_CoachingStudy/blob/main/week4_nn_Pytorch_tutorial_2nd.ipynb
2024AI_CoachingStudy/week4_nn_Pytorch_tutorial_2nd.ipynb at main · normalstory/2024AI_CoachingStudy
Contribute to normalstory/2024AI_CoachingStudy development by creating an account on GitHub.
github.com
