Core ML框架詳細解析(四) —— 將訓練模型轉(zhuǎn)化為Core ML

版本記錄

版本號 時間
V1.0 2017.10.29

前言

目前世界上科技界的所有大佬一致認為人工智能是下一代科技革命,蘋果作為科技界的巨頭,當然也會緊跟新的科技革命的步伐,其中ios API 就新出了一個框架Core ML。ML是Machine Learning的縮寫,也就是機器學習,這正是現(xiàn)在很火的一個技術,它也是人工智能最核心的內(nèi)容。感興趣的可以看我寫的下面幾篇。
1. Core ML框架詳細解析(一) —— Core ML基本概覽
2. Core ML框架詳細解析(二) —— 獲取模型并集成到APP中
3. Core ML框架詳細解析(三) —— 利用Vision和Core ML對圖像進行分類

將訓練模型轉(zhuǎn)化為Core ML

我們要使用ios中的Core ML就涉及到模型,這其中很多模型是第三方提供的,將使用第三方機器學習工具創(chuàng)建的訓練模型轉(zhuǎn)換為Core ML模型格式。這個是使用Core ML首要做的工作,很多報錯都是這方面格式?jīng)]有轉(zhuǎn)化帶來的錯誤。


總體

如果您的模型是使用受支持的第三方機器學習工具創(chuàng)建和訓練的,則可以使用Core ML Tools將其轉(zhuǎn)換為Core ML模型格式。Table 1 列出了支持的模型和第三方工具。

注意Core ML工具是一個Python(coremltools),托管在Python包索引(PyPI)上。 有關Python軟件包的信息,請參閱Python Packaging User Guide。


轉(zhuǎn)換你的模型

使用與模型的第三方工具相對應的Core ML轉(zhuǎn)換器轉(zhuǎn)換模型。 調(diào)用轉(zhuǎn)換器的convert方法并將生成的模型保存到Core ML模型格式(.mlmodel)。

例如,如果您的模型是使用Caffe創(chuàng)建的,請將Caffe模型(.caffemodel)傳遞給coremltools.converters.caffe.convert方法。

// Listing 1

import coremltools
coreml_model = coremltools.converters.caffe.convert('my_caffe_model.caffemodel')

現(xiàn)在將結(jié)果模型存儲為Core ML模型的格式。

// Listing 2

coreml_model.save('my_model.mlmodel')

根據(jù)您的模型,您可能需要更新輸入,輸出和標簽,或者您可能需要聲明圖像名稱,類型和格式。 轉(zhuǎn)換工具捆綁有更多的文檔,因為可用的選項因工具而異。 有關Core ML Tools的更多信息,請參閱 Package Documentation。


Alternatively, Write a Custom Conversion Tool - 替換方案:寫一個自定義轉(zhuǎn)換工具

當您需要轉(zhuǎn)換不是表1所列工具支持的格式時,可以創(chuàng)建自己的轉(zhuǎn)換工具。

編寫自己的轉(zhuǎn)換工具包括將模型的輸入,輸出和架構的描述轉(zhuǎn)換為Core ML模型格式。 您可以通過定義模型架構的每一層及其與其他層的連接來實現(xiàn)。 使用Core ML Tools 提供的轉(zhuǎn)換工具作為示例;他們演示了如何從第三方工具創(chuàng)建的各種模型類型轉(zhuǎn)換為Core ML模型格式。

注意Core ML模型格式由一組協(xié)議緩沖區(qū)文件定義,并在Core ML Model Specification中進行了詳細描述。

后記

未完,待續(xù)~~~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容