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