作者 | Richmond Alake
譯者 | 彎月,責編 | 郭芮
頭圖 | CSDN 下載自視覺中國
以下為譯文:
我寫這篇文章的目的是為了向那些沒有接觸過機器學習行業的人們介紹一下我作為計算機視覺工程師第一個月以來的體驗,希望這些內部信息能夠讓你們在做職業選擇時有所啟發。
但是請記住,本文只是我的個人體驗,並不代表整個行業。
我將在本文中探討以下內容:
在這一個月裡我的內心充滿了恐懼視覺工程師的研究要求為什麼研究很重要哪些技術有助於以機器學習為中心的工作取得成功
恐懼與責任
老實說,我在惴惴不安中度過了第一個月。這並不是我的第一份正式工作,在成為機器學習/計算機視覺工程師之前,我曾做過三年半的Web開發。
但這次的感覺有很大的不同。我感到恐懼的原因有以下幾種:
我負責與公司產品相關的所有計算機視覺工作我們團隊非常信任我的各項決定恐懼不一定是一件壞事,我用恐懼武裝自己,迫使自己將工作做到盡善盡美,並在需要時給予100%的回報。
研究
作為公司的首位以機器學習為中心的員工,大家希望我提出最恰當的工作流程。
其中包括許多研究工作。
作為一名機器學習工程師,你必須理解各個發表論文中提及的最新技術的關鍵細節。
實現技巧對工程師至關重要,但是你必須成為該領域的專家,才能解釋清楚機器學習模型的工作原理,或為什麼選擇其中一種方法而捨棄其他方法。
在這一個月裡,我閱讀了大量有關標準計算機視覺問題解決方案的研究論文,例如姿態估計、語義分割、對象檢測等等。
技術
我們公司主要的產品以iOS移動應用的形式呈現。
而我沒有接觸過開發iOS移動應用的經驗,因此在這一個月裡我不得不熟悉Xcode(開發行動應用程式的IDE)以及Swift(蘋果的移動開發程式語言)。
很多人可能不太了解,其實一名優秀的機器學習工程師也必須掌握軟體開發的技術。
機器學習工程師的工作不僅限於Jupyter Notebook和Python腳本,而且還需要使用新的程式語言來構建網站或移動應用,這是一個非常高的要求。
每天,我都需要交替使用Swift、Python和JavaScript來完成各種不同的任務。
其中的關鍵並不是要掌握大量程式語言,而是需要具備掌握大多數程式語言基礎知識的能力。
學習面向對象編程(OOP)是一個不錯的起點。
通常,從一種程式語言中學到的知識在其他語言中也通用。
硬體
在我的個人項目中,一般我會使用Nividia Geforce GTX 1650來訓練大多數機器學習模型。但這個GPU遠遠比不上訓練最新模型所需的硬體規範。
在這一個月裡,我的任務是總結出公司應該購買的GPU工作站技術規範。
為了選擇合適的硬體組件,我需要預見未來幾個月甚至幾年我將要訓練的模型類型。
為了做出正確的決定,我不得不做大量的研究工作,搞清楚最新的研究論文採用了哪些硬體規格來訓練模型。
同樣,我還需要研究能夠支持穩定工作站的其他硬體組件。
我考慮了以下各個方面:
冷卻系統主板和處理器電源容量GPU插槽以及其他……
文檔記錄
軟體的文檔記錄過程冗長、乏味且無聊。但是將商定的技術方法全部記錄下來至關重要。
我們必須記錄採取的每項決定和方法,以方便告知團隊成員和後來的新人。
在第一個月裡,我在記錄文檔上了大約12個小時,雖然很沒意思,但非常有必要。
我記錄的內容包括:
記錄推進機器學習項目時採用的流程研究論文的摘要,方便大家快速消化重要資料關鍵項目以及軟體解決方案的實現方法GPU工作站硬體規格比較代碼內文檔,說明實現代碼的原因和邏輯各個崗位都有很多需要記錄的領域。每周都應該花費至少2個小時來專門處理文檔。
喜歡這份工作
作為公司正式的計算機視覺工程師,我在第一個月裡學習了很多有關如何應用機器學習技術的見解。
我發現,許多人可能不知道機器學習模型並不是最終產品。機器學習本身只是軟體工程中的一個環節;只有將我們的研究成果嵌入到軟體系統中,才能以創新的方式執行任務。
展望未來,第一個月的工作讓我意識到我很喜歡機器學習能夠帶來的創造性輸出。
朝著創新的目標努力可以讓平凡的模型實現、調試以及訓練任務少些無聊。
總結
在第一個月中,我實現了以下目標:
為計算機視覺的實現過程設定標準學習一種新的程式語言提供用於構建公司GPU工作站的硬體規範學習計算機視覺技術的實現技術,例如姿態估計、手勢識別和語義分割等學習TensorFlow和TensorFlow Lite在接下來的幾個月中,我將探索並實現更多最新的解決方案。希望在三個月後,我能在這個崗位上更上一層樓。
原文:https://towardsdatascience.com/my-first-month-as-a-computer-vision-engineer-5813574d394a
本文為 CSDN 翻譯,轉載請註明來源出處。