从完整的新手到通过TensorFlow开发人员证书考试
I recently graduated with a bachelor’s degree in Civil Engineering and was all set to start with a Master’s degree in Transportation Engineering this fall. Unfortunately, my plans got pushed to the winter term because of COVID-19. So as of January this year, I have had no school and no work.
我最近獲得了土木工程學(xué)士學(xué)位,并準備在今年秋天開始獲得運輸工程碩士學(xué)位。 不幸的是,由于COVID-19,我的計劃被推遲到了冬季。 因此,從今年1月起,我沒有上學(xué)也沒有工作。
While looking at some of the research going on in my future grad school, I came across Machine Learning and Deep Learning being implemented in a lot of Transportation Engineering related research projects. At the time, I had no clue what ML, DL, or even Data Science as a whole was! So, I started looking into the subject. I talked to a few of my friends who are Computer and Software Engineers and what I understood from them was that Machine Learning is rooted in Statistics, Calculus, and Linear Algebra, all of which are some of my favorite math topics. I remember thinking to myself that I cannot let this opportunity go by, I was in a position where I had all the time in the world and unlimited resources (thanks to the internet!). In addition to that, I was going to enter a field that is being transformed by Data Science very rapidly and I needed to dip my toes into it.
在查看我未來的研究生學(xué)校正在進行的一些研究時,我發(fā)現(xiàn)機器學(xué)習(xí)和深度學(xué)習(xí)已在許多與運輸工程相關(guān)的研究項目中實施。 當時,我不知道什么是ML,DL甚至整個數(shù)據(jù)科學(xué)! 因此,我開始研究該主題。 我與一些計算機和軟件工程師的朋友交談過,我從他們那里了解到,機器學(xué)習(xí)植根于統(tǒng)計,微積分和線性代數(shù),所有這些都是我最喜歡的數(shù)學(xué)主題。 我記得自己以為自己不能放過這個機會,當時我處于世界上所有時間無窮無盡的資源(感謝互聯(lián)網(wǎng)!)中。 除此之外,我打算快速進入一個由Data Science轉(zhuǎn)變的領(lǐng)域,我需要全神貫注。
I have always struggled with programming languages, I once started to learn Java but gave it up within 5 hours of starting. It was quite embarrassing as I had high hopes of developing android apps. Now that I think about it, I was just being lazy and impatient. But this time was different, I had to learn Python which is easier to grasp than Java and I found myself truly fascinated by this new field.
我一直在努力學(xué)習(xí)編程語言,我曾經(jīng)開始學(xué)習(xí)Java,但是在開始學(xué)習(xí)后的5個小時內(nèi)就放棄了。 由于我對開發(fā)android應(yīng)用程序寄予厚望,這非常令人尷尬。 現(xiàn)在,我開始思考,我只是懶惰而急躁。 但是這次不一樣,我不得不學(xué)習(xí)比Java更容易掌握的Python,我發(fā)現(xiàn)自己對這個新領(lǐng)域非常著迷。
So, let’s jump right in! In this article, I will take you through the journey of how I went from being a complete newbie to a Google Certified TensorFlow Developer in less than 5 months.
所以,讓我們跳進去吧! 在本文中,我將帶領(lǐng)您完成我如何 在不到5個月的時間內(nèi)從完全的新手變成了Google認證的TensorFlow開發(fā)人員。
1.學(xué)習(xí)Python (1. Learn Python)
There are a lot of resources available to learn Python from, both free tutorials as well as paid courses which give you a certificate for completion. I personally chose a certificate course as that provided me with a tangible form of credibility and kept me accountable. Coming from a non-coding background this was important to me. Here are some of the resources available;
免費教程和付費課程(可為您提供結(jié)業(yè)證書)提供了大量學(xué)習(xí)Python的資源。 我個人選擇了證書課程,因為它為我提供了切實的信譽形式,并讓我負責(zé)。 來自非編碼背景,這對我很重要。 以下是一些可用資源;
CERTIFICATE COURSES
證書課程
- This is the course I took to learn Python. I recommend this to anyone who does not have a coding background as this course covers all the fundamentals and is constantly updated. The best part is that you get lifetime access to all the materials and a certificate to prove that you have completed the entire course. 這是我學(xué)習(xí)Python的課程。 我推薦給沒有編碼背景的任何人,因為本課程涵蓋了所有基礎(chǔ)知識并且會不斷更新。 最好的部分是您可以終生使用所有材料和證書,以證明您已完成整個課程。
Link: Python Bootcamps: Learn Python Programming and Code Training
鏈接: Python訓(xùn)練營:學(xué)習(xí)Python編程和代碼培訓(xùn)
- This is another wonderful specialization offered by the University of Michigan on coursera.com. It consists of 4 different courses covering a wide range of topics starting from writing your first “Hello World!” code to working with databases. You can either buy it to get the certificate or audit it for free. - 這是密歇根大學(xué)在coursera.com上提供的另一個出色的專業(yè)。 從撰寫第一個“ Hello World!”開始,它包含4個不同的課程,涵蓋了廣泛的主題。 使用數(shù)據(jù)庫的代碼。 您可以購買該證書以獲得證書,也可以免費對其進行審核。 
Link: Python for Everybody
鏈接: 適用于所有人的Python
List of more courses here
此處有更多課程列表
FREE TUTORIALS
免費教學(xué)
- The wonderful people at freeCodeCamp.org regularly post quality coding tutorials on YouTube. - freeCodeCamp.org的精彩人士定期在YouTube上發(fā)布高質(zhì)量的編碼教程。 
Link: Learn Python — Full Course for Beginners [Tutorial]
鏈接: 學(xué)習(xí)Python —初學(xué)者完整課程[教程]
- Another great tutorial video on Python 另一個關(guān)于Python的精彩教程視頻
Link: Python Tutorial — Python for Beginners [Full Course]
鏈接: Python教程—面向初學(xué)者的Python [完整課程]
Alright, now you have learnt the basics of Python, great job and congratulations!!
好了,現(xiàn)在您已經(jīng)學(xué)習(xí)了Python的基礎(chǔ)知識,出色的工作和恭喜您!!
But, do not expect yourself to be an expert, just because you have a certificate or you sat through a 5 hour long tutorial video. The work is far from done! It is going to be a gradual process and there are some great tools to help you practice and improve your coding skills.
但是,不要僅僅因為擁有證書或坐在5個小時的教程視頻中就期望自己成為專家。 工作還遠遠沒有完成! 這將是一個循序漸進的過程,其中有些很棒 幫助您練習(xí)和提高編碼技能的工具。
I used two websites,
我使用了兩個網(wǎng)站
- Codewars.com is just amazing! they have figured out a way to gamify the process of practicing to code. DO CHECK IT OUT - Codewars.com真是太神奇了! 他們找到了一種方法,可以將練習(xí)編碼的過程進行游戲化。 檢查一下 
Link: Codewars: Achieve mastery through challenge
鏈接: Codewars:通過挑戰(zhàn)實現(xiàn)精通
- Leetcode.com is another great website. They have coding interview style questions in order of increasing difficulty and is another wonderful place to practice and improve your coding skills. - Leetcode.com是另一個很棒的網(wǎng)站。 他們有按難度遞增的編碼面試風(fēng)格問題,是練習(xí)和提高編碼技能的另一個好地方。 
I would recommend to keep practicing and polishing up your Python skills on the side at regular intervals. Remember: spaced repetition works!
我建議您定期定期練習(xí)和完善您的Python技能。 請記住:間隔重復(fù)有效!
2.學(xué)習(xí)機器學(xué)習(xí)理論 (2. Learn Machine Learning Theory)
As I mentioned before, Machine Learning is rooted in Statistics, Calculus and Linear Algebra and hence you do not need to be able to code in order to understand and learn Machine Learning concepts. The Machine Learning course on coursera.com taught by Andrew Ng is an absolute gem in my opinion. The course is old and uses Matlab over Python but the way the concepts are introduced and explained is very relevant, and will prep you well. For a complete newbie like myself, it was extremely frustrating at times but I am grateful now that I completed the course even though I didn’t fully understand some of the topics at the time. I find myself referring to material in the course all the time even while preparing for the TensorFlow Developer Exam.
如前所述,機器學(xué)習(xí)植根于統(tǒng)計,微積分和線性代數(shù),因此您無需為了理解和學(xué)習(xí)機器學(xué)習(xí)概念而進行編碼。 在我看來, Coursera.com上的機器學(xué)習(xí)課程由Andrew Ng教授,絕對是一門瑰寶。 該課程雖然很老,并且在Python上使用Matlab,但是引入和解釋概念的方式非常相關(guān),可以為您做好準備。 對于像我這樣的完整新手,有時會感到非常沮喪,但是即使我當時還不完全了解某些主題,我也很高興能完成本課程。 即使在準備TensorFlow開發(fā)人員考試時,我也總是在參考課程中的內(nèi)容。
Link: Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera
鏈接: Coursera | 來自頂尖教育家的在線課程和資格證書。 免費加入| Coursera
Note: This course can be taken even before learning Python, but I would recommend learning Python first so that you can practice it while learning Machine Learning concepts.
注意:本課程甚至可以在學(xué)習(xí)Python之前進行,但是我建議您首先學(xué)習(xí)Python,以便您可以在學(xué)習(xí)機器學(xué)習(xí)概念時進行實踐。
3.學(xué)習(xí)數(shù)據(jù)科學(xué)圖書館 (3. Learn Data Science Libraries)
There are specific libraries within Python that make Data Science related tasks much simpler and efficient. Some of these libraries are Pandas (data manipulation and analysis), Numpy (support for multi-dimensional arrays and matrices), Matplotlib (plotting) and Scikitlearn (creating ML models). There are countless resources available online, here are some of the ones I used -
Python中有特定的庫,這些庫使與數(shù)據(jù)科學(xué)相關(guān)的任務(wù)更加簡單和高效。 這些庫中有一些是Pandas(數(shù)據(jù)處理和分析),Numpy(支持多維數(shù)組和矩陣),Matplotlib(繪圖)和Scikitlearn(創(chuàng)建ML模型)。 網(wǎng)上有無數(shù)可用資源,以下是我使用過的一些資源-
- Pandas — I went over a lot of videos, tutorials and even audited a certificate course. This YouTube playlist by codebasics is hands down one the best resources on the internet. 熊貓-我瀏覽了許多視頻,教程,甚至審核了證書課程。 這個基于codebasics的YouTube播放列表是互聯(lián)網(wǎng)上最好的資源之一。
Link: Pandas Tutorial (Data Analysis In Python)
鏈接: Pandas教程(Python中的數(shù)據(jù)分析)
- Numpy — As usual freeCodeCamp.org for the win!! - Numpy —像往常一樣免費獲勝! 
Link: Python NumPy Tutorial for Beginners
鏈接: Python NumPy初學(xué)者教程
- Matplotlib — This particular playlist on YouTube is easy to follow and explains tricky topics very well. Matplotlib-YouTube上的此特定播放列表易于遵循,并且很好地解釋了棘手的主題。
Link: Matplotlib Tutorial Series — Graphing in Python
鏈接: Matplotlib教程系列— Python圖形
- Scikitlearn — I took a course offered on udemy.com which covered almost all ML model and explained it’s implementation using real real world data sets. There is also a free 3 hour long tutorial on YouTube which can be found here. - Scikitlearn-我參加了udemy.com上提供的一門課程,該課程涵蓋了幾乎所有的ML模型,并解釋了它是使用真實世界的數(shù)據(jù)集實現(xiàn)的。 YouTube上還有一個3小時免費的教程,可以在這里找到。 
Link: Machine Learning A-Z (Python & R in Data Science Course)
鏈接: 機器學(xué)習(xí)AZ(數(shù)據(jù)科學(xué)課程中的Python和R)
4.深度學(xué)習(xí)理論 (4. Deep Learning Theory)
At this point, it is safe to say that you know most of the things you need to know to become a successful Data Scientist, except Deep Learning. DL is complicated enough that it requires a separate course and even a separate library to implement it. The Machine Learning course by Andrew Ng on Coursera mentions Neural Networks and Deep Learning but there is much more to it than covered in that particular course and so Andrew Ng made another course that just goes deeper into Neural Networks and Deep Learning. Deeplearning.ai created a specialization which consists of 5 courses that cover different topics such as Convolutional Neural Networks, Hyperparameter Tuning, Sequence Models and more. This course focuses on the theory and the under-the-hood working of different Neural Network models. I believe that completing this course is essential even though you don’t absolutely need to in order to successfully build and deploy deep learning models. However, it makes your life much simpler when you have to tune a model or create a model from scratch in TensorFlow.
在這一點上,可以肯定地說,除了深度學(xué)習(xí)之外,您已經(jīng)了解成為一名成功的數(shù)據(jù)科學(xué)家所需的大多數(shù)知識。 DL非常復(fù)雜,因此需要單獨的課程,甚至需要單獨的庫來實現(xiàn)。 吳安德(Andrew Ng)在Coursera上的機器學(xué)習(xí)課程提到了神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí),但是它所涉及的內(nèi)容遠遠超出了該特定課程,因此吳安德(Andrew Ng)開設(shè)了另一門課程,它更深入地介紹了神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)。 Deeplearning.ai創(chuàng)建了一個由5門課程組成的專業(yè)課程,涵蓋了不同主題,例如卷積神經(jīng)網(wǎng)絡(luò),超參數(shù)調(diào)整,序列模型等。 本課程側(cè)重于不同神經(jīng)網(wǎng)絡(luò)模型的理論和后臺工作。 我相信,即使您并非一定要成功構(gòu)建和部署深度學(xué)習(xí)模型,也必須完成本課程。 但是,當您必須在TensorFlow中調(diào)整模型或從頭開始創(chuàng)建模型時,它會使您的工作變得更加簡單。
Link: Deep Learning Specialization
鏈接: 深度學(xué)習(xí)專業(yè)化
Note: This course can be audited for free.
注意:本課程可以免費審核。
I wrote an article which explains the inner workings of a Deep Neural Network by practical implementation and can be found here
我寫了一篇文章,通過實際實現(xiàn)解釋了深度神經(jīng)網(wǎng)絡(luò)的內(nèi)部工作原理,可以在這里找到
5. TensorFlow (5. TensorFlow)
TensorFlow is a free and open-source software library used for machine learning applications such as neural networks. Other similar libraries are PyTorch and Theano, but I decided to go forward with TensorFlow as it is supposedly much better for production models and scalability especially since Keras is now completely integrated into TensorFlow. The people at Deeplearning.ai have released another specialization on Coursera which is a continuation of the Deep Learning course mentioned above. It uses the concepts taught in the DL course and implements them using TensorFlow. Another reason I chose to take the TensorFlow in Practice Specialization was that it covered all the pre-requisites required for the TensorFlow Developer Certification Exam by Google.
TensorFlow是一個免費的開源軟件庫,用于機器學(xué)習(xí)應(yīng)用程序(例如神經(jīng)網(wǎng)絡(luò))。 其他類似的庫是PyTorch和Theano,但我決定繼續(xù)使用TensorFlow,因為它對于生產(chǎn)模型和可伸縮性據(jù)稱要好得多,尤其是因為Keras現(xiàn)在已完全集成到TensorFlow中。 Deeplearning.ai上的人員已經(jīng)發(fā)布了Coursera上的另一個專業(yè)化課程,這是上述深度學(xué)習(xí)課程的延續(xù)。 它使用DL課程中講授的概念,并使用TensorFlow實施它們。 我選擇參加TensorFlow實踐專業(yè)化的另一個原因是,它涵蓋了Google TensorFlow開發(fā)人員認證考試的所有先決條件。
Link: TensorFlow in Practice
鏈接: TensorFlow實踐
DO I NEED TO TAKE THE TensorFlow DEVELOPERS EXAM?
我需要參加TensorFlow開發(fā)人員考試嗎?
This particular certificate exam is fairly new, about 5 months old at this point in time, and thus it is not certain right now how valuable it is going to be in the industry with regards to improving job prospects. Coming from a non-coding background this exam acted as a way to validate my skills in Deep Learning.
這項特殊的證書考試還很新,大約五個月之久,因此目前尚不確定它在改善工作前景方面在行業(yè)中有多有價值。 來自非編碼背景,此考試是一種驗證我的深度學(xué)習(xí)技能的方法。
This exam needs a certain level of preparation and coding ability to be able to even attempt it successfully. More than anything else it gave me a set-in-stone goal and acted as motivation to get through all the courses.
該考試需要一定水平的準備和編碼能力,才能成功嘗試。 最重要的是,它給了我一個堅定的目標,并成為我完成所有課程的動力。
Here is a great article talking about the exam in detail.
這是一篇很棒的文章,詳細討論了考試。
Image by Author圖片作者These are the steps I followed and I intend to continue learning. There is still a lot more to learn especially since Data Science is such a rapidly developing field.
這些是我遵循的步驟,我打算繼續(xù)學(xué)習(xí)。 特別是因為數(shù)據(jù)科學(xué)是一個發(fā)展Swift的領(lǐng)域,所以還有很多東西要學(xué)習(xí)。
翻譯自: https://towardsdatascience.com/from-a-complete-newbie-to-passing-the-tensorflow-developer-certificate-exam-d919e1e5a0f3
總結(jié)
以上是生活随笔為你收集整理的从完整的新手到通过TensorFlow开发人员证书考试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 女人梦到抓了好多大鱼
- 下一篇: 做梦梦到抱男孩子是什么意思
