偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你在打王者農(nóng)藥,有人卻用iPhone來訓練神經(jīng)網(wǎng)絡(luò)

人工智能 深度學習 后端
在 iOS 設(shè)備上也可以直接訓練 LeNet 卷積神經(jīng)網(wǎng)絡(luò),而且性能一點也不差,iPhone 和 iPad 也能化為實實在在的生產(chǎn)力。

你知道嗎?在 iOS 設(shè)備上也可以直接訓練 LeNet 卷積神經(jīng)網(wǎng)絡(luò),而且性能一點也不差,iPhone 和 iPad 也能化為實實在在的生產(chǎn)力。

機器學習要想在移動端上應用一般分為如下兩個階段,第一個階段是訓練模型,第二個階段是部署模型。常規(guī)的做法是在算力強大的 GPU 或 TPU 上對模型進行訓練,之后再使用一系列模型壓縮的方法,將其轉(zhuǎn)換為可在移動端上運行的模型,并與 APP 連通起來。Core ML 主要解決的就是最后的模型部署這一環(huán)節(jié),它為開發(fā)者提供了一個便捷的模型轉(zhuǎn)換工具,可以很方便地將訓練好的模型轉(zhuǎn)換為 Core ML 類型的模型文件,實現(xiàn)模型與 APP 數(shù)據(jù)的互通。

以上是常規(guī)的操作。然而,隨著 iOS 設(shè)備計算性能的提升,坊間不斷產(chǎn)生一些 iPad Pro 算力超過普通筆記本的言論。于是乎,就出現(xiàn)了這么一位「勇者」,開源了可以直接在 iOS 設(shè)備上訓練神經(jīng)網(wǎng)絡(luò)的項目。

項目作者在 macOS、iOS 模擬器和真實的 iOS 設(shè)備上進行了測試。用 60000 個 MNIST 樣本訓練了 10 個 epoch,在模型架構(gòu)與訓練參數(shù)完全相同的前提下,使用 Core ML 在 iPhone 11 上訓練大概需要 248 秒,在 i7 MacBook Pro 上使用 TensorFlow 2.0 訓練需要 158 秒(僅使用 CPU 的情況下),但準確率都超過了 0.98。

當然,在 248 秒和 158 秒之間還有非常大的差距,但進行此項實驗的目的并不是比速度,而是為了探索用移動設(shè)備或可穿戴設(shè)備在本地進行訓練的可行性,因為這些設(shè)備中的數(shù)據(jù)往往比較敏感,而且涉及隱私,本地訓練可以提供更好的安全性。

項目地址:https://github.com/JacopoMangiavacchi/MNIST-CoreML-Training

MNIST 數(shù)據(jù)集

在這篇文章中,作者介紹了如何使用 MNIST 數(shù)據(jù)集部署一個圖像分類模型,值得注意的是,這個 Core ML 模型是在 iOS 設(shè)備上直接訓練的,而無需提前在其他 ML 框架中進行訓練。

作者在這里使用了一個很有名的數(shù)據(jù)集——MNIST 手寫數(shù)字數(shù)據(jù)集。它提供了 60000 個訓練樣本和 10000 個測試樣本,都是從 0 到 9 的 28x28 手寫數(shù)字黑白圖像。

LeNet CNN 架構(gòu)

如果你想了解 CNN 的細節(jié)和優(yōu)勢,從 LeNet 架構(gòu)著手是一個再好不過的起點。LeNet CNN+MNIST 數(shù)據(jù)集的組合是機器學習「訓練」的標準組合,簡直相當于深度學習圖像分類的「Hello, World」。

這篇文章主要著眼于如何在 iOS 設(shè)備上直接為 MNIST 數(shù)據(jù)集構(gòu)建和訓練一個 LeNet CNN 模型。接下來,研究者將把它與基于著名的 ML 框架(如 TensorFlow)的經(jīng)典「Python」實現(xiàn)方法進行比較。

在 Swift 中為 Core ML 的訓練準備數(shù)據(jù)

在討論如何在 Core ML 中創(chuàng)建及訓練 LeNet CNN 網(wǎng)絡(luò)之前,我們可以先看一下如何準備 MNIST 訓練數(shù)據(jù),以將其正確地 batch 至 Core ML 運行中去。

在下列 Swift 代碼中,訓練數(shù)據(jù)的 batch 是專門為 MNIST 數(shù)據(jù)集準備的,只需將每個圖像的「像素」值從 0 到 255 的初始范圍歸一化至 0 到 1 之間的「可理解」范圍即可。

為 Core ML 模型(CNN)訓練做準備

處理好訓練數(shù)據(jù)的 batch 并將其歸一化之后,現(xiàn)在就可以使用 SwiftCoreMLTools 庫在 Swift 的 CNN Core ML 模型中進行一系列本地化準備。

在下列的 SwiftCoreMLTools DSL 函數(shù)構(gòu)建器代碼中,還可以查看在相同的情況中如何傳遞至 Core ML 模型中。同時,也包含了基本的訓練信息、超參數(shù)等,如損失函數(shù)、優(yōu)化器、學習率、epoch 數(shù)、batch size 等等。

使用 Adam 優(yōu)化器訓練神經(jīng)網(wǎng)絡(luò),具體參數(shù)如下:

接下來是構(gòu)建 CNN 網(wǎng)絡(luò),卷積層、激活與池化層定義如下:

再使用一組與前面相同的卷積、激活與池化操作,之后輸入 Flatten 層,再經(jīng)過兩個全連接層后使用 Softmax 輸出結(jié)果。

得到的 CNN 模型

剛剛構(gòu)建的 Core ML 模型有兩個卷積和最大池化嵌套層,在將數(shù)據(jù)全部壓平之后,連接一個隱含層,最后是一個全連接層,經(jīng)過 Softmax 激活后輸出結(jié)果。

基準 TensorFlow 2.0 模型

為了對結(jié)果進行基準測試,尤其是運行時間方面的訓練效果,作者還使用 TensorFlow 2.0 重新創(chuàng)建了同一 CNN 模型的精確副本。

下方的的 Python 代碼展示了 TF 中的同一模型架構(gòu)和每層 OutPut Shape 的情況:

可以看到,這里的層、層形狀、卷積過濾器和池大小與使用 SwiftCoreMLTools 庫在設(shè)備上創(chuàng)建的 Core ML 模型完全相同。

比較結(jié)果

在查看訓練執(zhí)行時間性能之前,首先確保 Core ML 和 TensorFlow 模型都訓練了相同的 epoch 數(shù)(10),用相同的超參數(shù)在相同的 10000 張測試樣本圖像上獲得非常相似的準確度度量。

從下面的 Python 代碼中可以看出,TensorFlow 模型使用 Adam 優(yōu)化器和分類交叉熵損失函數(shù)進行訓練,測試用例的最終準確率結(jié)果大于 0.98。

Core ML 模型的結(jié)果如下圖所示,它使用了和 TensorFlow 相同的優(yōu)化器、損失函數(shù)以及訓練集和測試集,可以看到,其識別準確率也超過了 0.98。

 

 

責任編輯:龐桂玉 來源: 深度學習工坊
相關(guān)推薦

2020-05-27 11:10:54

KerasLSTM神經(jīng)網(wǎng)絡(luò)

2017-12-22 08:47:41

神經(jīng)網(wǎng)絡(luò)AND運算

2019-08-19 00:31:16

Pytorch神經(jīng)網(wǎng)絡(luò)深度學習

2017-07-17 12:17:38

2017-08-28 21:31:37

TensorFlow深度學習神經(jīng)網(wǎng)絡(luò)

2021-06-22 09:46:52

神經(jīng)網(wǎng)絡(luò)人工智能深度學習

2020-08-13 09:30:30

谷歌Android開發(fā)者

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡(luò)生物神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)

2017-07-19 11:39:25

深度學習人工智能boosting

2017-09-28 16:15:12

神經(jīng)網(wǎng)絡(luò)訓練多層

2018-05-16 09:41:13

神經(jīng)網(wǎng)絡(luò)NN函數(shù)

2020-05-11 13:44:38

神經(jīng)網(wǎng)絡(luò)人工智能深度學習

2017-03-27 16:18:30

神經(jīng)網(wǎng)絡(luò)TensorFlow人工智能

2021-12-28 08:48:54

PyTorch神經(jīng)網(wǎng)絡(luò)人工智能

2023-08-21 10:48:25

2017-08-29 13:50:03

TensorFlow深度學習神經(jīng)網(wǎng)絡(luò)

2018-01-24 10:48:34

神經(jīng)網(wǎng)絡(luò)深度學習前端

2017-05-22 14:45:51

大數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)架構(gòu)

2023-06-30 13:48:00

算法AI

2018-12-14 08:02:55

神經(jīng)網(wǎng)絡(luò)機器學習二值模型
點贊
收藏

51CTO技術(shù)棧公眾號