In the two programming assignments, we implemented a very generic deep learning altogrithm. We can use it for multiple-layer neuro network with arbitrary units in each layer. We only need to plug in the training data and layer dimensions.

It is so generic that I think there may be out-of-box/read-to-use implementation already. Am I correct ? If so, what is the library that has such implementation ?

Besides, if it is so, what is the point to learn the implementation details if we can just use the library without knowing how it is implemented ? It is like we know how to call np.sqrt(…), but we don’t need to know how it is implemented ?

Hi @mc04xkf , my two cents.

Yes, there are some nice libraries like scikit-learn, fast.ai, even pytorch, tensorflow and many others. You will find other nice resources in github, where you need just to do a search and get nice results.

I think that deeplearning is not an easy ocean to navigate, where we need to take care of lots of details to get good results, and even so, sometimes the results are not so good as expected. So, if we can be out of some details and stay focused on our dataset, our model, and so on, we can waste less time looking for solutions. There are some situations, like optimization, where we need to take care of the details and, yes, in cases like that maybe we will need to know if np.sqrt is the best solution of any other math operation. So, for short, I think that the answer could be that it depends on your target.

Hope this can help you.

1 Like