Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Honest impression on 04_mnist_basics #632

Open
JonRurka opened this issue Jan 18, 2024 · 0 comments
Open

Honest impression on 04_mnist_basics #632

JonRurka opened this issue Jan 18, 2024 · 0 comments

Comments

@JonRurka
Copy link

Want to start by saying I understand why the author chose to use pyTorch for the code samples in MINST. As this is currently the industry standard and bleeping edge for training neural networks, it makes sense to use this to familiarize students with the library while teaching the basics of this subject.

However, as someone new to the use of neural nets, but vary familiar with programming in general, I have to admit it made understanding the underlying methodology a bit more cumbersome that it could have been.

The problem is these highly abstracted, high-level functions do not give a clear impression of what's happening, and require significant explanation in English, and effort to "imagine" what the functions are doing to add up to the whole algorithm. I understand they want to teach the use of PyTorch/FastAI, however, in a document related to teaching the "foundation" of a particular algorithm, I think it would be worth it to also include a version of the script in code that is less abstract, and more direct. For example, instead of saying "Because using Python loops are slow, we use such-and-such Tensor function" and stopping there, it would be very beneficial to additionally add how it could be done using a loop with more foundational, C-like coding elements to really display what's happening, or even something more pseudo-code (if you don't want to program a function in the doc to calculate derivatives, for example).

High-level abstractions are great for making less code and doing complicated tasks with little effort. But, also remembers that this action obscures the underlying process. As the goal of this document is to teach the underlying process, only using the high-level abstraction to do it is a little counter productive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant