為期兩天的2019谷歌開(kāi)發(fā)者大會(huì)剛剛落下帷幕,谷歌推出了最新的Android 10、TensorFlow 2 0、Flutter 1 9等產(chǎn)品和開(kāi)發(fā)工具。此外,新任谷歌
為期兩天的2019谷歌開(kāi)發(fā)者大會(huì)剛剛落下帷幕,谷歌推出了最新的Android 10、TensorFlow 2.0、Flutter 1.9等產(chǎn)品和開(kāi)發(fā)工具。此外,新任谷歌大中華區(qū)總裁陳俊廷登場(chǎng),宣布正式推出Grow with Google成長(zhǎng)計(jì)劃。
2016 年谷歌開(kāi)發(fā)者大會(huì)在中國(guó)首次舉辦,2017 年谷歌宣布成立“AI 中國(guó)研發(fā)中心”,2018年谷歌的“AI+小程序”的產(chǎn)物“猜畫(huà)小歌”火遍中國(guó),今年的谷歌開(kāi)發(fā)者大會(huì)為我們帶來(lái)了什么?
2019谷歌開(kāi)發(fā)者大會(huì)(Google Developer Days,簡(jiǎn)稱GDD)剛剛落下帷幕,在為期兩天的大會(huì)中,谷歌推出了不少新產(chǎn)品和開(kāi)發(fā)工具:Android團(tuán)隊(duì)更新了最新產(chǎn)品Android 10,TensorFlow團(tuán)隊(duì)發(fā)布了TensorFlow 2.0,F(xiàn)lutter推出了Flutter 1.9,Web, Firebase, Wear OS和ARCore團(tuán)隊(duì)也都介紹了相關(guān)產(chǎn)品更新。
此外,新任谷歌大中華區(qū)總裁陳俊廷登場(chǎng),宣布正式推出 Grow with Google 成長(zhǎng)計(jì)劃,將提供一系列免費(fèi)線上課程、學(xué)習(xí)工具和線下培訓(xùn),幫助更多人解鎖數(shù)字時(shí)代必備技能。接下來(lái)看看本屆谷歌開(kāi)發(fā)者大會(huì)的亮點(diǎn)。
谷歌大中華區(qū)新總裁陳俊廷首次現(xiàn)身:推出 Grow with Google 成長(zhǎng)計(jì)劃
在 KeyNote 主題演講環(huán)節(jié)中,新任谷歌大中華區(qū)總裁陳俊廷(Stanley Chen)首先登場(chǎng)。這是陳俊廷在今年 6 月?lián)卧撀毼缓笫状卧诠_(kāi)大會(huì)中亮相。
他公布了谷歌的數(shù)據(jù)技術(shù)分享計(jì)劃,已經(jīng)讓 80 多個(gè)國(guó)家及地區(qū),超過(guò) 4300 萬(wàn)人從中受益。在回顧了谷歌的近期的一些動(dòng)作之后,宣布正式推出 Grow with Google 成長(zhǎng)計(jì)劃,向廣大開(kāi)發(fā)者們提供免費(fèi)的課程學(xué)習(xí)計(jì)劃。
陳俊廷在演講中還表示,希望通過(guò)網(wǎng)上的共享平臺(tái)提供免費(fèi)的課程,將谷歌的技術(shù)帶給更多需要的人,幫助用戶使用和體驗(yàn)谷歌的產(chǎn)品。
陳俊廷畢業(yè)于國(guó)立臺(tái)灣大學(xué)經(jīng)濟(jì)系,于 2011 年加入 Google 中國(guó)臺(tái)灣,任臺(tái)灣地區(qū)總經(jīng)理一職。負(fù)責(zé)銷售業(yè)務(wù),職責(zé)涵蓋大型企業(yè)客戶、經(jīng)銷與線上業(yè)務(wù)。
在加入 Google 前,陳俊廷曾任職于蘋(píng)果,擔(dān)任中國(guó)臺(tái)灣分公司業(yè)務(wù)協(xié)理和亞洲區(qū)校園業(yè)務(wù)主管。
Android 10重磅亮相,原生支持 5G,更注重?cái)?shù)據(jù)安全
本次大會(huì)正式推出新版本的安卓操作系統(tǒng)Android 10。實(shí)際上在本次開(kāi)發(fā)者大會(huì)召開(kāi)一周前,谷歌高級(jí)安卓產(chǎn)品經(jīng)理Stephanie Cuthbertson已經(jīng)在安卓開(kāi)發(fā)者公眾號(hào)上宣布了這個(gè)消息。
Cuthbertson表示,新推出的Android 10聚焦移動(dòng)創(chuàng)新、安全隱私和數(shù)字健康三大主題,全面打造最佳用戶體驗(yàn)。
在移動(dòng)創(chuàng)新上,Android 10的幾大亮眼新特性包括:
對(duì)5G網(wǎng)絡(luò)的強(qiáng)大支持:Android10 提供 5G 平臺(tái)支持,對(duì)現(xiàn)有 API 進(jìn)行擴(kuò)展,更好地幫助開(kāi)發(fā)者利用 5G 技術(shù)推動(dòng)應(yīng)用創(chuàng)新。
通知中的智能回復(fù):利用設(shè)備內(nèi)置機(jī)器學(xué)習(xí)技術(shù),在通知中顯示與當(dāng)下場(chǎng)景相關(guān)的建議操作,例如消息智能回復(fù),或者當(dāng)通知中包含地址信息時(shí),建議用戶開(kāi)啟地圖應(yīng)用。
智能回復(fù)功能會(huì)根據(jù)通知內(nèi)容向用戶提供建議操作
官方深色主題:Android 10添加了系統(tǒng)全局深色主題,讓用戶可以在光線較暗的環(huán)境中更輕松的使用設(shè)備,并且大幅度減少設(shè)備耗電量。
深色主題背景下的 Google Keep
手勢(shì)導(dǎo)航:啟用后,原有的底部導(dǎo)航欄設(shè)計(jì)會(huì)消失,讓?xiě)?yīng)用真正實(shí)現(xiàn)全屏顯示。
手勢(shì)導(dǎo)航允許應(yīng)用全屏顯示內(nèi)容
在隱私保護(hù)、數(shù)據(jù)安全和網(wǎng)絡(luò)性能上,Android 10也作出多項(xiàng)改進(jìn)和更新,主要有以下幾方面:
給予用戶更多地理位置控制:為了提高用戶的可控性,用戶可以通過(guò)一個(gè)全新的地理位置權(quán)限,僅允許正在被使用的應(yīng)用 (運(yùn)行在前臺(tái)) 訪問(wèn)設(shè)備位置信息。
防止設(shè)備追蹤:為了防止應(yīng)用追蹤設(shè)備,Android10 不允許一般應(yīng)用訪問(wèn) IMEI 碼、序列號(hào)等不可重置的設(shè)備識(shí)別號(hào)。
P2P 及網(wǎng)絡(luò)連接優(yōu)化:在 Android 10 中,我們對(duì) Wi-Fi 堆棧進(jìn)行了重構(gòu),這不僅提升了應(yīng)用在隱私及性能方面的表現(xiàn),而且對(duì)許多常見(jiàn)用例也有一定的優(yōu)化,
Wi-Fi 性能模式:Android10 允許應(yīng)用啟用高性能、低延遲的自適應(yīng) Wi-Fi 模式,這樣一來(lái),即使是在網(wǎng)絡(luò)延遲比較敏感的場(chǎng)景下,如實(shí)時(shí)游戲、音頻通話等,應(yīng)用依舊能保障流暢的用戶體驗(yàn)。在性能模式下,Android 平臺(tái)將配合設(shè)備固件協(xié)同工作,實(shí)現(xiàn)最低能耗。
TensorFlow 2.0,更直觀、更強(qiáng)大、更靈活
本次GDD,TensorFlow 2.0依然是重頭戲。TensorFlow亞太區(qū)產(chǎn)品經(jīng)理梁信屏展開(kāi)了《機(jī)器學(xué)習(xí)的現(xiàn)在和未來(lái)》的分享,并把 TensorFlow 目前的家底透露了一遍:從 2015 年發(fā)布以來(lái),達(dá)到了 4100 萬(wàn)的下載,超過(guò) 5 萬(wàn)次提交量,9900 次代碼改動(dòng)請(qǐng)求,以及 1800 多位貢獻(xiàn)者。目前圍繞TensorFlow已經(jīng)構(gòu)建起一個(gè)龐大的生態(tài),TensorFlow也成為最成功的機(jī)器學(xué)習(xí)平臺(tái)。
TensorFlow 2.0 代碼和 NumPy 很像,二者也可以很容易的相互置換對(duì)象。開(kāi)發(fā)者也不用為 placeholders、Sessions 以及 feed_dictionaties 等傷腦筋了。
2.0 版本圍繞易用性、高性能、可擴(kuò)展,三個(gè)方面進(jìn)行了升級(jí)。下面我們列舉一些主要的升級(jí)方面:
即時(shí)執(zhí)行(Eager Execution)變?yōu)槟J(rèn)模式
1.0時(shí)代創(chuàng)建一個(gè)神經(jīng)網(wǎng)絡(luò)代碼如下:
但是到了2.0時(shí)代就變成了:
API 清理和初級(jí)API
像 TensorFlow.gans、TensorFlow.App、TensorFlow.contrib 以及 TensorFlow.flags 等很多 API,要么被直接移除,要么就是轉(zhuǎn)移到單獨(dú)的庫(kù)。
在 TensorFlow 1.x 中不止一種方法來(lái)創(chuàng)建和訓(xùn)練 ML 模型。而大多數(shù)時(shí)候,開(kāi)發(fā)者都不是很清楚應(yīng)該在什么情況下使用哪個(gè) API。而且一旦使用了其中一種 API 訓(xùn)練模型,接下來(lái)就很難再切換到別的 API 了。
所以在TensorFlow 2.0 中,TensorFlow.keras 是推薦使用的高級(jí) API。
初級(jí)API從 TensorFlow 1.x 到 2.0,沒(méi)有發(fā)生太大的改變。通過(guò) pip 來(lái)安裝 TensorFlow 的時(shí)候,一般會(huì)得到完整的 Keras API 以及一些額外的函數(shù)工具集。
定義訓(xùn)練循環(huán)
在 TensorFlow 2.0 中,訓(xùn)練模型最簡(jiǎn)單的方法是使用 fit() 方法,它同時(shí)支持序列化和子類化模型。開(kāi)發(fā)者也可以通過(guò) fit() 方法很容易地配置一個(gè) TensorBoard 實(shí)例。它同樣適用于 Jupyter/Colab 筆記本。
在使用模型子類化的時(shí)候,唯一需要做的是重寫(xiě)類成員函數(shù) compute_output_shape(),或干脆棄用這個(gè)函數(shù)。
以外,開(kāi)發(fā)者可以使用 TensorFlow.data.Dataset 或 NumPy 的標(biāo)準(zhǔn) nd-arrays 來(lái)作為 fit() 的輸入。
模型保存和恢復(fù)
TensorFlow 1.x 中如何為產(chǎn)品保存和裝載模型的標(biāo)準(zhǔn)是缺失的。而 TensorFlow 2.0 則試圖通過(guò)定義一個(gè)單一 API 來(lái)解決這個(gè)問(wèn)題。
另外,TensorFlow 生態(tài)系統(tǒng)還整合了 SavedModels,這樣就可以部署到手機(jī)、邊緣設(shè)備以及服務(wù)器等里面。
TF.Text:
TF.Text 是一個(gè) TensorFlow 2.0 庫(kù),可以使用 PIP 命令輕松安裝。能夠在基于文本的模型中定期執(zhí)行預(yù)處理過(guò)程,并提供 TensorFlow 核心組件中并未提供的、關(guān)于語(yǔ)言建模的更多功能和操作,為 TensorFlow 2.0 提供了強(qiáng)大的文本處理功能,且兼容動(dòng)態(tài)圖模式。
TensorFlow Lite:
TensorFlow Lite 適用于手機(jī)以及嵌入式設(shè)備上,部署機(jī)器學(xué)習(xí)應(yīng)用的框架,特點(diǎn)是:幾乎沒(méi)有延遲、不需要連接網(wǎng)絡(luò)以及隱私保護(hù)。
比如,閑魚(yú) App 在租房場(chǎng)景,用 TensorFlow Lite 自動(dòng)對(duì)圖片打標(biāo)簽,提高了租房效率;科沃斯機(jī)器人將 TensorFlow Lite 部署在掃地機(jī)器人中,實(shí)現(xiàn)自動(dòng)避障等等。TensorFlow Lite 在谷歌產(chǎn)品中也被廣泛應(yīng)用,如 Google 相冊(cè)、輸入法、云助理等。
根據(jù)統(tǒng)計(jì),有超過(guò) 20 億的移動(dòng)設(shè)備,已經(jīng)安裝了基于 TensorFlow Lite 的應(yīng)用。
TensorFlow.js:
TensorFlow.js 是為 JavaScript 定制的深度學(xué)習(xí)平臺(tái)??梢赃\(yùn)行已有模型、對(duì)已有模型進(jìn)行再訓(xùn)練、以及訓(xùn)練新的模型,支持多平臺(tái):瀏覽器、無(wú)線端(如微信小程序)、服務(wù)器、臺(tái)式機(jī)。
TensorFlow.js 除了可在多個(gè)平臺(tái)運(yùn)行機(jī)器學(xué)習(xí)模型,還可以對(duì)模型訓(xùn)練,此外具有 GPU 加速功能,并自動(dòng)支持 WebGL。
工程師現(xiàn)場(chǎng)演示了利用 TF.js 實(shí)現(xiàn)的最小最快的虛擬試妝的小程序。據(jù)悉,后續(xù)還將實(shí)現(xiàn)發(fā)型轉(zhuǎn)換、年齡轉(zhuǎn)化模擬、膚質(zhì)檢測(cè)等功能。
Flutter 1.9 穩(wěn)定版發(fā)布,支持 macOS Catalina 和 iOS 13
Flutter 是谷歌的一款 UI 工具包,通過(guò)它的使用,開(kāi)發(fā)者僅需一套代碼,就可以為移動(dòng)、網(wǎng)頁(yè)和桌面構(gòu)建美觀的應(yīng)用。
據(jù)稱,F(xiàn)lutter 1.9 是迄今為止最大的一次版本更新,有 100 多名 contributor 在此次開(kāi)發(fā)周期中提交了超過(guò) 1500 個(gè) pull request。
新版本已經(jīng)將 Flutter for web 合并至 Flutter 主倉(cāng)庫(kù),并支持 macOS Catalina 和 iOS 13,改進(jìn)工具鏈,支持新的 Dart 語(yǔ)言特性和新的 Material widget等。