版本記錄
| 版本號 | 時間 |
|---|---|
| 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ù)~~~
