丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給覃超
發(fā)送

1

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

本文作者: 覃超 2017-01-07 11:19
導(dǎo)語(yǔ):扎克伯格的編程水平到底怎么樣?來(lái)看Facebook早期員工、資深軟件工程師覃超對(duì)Jarvis代碼code review

雷鋒網(wǎng)按:本文作者覃超,前Facebook軟件工程師,現(xiàn)為FREES資本技術(shù)合伙人。

文章來(lái)自@覃超 的知乎回答:如何評(píng)價(jià)扎克伯格自己寫(xiě)的 Jarvis AI? 此問(wèn)題緣起于扎克伯格2016年12月19日發(fā)布的文章Building Jarvis,小扎稱(chēng)自己打造了一個(gè)像鋼鐵俠里 Jarvis 那樣的家庭AI助手。雷鋒網(wǎng)已在第一時(shí)間翻譯出這篇筆記:《扎克伯格開(kāi)發(fā)筆記:打造Jarvis的日子,我慶幸自己從未停止過(guò)編程》,建議沒(méi)看過(guò)的讀者可以先瀏覽一下。


Zuck原貼

Jarvis demo視頻:Jarvis From the Perspective of Priscilla Chan (is different)

帖子頭圖是一段 Jarvis 的代碼。作為一個(gè)技術(shù)流作者,我在最后的附錄解讀那段代碼:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

文章開(kāi)頭Zuck先敘述了自己編寫(xiě)Jarvis的心路歷程:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

這個(gè)技術(shù)架構(gòu)如下:一個(gè) Jarvis server 在服務(wù)端跑,上面主要是做語(yǔ)言處理、語(yǔ)音識(shí)別和人臉識(shí)別     (Zuck家的大門(mén)需要用)。

輸入端為各種家用硬件,也就是上圖中左邊那一列,依次是:

1. CrestronCrestron Home Automation for SmartHome 此為美國(guó)最著名的智能家居控制器的廠(chǎng)商,專(zhuān)門(mén)提供一整套硬件和技術(shù)方案讓愛(ài)折騰的老美實(shí)現(xiàn)這些功能:

"Alexa, turn on the kitchen lights"

"Alexa, raise the living room lights by fifty percent"

"Alexa, set the basement thermostat to 70 degrees"

黑人臉 -_- 這也能解釋為什么在網(wǎng)上看到的智能家庭的視頻來(lái)來(lái)回回都是這幾個(gè)控制指令。

2. Lights:燈

3. Thermostat:調(diào)溫度的

4. Doors:門(mén)和門(mén)禁系統(tǒng)

5. Sonos:老美喜歡的智能音響品牌:Sonos PLAY:1 Compact Wireless Smart Speaker for Streaming Music (White)

6. Spotify:美國(guó)版的網(wǎng)易云音樂(lè)。Spotify由Sean Parker創(chuàng)立(前Facebook CEO和聯(lián)合創(chuàng)業(yè)人之一;也就是在《社交網(wǎng)絡(luò)》電影里抽大麻的那個(gè)。注意:大麻在美國(guó)一些州已經(jīng)合法,另外它的成癮性和危害都小于香煙),Spotify和Facebook關(guān)系很好,在2011年深度集成在Facebook中。

7. Cameras:攝像頭

8. Toaster

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

老美耿直,早餐都吃的是toast,這個(gè)機(jī)器用來(lái)加熱它,然后涂點(diǎn)果醬和黃油,就是一頓豐盛的早餐。

9. T-shirt cannon:T恤加農(nóng)炮。很多讀者這時(shí)估計(jì)懵逼了,問(wèn):“小魔王同學(xué),你是不是說(shuō)錯(cuò)了?扎克伯格沒(méi)事在家里放一個(gè)加農(nóng)炮干嘛?” 對(duì)的,其實(shí)他的衣柜里安裝了一個(gè)T恤的發(fā)射器,可以直接把T恤噴射出來(lái),打到他的手里。

架構(gòu)圖里的右側(cè)為三個(gè)用戶(hù)系統(tǒng):messenger bot、語(yǔ)音app和門(mén)禁攝像頭。接下來(lái)小扎說(shuō)了他一步步是如何走過(guò)來(lái)的:

第一章:連接家里的家具設(shè)備。

這塊Zuck坦言做這個(gè)AI家庭系統(tǒng)比跑365英里的任務(wù)要稍微簡(jiǎn)單一些(至少少費(fèi)時(shí)),但是最麻煩的環(huán)節(jié)就是連接這些家里的各種設(shè)備。他甚至需要“逆向工程”一些硬件設(shè)備的API(比如燈和音響),使得可以通過(guò)程序來(lái)控制它們。Toaster換了一個(gè)1950年的硬件,另外Zuck還專(zhuān)門(mén)給Beast(zuck的狗)的喂食器以及T恤的彈射炮做了硬件的改動(dòng)。

由此可見(jiàn)以后IoT(物聯(lián)網(wǎng))的重要性和前景。

第二章:自然語(yǔ)言處理

分為兩部分:文字消息處理和語(yǔ)音處理。前者處理的難度是同義詞和上下文,而后做音樂(lè)控制的時(shí)候發(fā)現(xiàn)播放指令的處理更加麻煩,比如:

“播放周杰倫”:這句命令在處理的時(shí)候要判斷周杰倫到底是人還是歌名;另外Zuck的例子:

"Play someone like you", "Play someone like Adele",前者是歌名,后者則是進(jìn)行類(lèi)似風(fēng)格的歌曲推薦。Zuck通過(guò)不斷訓(xùn)練和加強(qiáng)Jarvis AI,使得它現(xiàn)在對(duì)于Zuck的歌曲喜好有記憶和認(rèn)知,所以Zuck一般直接說(shuō):“Play me some music”。Jarvis便直接開(kāi)始播放,另外Zuck有時(shí)心情不對(duì)的時(shí)候,想聽(tīng)輕音樂(lè),便說(shuō):“that's not light, play something light”,Jarvis自己換歌曲并且學(xué)習(xí)。

第三章:視覺(jué)和面部識(shí)別

人的大腦有1/3的部分專(zhuān)門(mén)用來(lái)做視覺(jué)處理,包括圖像、模式識(shí)別和追蹤。Zuck的房子門(mén)禁同樣也需要支持視覺(jué)和面部識(shí)別功能:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

這部分在A(yíng)I領(lǐng)域一直是發(fā)展前沿,所以有不少現(xiàn)成的model和開(kāi)源框架。Facebook之前就開(kāi)放了一套API來(lái)判斷這個(gè)圖片里是否有你fb好友,以及將面部位置可以從圖片中定位出來(lái)。

Zuck為了做智能門(mén)禁,在大門(mén)口裝了好幾個(gè)攝像頭,為了可以更好地捕捉人臉圖片。Jarvis系統(tǒng)24小時(shí)不斷進(jìn)行人臉探測(cè)和識(shí)別,當(dāng)有人且是Zuck好友的時(shí)候,給Zuck發(fā)消息詢(xún)問(wèn)是不是想見(jiàn)的人。

AI視覺(jué)還幫助Jarvis做其他事情,比如看Max(Zuck女兒)是否睡醒,如果醒了的話(huà),Jarvis邊自動(dòng)開(kāi)始播放Max喜歡的歌曲或者給Max上中文課(從小開(kāi)始學(xué)習(xí)中文 -_-)。另外借助視覺(jué)系統(tǒng),可以更加有效地知道家里的人的所在位置,這對(duì)于更好地執(zhí)行有上下文的指令有巨大幫助。比如當(dāng)有人說(shuō):“Turn on the lights”,肯定最佳的動(dòng)作是打開(kāi)此人所在位置的燈。

第四章:Messenger bot

老外現(xiàn)在喜歡用 bot,所以Zuck把各種操作指令都放在手機(jī)上,具體說(shuō)來(lái)是 Facebook messenger 的   bot上(類(lèi)似于Slack的bot或者微信的一個(gè)公眾號(hào))。于是Zuck只需要像這個(gè)公眾號(hào)發(fā)消息即可。如下圖:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

Zuck介紹用 messenger bot 開(kāi)發(fā)的各種便利之處,它比起做一個(gè)app來(lái)更輕,更容易跨平臺(tái),同時(shí)也不同處理push、啟動(dòng)、注冊(cè)等一系列繁瑣routine的事情。平時(shí)Zuck可以通過(guò)發(fā)文字或者語(yǔ)音消息(原文:audio clip,這個(gè)功能是小魔王我當(dāng)年親手做的~ :D),然后Jarvis AI將其發(fā)送到server上, 進(jìn)而開(kāi)始做文字或者語(yǔ)音處理,提煉出需要執(zhí)行的指令來(lái)操作Zuck家。同時(shí)Jarvis AI還會(huì)主動(dòng)發(fā)消息給Zuck,比如有人在門(mén)口時(shí),Jarvis會(huì)把照片和識(shí)別出的人的信息發(fā)給Zuck,讓他確認(rèn)是否是自己要見(jiàn)的人。

Zuck自己沒(méi)有料想到的是:平時(shí)和Jarvis的交流大部分都是通過(guò)文字信息;雖然開(kāi)始Zuck以為自己會(huì)是說(shuō)話(huà)為主,但是后來(lái)發(fā)現(xiàn)text更加方便更加能保護(hù)個(gè)人隱私,不打擾別人。這從一個(gè)側(cè)面也能反應(yīng)出來(lái)       voice message 在北美的messenger流行不起來(lái)的一個(gè)重要原因:隨著社會(huì)進(jìn)步,人會(huì)越來(lái)越重視隱私或是變得有些緘默。Zuck還透露不管是FB messenger還是whatsapp上也看出類(lèi)似的趨勢(shì):文本信息的消息數(shù)量遠(yuǎn)比語(yǔ)音消息增長(zhǎng)得快。這里給做AI的各位公司一個(gè)啟示:雖然現(xiàn)在語(yǔ)音識(shí)別仿佛是標(biāo)配,但是AI系統(tǒng)可能更加需要注意在文本處理上的成熟度,因?yàn)槿藗儠?huì)大量使用文本控制而不是之前設(shè)想的語(yǔ)音控制。雖然后者讓PM或者CEO覺(jué)得好像是更便捷更c(diǎn)ool的人機(jī)交互方式。

第五章:語(yǔ)音處理

Zuck當(dāng)然也做了語(yǔ)音識(shí)別的模塊來(lái)輔助控制 Jarvis:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

上圖中的指令就是控制衣柜中的“加農(nóng)炮”給自己發(fā)射體恤(具體可以參考后面的視頻)。這個(gè)app是   Zuck專(zhuān)門(mén)做的iOS app來(lái)進(jìn)行語(yǔ)音識(shí)別和理解的。之所以做一個(gè)全新的app,而不是用messenger bot,是因?yàn)樵趍essenger里打開(kāi)語(yǔ)音消息需要太多的步驟,有點(diǎn)繁瑣。而Zuck的使用場(chǎng)景是希望把手機(jī)放在桌上,自己可能干其他事,而手機(jī)一直在那里聽(tīng)著。這種使用方式有點(diǎn)類(lèi)似Amazon Echo:Amazon Echo - Amazon Official Site - Alexa-Enabled

Zuck說(shuō)之前開(kāi)發(fā)iOS還是在2012年,現(xiàn)在再次開(kāi)發(fā),他感受到整個(gè)ios和fb的toolchain的改進(jìn)巨大,語(yǔ)言和xcode的增強(qiáng)使得編程和做app的門(mén)檻大大降低。

通過(guò)開(kāi)發(fā)和使用這個(gè)voice app,zuck對(duì)于A(yíng)I和語(yǔ)音識(shí)別在產(chǎn)品上的思考:

  • 語(yǔ)音識(shí)別的算法在上下文和聯(lián)想方面需要加強(qiáng)得還不少;類(lèi)比人類(lèi)進(jìn)行語(yǔ)音識(shí)別的時(shí)候,不僅在聽(tīng)你當(dāng)前說(shuō)什么并記下來(lái),同時(shí)要時(shí)刻在預(yù)測(cè)你接下來(lái)準(zhǔn)備說(shuō)什么,大腦表現(xiàn)得非常自然而且高效。而計(jì)算機(jī),即使最近開(kāi)始使用RNN(recurrent neurol network)好了不少,但是依然有很大的提升空間;

  • 語(yǔ)音識(shí)別現(xiàn)在在理解人類(lèi)的支離片語(yǔ)上表現(xiàn)不佳,另外對(duì)于常規(guī)情況下使用的語(yǔ)音識(shí)別能力比較弱。大部分的系統(tǒng)都在做特別功能范圍(比如Google Search, Amazon Echo)內(nèi)的語(yǔ)音識(shí)別。

  • 語(yǔ)音的加入讓產(chǎn)品和人之間更加有情感交流,Zuck覺(jué)得這肯定是以后產(chǎn)品發(fā)展的方向。能用語(yǔ)音進(jìn)行交流之后,Zuck自己越用越覺(jué)得有意思,然后開(kāi)始改進(jìn)Jarvis,讓其變得更加幽默有趣。還加入了一些游戲和黑話(huà)給Jarvis。

  • 語(yǔ)音的識(shí)別和運(yùn)用方面,zuck認(rèn)為可以做的創(chuàng)業(yè)才剛剛開(kāi)始。(所以各位抓住機(jī)會(huì)!)

第六章:Facebook的工程師環(huán)境

這一段,Zuck說(shuō)自己雖然是CEO,但是從未停止過(guò)coding,但主要以個(gè)人項(xiàng)目為主。通過(guò)這次開(kāi)發(fā)        Jarvis,zuck又重新體會(huì)了一次整個(gè)FB的技術(shù)環(huán)境的魅力,就類(lèi)似于一個(gè)新入職的工程師一樣走完了整個(gè)bootcamp的過(guò)程。他說(shuō)不僅上手實(shí)踐AI和了解了最新AI方面的進(jìn)展,同時(shí)意外收獲了很多關(guān)于開(kāi)發(fā)技術(shù)方面的知識(shí)。Zuck贊賞FB的代碼非常有條不絮,另外在開(kāi)源上做得很好,甚至zuck在文章里親自列舉出 Jarvis上使用的開(kāi)源框架:

最后zuck歡迎開(kāi)發(fā)者都來(lái)使用下這些開(kāi)源庫(kù),來(lái)感受下AI最新發(fā)展的魅力。另外他一直堅(jiān)持內(nèi)部工具和技術(shù)的基礎(chǔ)設(shè)施對(duì)于一個(gè)互聯(lián)網(wǎng)公司的重要性,所以最后他說(shuō):“Building internal tools that make engineering more efficient is important to any technology company, but this is something we take especially seriously. So I want to give a shout out to everyone on our infra and tools teams that make this so good.” 所以這里可以看出,硅谷公司把技術(shù)部門(mén)真真切切地當(dāng)做是公司的重要資產(chǎn),去鼓勵(lì)去培養(yǎng);而國(guó)內(nèi)很多公司對(duì)于技術(shù)團(tuán)隊(duì),更多當(dāng)成是一種工具,甚至是開(kāi)支部門(mén)。所以各位想單純醉心于技術(shù)鉆研的人,早點(diǎn)去硅谷是一條最好的出路。

第七章:下一步

Zuck的文章到了這里,已經(jīng)進(jìn)行到了尾聲。Zuck說(shuō)雖然2016年的挑戰(zhàn)已經(jīng)結(jié)束,但是對(duì)于Jarvis的開(kāi)發(fā)和優(yōu)化會(huì)繼續(xù)。具體需要做:

  • 開(kāi)發(fā)Android下的語(yǔ)音識(shí)別app

  • 接入更多的室內(nèi)硬件和更多的應(yīng)用

  • 讓Jarvis擁有學(xué)習(xí)能力。Zuck原話(huà):“If I spent another year on this challenge, I'd focus more on learning how learning works.” 即希望教會(huì)Jarvis如何學(xué)習(xí),或者說(shuō)得更加酷炫:讓Jarvis學(xué)習(xí)如何學(xué)習(xí)。(小魔王補(bǔ)充:chunk it up,deliberate practicing,feedbacks,10000 hours theory!)

最后Zuck準(zhǔn)備再抽象一層自己的代碼,然后在明年將其開(kāi)源(接受小魔王覃超的進(jìn)一步code review :-D)

第八章:結(jié)論

關(guān)于結(jié)論這部分,Zuck原文相當(dāng)?shù)镁珶捛矣幸饬x,我實(shí)在覺(jué)得應(yīng)該把英文貼上來(lái),各位都能閱讀一下:

“Building Jarvis was an interesting intellectual challenge, and it gave me direct experience building AI tools in areas that are important for our future.

I've previously predicted that within 5-10 years we'll have AI systems that are more accurate than people for each of our senses -- vision, hearing, touch, etc, as well as things like language. It's impressive how powerful the state of the art for these tools is becoming, and this year makes me more confident in my prediction.

At the same time, we are still far off from understanding how learning works. Everything I did this year -- natural language, face recognition, speech recognition and so on -- are all variants of the same fundamental pattern recognition techniques. We know how to show a computer many examples of something so it can recognize it accurately, but we still do not know how to take an idea from one domain and apply it to something completely different. 

To put that in perspective, I spent about 100 hours building Jarvis this year, and now I have a pretty good system that understands me and can do lots of things. But even if I spent 1,000 more hours, I probably wouldn't be able to build a system that could learn completely new skills on its own -- unless I made some fundamental breakthrough in the state of AI along the way. 

In a way, AI is both closer and farther off than we imagine. AI is closer to being able to do more powerful things than most people expect -- driving cars, curing diseases, discovering planets, understanding media. Those will each have a great impact on the world, but we're still figuring out what real intelligence is.

Overall, this was a great challenge. These challenges have a way of teaching me more than I expected at the beginning. This year I thought I'd learn about AI, and I also learned about home automation and Facebook's internal technology too. That's what's so interesting about these challenges. Thanks for following along with this challenge and I'm looking forward to sharing next year's challenge in a few weeks.”

這里可以看出Zuck的執(zhí)行力以及實(shí)踐能力。一方面通過(guò)寫(xiě)Jarvis來(lái)親自學(xué)習(xí)了一下AI現(xiàn)在的最近進(jìn)展,另一方面這種第一手經(jīng)驗(yàn)很好地反饋回來(lái)讓他更加有信心來(lái)判斷以后5-10年AI和相關(guān)產(chǎn)品的發(fā)展方向。我覺(jué)得我自己以及中國(guó)的廣大創(chuàng)業(yè)者特別是投資人都應(yīng)該學(xué)習(xí)這種實(shí)干的態(tài)度,而不是停留在嘴皮上預(yù)測(cè)未來(lái)。

Zuck認(rèn)為計(jì)算機(jī)智能在某些領(lǐng)域做得已經(jīng)很好,但是最關(guān)鍵的“自學(xué)能力”和“舉一反三”能力幾乎沒(méi)有(原文:We know how to show a computer many examples of something so it can recognize it accurately, but we still do not know how to take an idea from one domain and apply it to something completely different.)。Zuck自己話(huà)了100個(gè)小時(shí)來(lái)做Jarvis,但是他認(rèn)為就算花1000個(gè)小時(shí),也無(wú)法讓機(jī)器能夠有自學(xué)能力,除非在人工智能領(lǐng)域可以有學(xué)術(shù)、科學(xué)上的重大突破。

從demo視頻里來(lái)看的話(huà),很多時(shí)候Jarvis感覺(jué)并不好用。但是畢竟能夠用messenger+聲音來(lái)控制自己的家庭設(shè)備是一件非??犰诺氖虑椤?/p>

---- 附帶圖片中代碼的解讀 ----

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

這段代碼是用PHP外加Facebook的FBT寫(xiě)就,總體邏輯:將異步task設(shè)置好(其中一個(gè)task就是做圖片的人臉識(shí)別),另外從AI API中取得并設(shè)置好config,最后調(diào)用接口并且等待結(jié)果。

其中代碼細(xì)節(jié):

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

從代碼邏輯來(lái)看,這應(yīng)該是Jarvis的源代碼。從代碼細(xì)節(jié)看,作者的水平還行,但也不夠完美??梢钥闯鲞壿嬊逦谴a功力不太夠 -_-。 這也合情合理,畢竟Zuck沒(méi)時(shí)間保持一個(gè)高頻次寫(xiě)代碼的狀態(tài),所以肯定是“三天不寫(xiě)手生”。舉例來(lái)說(shuō)(如果嚴(yán)格的code review的話(huà);哈哈!給Zuck做code review真是三生有幸!):

  1. 最開(kāi)始兩行:$task這個(gè)變量不需要,直接往 "image" => ... 這里灌即可;而且 $task 這個(gè)太泛的名字也沒(méi)有具體含義。要不就改成:$face_detect_task,當(dāng)然最好就直接放入map里算了。

  2. Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

    這兩句寫(xiě)得一般,看起來(lái)有點(diǎn)學(xué)生時(shí)代寫(xiě)大作業(yè)的代碼的風(fēng)格;同名變量反復(fù)使用,另外對(duì)于null的檢查不對(duì)稱(chēng)。

  3. Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

    看到這段代碼,我想很多程序員會(huì)哭笑不得。首先代碼邏輯有點(diǎn)hacky,初步判斷應(yīng)該是 JARVIS_FACEREC 沒(méi)來(lái)得及完成。。。所以趕鴨子上架暫時(shí)用 RC_MODEL 來(lái)頂上;畢竟馬上就Christmas和新年了,Zuck沒(méi)做完也要先趕在deadline之前發(fā)布嘛。注意!我覺(jué)得這個(gè)態(tài)度和做事方式才是對(duì)的, 不要拖,也不要等到完美的時(shí)候才發(fā)布,因?yàn)橐粋€(gè)項(xiàng)目一個(gè)作業(yè)永遠(yuǎn)都無(wú)法達(dá)到你想要的完美狀態(tài)。正如Zuck自己之前在Facebook里強(qiáng)調(diào):“Done is better than perfect!”

  4. Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

    idx是一個(gè)helper method,其實(shí)就等于 $api_config['detection_tier'],但是用idx的好處是如果 $api_config 為空,那么 idx 不會(huì)崩潰,而是返回null,而 $api_config['detection_tier'] 直接觸發(fā)異常。所以這里回頭看,Zuck的80行寫(xiě)得并不好,最好寫(xiě)成:$api_config = idx(api_config, 'facer'); 對(duì)了,idx還可以支持第三個(gè)參數(shù),就是默認(rèn)值;如果這個(gè)key在map中沒(méi)有的話(huà),就直接返回默認(rèn)值。

  5. Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

    這句是技術(shù)含量最高的一句。FaceDetectRequestConfig::gen,這里gen代表generator,由于歷史原因,F(xiàn)acebook的代碼用的是generator,所以異步操作就起名gen;但是這里用的是新的        resumable function;也就是 ::gen 返回一個(gè) awaitable object(類(lèi)似promise,如果你玩js或者其他語(yǔ)言),然后前面的await就將異步操作出發(fā)執(zhí)行,最后得到從 detection_tier 來(lái)的 config。具體關(guān)于 async & await,以及 resumable function 可以參考:http://meetingcpp.com/index.php/br/items/resumable-functions-async-and-await.html (這里PHP中的resumable function是Facebook自己做的語(yǔ)法加強(qiáng);C#里一直就有,而C++會(huì)在下一代的C++1y里引入 resumable    function)。

  6. print "Configured...\n" 這句話(huà)太萌,典型的學(xué)生項(xiàng)目代碼。

    類(lèi)似于: console.log(xxx) 或者 System.out.println("Configured...) 或 NSLog(@"Configured..."); 要是公司項(xiàng)目的代碼這么寫(xiě),估計(jì)要被tech lead直接罵死。

不過(guò)這里Zuck敢于自己動(dòng)手開(kāi)始寫(xiě)代碼,并且最后可以有一個(gè)prototype上線(xiàn)開(kāi)始能夠使用,已經(jīng)非常厲害了(畢竟很多CEO一天到晚忙除了開(kāi)會(huì),幾乎什么都做不了)。

最后Zuck那段代碼的最佳形態(tài)是:

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

Facebook早期員工評(píng)價(jià)扎克伯格的Jarvis AI代碼——富可敵國(guó)之后尚能飯否? | 深度

分享:
相關(guān)文章

專(zhuān)欄作者

覃超,前Facebook工程師,現(xiàn)為北京互聯(lián)網(wǎng)創(chuàng)業(yè)者,CMU alumni。知乎專(zhuān)欄:覃超帝國(guó)興亡史 - 在希望的田野上,這是一個(gè)有趣的地方。
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)