91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件工程師和數(shù)據(jù)科學家一起工作時,會擦出什么火花呢?

電子工程師 ? 來源:lq ? 2019-01-06 11:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟件工程師和數(shù)據(jù)科學家一起工作時,會擦出什么火花呢?

作為Java / Kotlin開發(fā)人員,一位名叫Ben Danial的小哥為我們講述了他與數(shù)據(jù)科學家合作的有趣經(jīng)歷。

在一年中,這位小哥從零開始學習機器學習,和數(shù)據(jù)科學家不斷交流合作,一起碼出了一個機器學習模型的原型,并成功把這個模型做上線。真是成就滿滿呢!

前情提要

大家好,我叫Ben Daniel,是一名安卓工程師。2017年末,我開始對機器學習領(lǐng)域產(chǎn)生興趣。機器學習這個領(lǐng)域充滿了有趣的挑戰(zhàn),因此也就需要大量的學習。今天,我就給大家講述我和我司數(shù)據(jù)科學家一起攻克機器學習難題的經(jīng)歷。

我還記得,我曾試圖解決我們的某個應(yīng)用程序中出現(xiàn)的圖像分類問題。我們需要根據(jù)一組規(guī)則區(qū)分有效和無效圖像。于是我從深度學習領(lǐng)域中修改了dl4j這個例子,并試圖用它來處理分類任務(wù)。雖然結(jié)果不夠理想,但是我的心態(tài)還不錯。畢竟第一次嘗試嘛。

Dl4j例子鏈接:

https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/convolution/AnimalsClassification.java

由于精度和最終模型的大小不符,我使用dl4j代碼的方法是不可取的。面向移動設(shè)備,我們需要一個文件大小緊湊的模型,很遺憾,這個功能無法實現(xiàn)。

數(shù)據(jù)科學家來啦

正巧,這個時候,我們聘請了一位數(shù)據(jù)科學家,他帶來了許多有趣的經(jīng)驗,也教會我們很多。我逐漸發(fā)現(xiàn),大多數(shù)機器學習問題都可以通過Python解決,而且Python社區(qū)中已經(jīng)有了對機器學習的巨大支持。雖然不太情愿,但我還是開始了Python的學習。

我從小型的機器學習課程開始學起。與此同時,我的其他團隊成員也很感興趣,并一起加入了學習的大軍。新入職的數(shù)據(jù)科學家向我們介紹了Jupyter notebook和云機器學習引擎。我們通過使用花卉數(shù)據(jù)集示例嘗試圖像分類,并很快沉迷其中。

在團隊中的每個人都接受了培訓和模型的基礎(chǔ)知識后,我們開始處理文章開始提到的遺留問題。作為一名團隊成員,我主要專注于兩項任務(wù):圖像分類問題和圖像分割問題。之后,這兩個問題都被我們用卷積神經(jīng)網(wǎng)絡(luò)(CNN)解決了。

準備訓練數(shù)據(jù)真心難

這兩項任務(wù)(圖像分類問題和圖像分割問題)都需要大量的訓練數(shù)據(jù)。我有兩個消息——好消息是我們的確有很多數(shù)據(jù)。壞消息是它們要么是未分類要么是未注釋。我終于明白了機器學習專家們所說的,機器學習項目中大部分時間將用來準備訓練數(shù)據(jù)而不是訓練模型本身。

對于圖像分類分類問題,我們需要將數(shù)十萬個圖像排列成不同的類。這是一項繁瑣的工作。我不得不調(diào)用我的Java Swing技能,來構(gòu)建使這項任務(wù)更容易的GUI,但總的來說,標記數(shù)據(jù)這個任務(wù)真的很單調(diào),很無聊。

分割問題就要復雜一些了。我們很幸運地發(fā)現(xiàn)了一些擅長分割的模型,但不幸的是,這些模型太占內(nèi)存了。我們還希望該模型能夠在規(guī)格非常低的安卓設(shè)備上運行。這時,數(shù)據(jù)科學家建議我們使用龐大的模型來生成數(shù)據(jù),用以構(gòu)建我們自己的移動網(wǎng)絡(luò)。

訓練

我們最終切換到了AWS Deep Learning AMI。訓練圖像分割模型的過程完全由我們的數(shù)據(jù)科學家處理,我只需要站在他身邊,做筆記嘻嘻:)。

(其實我不在記筆記,哈哈哈哈哈哈哈哈)

訓練這個模型是一項計算密集型任務(wù),需要足夠GPURAM。我們便采用了GPU和RAM,因此很快就完成了模型訓練。如果不是這樣的話,我們可能要花費數(shù)月來訓練這個模型。

我負責了圖像分類模型的訓練。不過,我并沒有在云上訓練,而是只在我的Macbook pro上訓練。這是因為,我只是訓練神經(jīng)網(wǎng)絡(luò)的最后一層,而不是我們?yōu)榉指钅P退龅娜W(wǎng)絡(luò)訓練。

順利完成!

兩種模型經(jīng)過嚴格的測試后,都成功進入了我們的產(chǎn)品線。在這一步,團隊成員的任務(wù)是構(gòu)建Java wrapper庫。這樣一來,我們就可以把模型繁復的細節(jié)隱藏起來。在使用時,我們只需輸入圖片,這個wrapper庫就會輸出一個概率 張量,也就是模型在單個圖像上預測的結(jié)果數(shù)組。我也參與了這一過程,因為我之前的一些寫碼經(jīng)驗有用武之地。

人生處處是挑戰(zhàn)

“挑戰(zhàn)讓生活變得有趣,克服挑戰(zhàn)則讓生活變得有意義”。

在這個項目中,我面臨的最大挑戰(zhàn)是嘗試使用Bazel從源代碼構(gòu)建用于32位系統(tǒng)的Tensorflow Java庫。整個過程實在是跌跌撞撞。

我也遇到過其他挑戰(zhàn),比如,將Python解決方案轉(zhuǎn)換為Java。由于Python已經(jīng)內(nèi)置了對數(shù)據(jù)科學任務(wù)的支持,因此Python中的代碼感覺更加簡潔。每次在嘗試逐字翻譯命令時,我都會抓耳撓腮。比如,縮放2D陣列并將其作為透明層添加到圖像中這一步就異常艱難。不過我們最終把這事兒搞定了!

現(xiàn)在我們上線的模型表現(xiàn)很好,但是當它們產(chǎn)生錯誤的結(jié)果時,那些錯誤的結(jié)果是荒謬無比的。

它讓我想起了我之前讀過的一句話:

“...如果沒有源源不斷的新數(shù)據(jù),模型質(zhì)量會迅速降低。這是著名的概念漂移(concept shift),這意味著,隨著時間的推移,靜態(tài)機器學習模型提供的預測變得不那么準確,并且不太有用。在某些情況下,甚至可能在幾天內(nèi)發(fā)生。 - David Talby

因此,我們必須不斷改進模型,并且永遠得不到一個一勞永逸的模型。其實還挺有趣的。

因為我本人主要關(guān)注移動開發(fā),所以我甚至不確定自己有資格被稱為機器學習的新手。然而,通過與數(shù)據(jù)科學家的合作,我在今年成功上線了一個機器學習模型?;叵肫饋恚喈敿幽?!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:業(yè)界 | 當軟件工程師第一次與數(shù)據(jù)科學家一起工作……

文章出處:【微信號:BigDataDigest,微信公眾號:大數(shù)據(jù)文摘】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是BSP工程師

    、嵌入式系統(tǒng) 要明白什么是嵌入式軟件工程師,我們先從嵌入式系統(tǒng)(嵌入式設(shè)備)說起。維基百科上對嵌入式系統(tǒng)的定義如下: 嵌入式系統(tǒng)(Embedded System),是種嵌入機械或電氣系統(tǒng)內(nèi)部
    發(fā)表于 01-13 06:54

    思必馳首席科學家俞凱教授當選2026年度IEEE Fellow

    日前,全球最大的專業(yè)技術(shù)組織國際電氣電子工程師協(xié)會(The Institute of Electrical and Electronics Engineers, IEEE)公布了2026年度IEEE Fellow(士)名單,上海交通大學特聘教授、思必馳聯(lián)合創(chuàng)始人、首席
    的頭像 發(fā)表于 12-12 11:36 ?895次閱讀

    中興通訊崔麗受邀出席2025騰沖科學家論壇

    近日,“2025騰沖科學家論壇”在云南啟幕。本屆論壇以“科學·AI改變世界”為主題,匯聚包括諾貝爾獎、圖靈獎、菲爾茲獎得主在內(nèi)的國際頂尖科學家,以及百余位兩院院士、高校校長、科技精英與產(chǎn)業(yè)領(lǐng)袖,共話
    的頭像 發(fā)表于 12-09 11:36 ?689次閱讀

    工程師變身AI“指揮者”,吉利與阿里云的軟件開發(fā)變革實驗

    1975年,IBM工程師Fred Brooks在《人月神話》中提出軟件工程的核心難題:隨著系統(tǒng)規(guī)模和團隊規(guī)模增長,復雜度呈指數(shù)級上升。他的結(jié)論是, 軟件工程“沒有銀彈”,沒有單
    的頭像 發(fā)表于 11-13 10:43 ?437次閱讀
    <b class='flag-5'>工程師</b>變身AI“指揮者”,吉利與阿里云的<b class='flag-5'>軟件</b>開發(fā)變革實驗

    國際類腦計算科學家Yulia Sandamirskaya教授加盟時識科技

    近日,國際類腦計算與神經(jīng)形態(tài)機器人領(lǐng)域知名科學家Yulia Sandamirskaya 教授,作為科學家顧問正式加入時識科技(SynSense)。
    的頭像 發(fā)表于 10-13 13:50 ?862次閱讀

    學習物聯(lián)網(wǎng)可以做什么工作?

    健康、智能制造等領(lǐng)域。以下是些常見的職業(yè)方向: 物聯(lián)網(wǎng)工程師:從事物聯(lián)網(wǎng)系統(tǒng)的設(shè)計、開發(fā)、測試、維護和升級等工作,包括傳感器、無線通信、云計算、大數(shù)據(jù)等技術(shù)的應(yīng)用。   嵌入式
    發(fā)表于 10-11 16:40

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+AI的科學應(yīng)用

    AI被賦予了人的智能,科學家們希望在沒有人類的引導下,AI自主的提出科學假設(shè),諾貝爾獎級別的假設(shè)哦。 AI驅(qū)動科學被認為是科學發(fā)現(xiàn)的第五個范式了,與實驗
    發(fā)表于 09-17 11:45

    半導體工程師升級指南:從 “懂工藝” 到 “玩數(shù)據(jù)”,你只差這步!

    分析,懂行的工程師卻供不應(yīng)求。PDF如何破解這困境?關(guān)鍵在于賦能制造業(yè)領(lǐng)域?qū)<肄D(zhuǎn)型為“公民數(shù)據(jù)科學家(CitizenDataScientists,縮寫CDS)”
    的頭像 發(fā)表于 08-20 09:32 ?1688次閱讀
    半導體<b class='flag-5'>工程師</b>升級指南:從 “懂工藝” 到 “玩<b class='flag-5'>數(shù)據(jù)</b>”,你只差這<b class='flag-5'>一</b>步!

    數(shù)字信號處理,科學家工程師指南(664頁)

    數(shù)字信號處理入門書籍,非常全面,清晰易懂 獲取完整文檔資料可下載附件哦?。。?! 如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持下哦~
    發(fā)表于 07-11 14:59

    CY7C65215使用IOS中的USB CDC UART類驅(qū)動程序是否可以與IOS一起工作?

    我知道 CY7C65215 沒有適用于 IOS 的驅(qū)動程序。但是,使用 IOS 中的 USB CDC UART 類驅(qū)動程序是否可以與 IOS 一起工作? 我們正在考慮在我們的設(shè)備中安裝 CY7C65215 而不是 FTDI USB-COM,但我們擔心失去 IOS 支持。
    發(fā)表于 04-30 07:57

    工程師經(jīng)驗分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術(shù)

    控制算法理論和實踐有過推導和大量的研發(fā)調(diào)試經(jīng)驗。 ? 工作經(jīng)歷: 華為技術(shù)有限公司---芯片驗證工程師 上海問問網(wǎng)絡(luò)科技有限公司---電機驅(qū)動軟件工程師 ? ? ? 社區(qū)訪談: 社區(qū)小助手:可以分享
    的頭像 發(fā)表于 04-15 15:58 ?1426次閱讀
    <b class='flag-5'>工程師</b>經(jīng)驗分享:社區(qū)之星  趙云 沉著穩(wěn)定才能做好技術(shù)

    如何成為名嵌入式軟件工程師?

    如何成為名嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負責開發(fā)運行在特定硬件平臺上的軟件,這些軟件通常與硬件緊密集
    發(fā)表于 04-15 14:37