一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

前情提要

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

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

Dl4j例子鏈接:

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

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

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

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

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

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

準(zhǔn)備訓(xùn)練數(shù)據(jù)真心難

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

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

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

訓(xùn)練

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

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

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

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

順利完成!

兩種模型經(jīng)過嚴(yán)格的測(cè)試后,都成功進(jìn)入了我們的產(chǎn)品線。在這一步,團(tuán)隊(duì)成員的任務(wù)是構(gòu)建Java wrapper庫。這樣一來,我們就可以把模型繁復(fù)的細(xì)節(jié)隱藏起來。在使用時(shí),我們只需輸入圖片,這個(gè)wrapper庫就會(huì)輸出一個(gè)概率 張量,也就是模型在單個(gè)圖像上預(yù)測(cè)的結(jié)果數(shù)組。我也參與了這一過程,因?yàn)槲抑暗囊恍懘a經(jīng)驗(yàn)有用武之地。

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

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

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

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

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

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

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

因此,我們必須不斷改進(jìn)模型,并且永遠(yuǎn)得不到一個(gè)一勞永逸的模型。其實(shí)還挺有趣的。

因?yàn)槲冶救酥饕P(guān)注移動(dòng)開發(fā),所以我甚至不確定自己有資格被稱為機(jī)器學(xué)習(xí)的新手。然而,通過與數(shù)據(jù)科學(xué)家的合作,我在今年成功上線了一個(gè)機(jī)器學(xué)習(xí)模型?;叵肫饋?,相當(dāng)激動(dòng)呢!

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

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

    招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51

    嵌入式軟件工程師就業(yè)好不好?

    嵌入式軟件工程師就業(yè)好不好?會(huì)不會(huì)越老越吃香?今天一起來看看。 首先看下市場(chǎng)需求。 隨著物聯(lián)網(wǎng)、人工智能、5G等前沿技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的應(yīng)用領(lǐng)域不斷擴(kuò)大,從智能家居、汽車電子到工業(yè)自動(dòng)化
    發(fā)表于 02-20 10:19

    如何成為嵌入式開發(fā)工程師?

    如何成為嵌入式開發(fā)工程師? 成為嵌入式開發(fā)工程師通常需要掌握系列技能和知識(shí),并且在實(shí)踐中不斷積累經(jīng)驗(yàn)。以下是些基本步驟和建議: 1. 基礎(chǔ)教育:- 獲取電子
    發(fā)表于 02-19 10:39

    ADC08D500要一起工作做Interleaving的話,需要在ADC CLK Input端各接個(gè)Delay Line IC對(duì)嗎?

    目前我們有個(gè)問題想請(qǐng)教,如果我們有兩顆ADC08D500要一起工作做Interleaving的話,需要在ADC CLK Input端各接個(gè)Delay Line IC對(duì)嗎?
    發(fā)表于 12-12 08:39

    使用MATLAB培養(yǎng)醫(yī)療人工智能領(lǐng)導(dǎo)者和增強(qiáng)工程課程

    全球各地的高校都在使用 MATLAB 和 Simulink 開展教學(xué)與科研,幫助未來的工程師科學(xué)家掌握未來世界工程項(xiàng)目與科學(xué)研究所要求的重要能力。讓我們
    的頭像 發(fā)表于 10-31 16:37 ?710次閱讀

    AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第4章-AI與生命科學(xué)讀后感

    了傳統(tǒng)學(xué)科界限,使得科學(xué)家們能夠從更加全面和深入的角度理解生命的奧秘。同時(shí),AI技術(shù)的引入也催生了種全新的科學(xué)研究范式,即數(shù)據(jù)驅(qū)動(dòng)的研究范式,這種范式強(qiáng)調(diào)從大量
    發(fā)表于 10-14 09:21

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    邏輯工程師和 FPGA 原型驗(yàn)證工程師工作重點(diǎn)和職責(zé)上存在定的區(qū)別: FPGA 算法工程師: 主要關(guān)注算法的設(shè)計(jì)和優(yōu)化,以在 FPGA
    發(fā)表于 09-23 18:26