博客
Blog

2020年12月10日

第18次公司内部学习会

 

10月30日举办了第18次学习会。

 

本次的主题是【Lightning组件】与IOS的【Create ML, Core ML】

 

 

 

Lightning组件

 

Salesforce官方提供了Lightning组件框架和面向开发者的一些有用工具。利用Lightning可以轻松构建适用于各种设备的应用程序。

使用步骤

开发者控制台

  • 单击[用户名] >[开发者控制台]。
  • 启动开发者控制台。
  • 单击菜单中的[File]>[New]>[Lightning Component]
  • 在显示的对话框中,输入Name和Description相关的内容并单击[Submit]按钮,就可以生成Lightning组件。
在分享中,同事介绍了几个Lightning Component的使用范例。

Map

利用地理编码数据和来自Google Maps的地图图像来显示地图。地图图像在Container中显示,地点则以选项列表的方式展示。如果指定了多个地点,则会在列表中列出。若选中列表中的地点,则该地点会在地图中标记出来。列表将根据Container的尺寸显示在地图的旁边或者下方。

File Upload

用户可一次性上传多个文件,且文件上传器包含拖放功能和文件类型过滤功能。

createML和CoreML

Edge AI

 

Edge AI是与Cloud AI相对应的概念,指的是在收集数据的机器附近,使用AI模型做数据处理。除了做数据处理,最近还出现了可构建AI模型的Edge AI架构。

Edge AI可以做无延迟的实时判别,同时由于不需要收发数据,安全方面也很有优势。

Create ML

Create ML是Xcode 11以后附带的AI模型制作工具。

通过Xcode的标准功能,可以简单地制作AI模型。

Core ML

Core ML是IOS应用中集成AI功能的总称。

使用Vision向IOS应用集成模型的方法

首先,需要在工程中添加模型。可以通过简单地在XCode中打开相应的项目,然后只需要将模型拖放到文件树上即可。模型可通过代码调用添加到工程中。以下是使用Vision来集成模型的使用步骤。

1、拼出模型的URL
let modelURL = Bundle.main.url(forResource: "test2 1", withExtension: "mlmodelc")

2、用VNCoreMLModel(for:)生成模型
let visionModel = try VNCoreMLModel(for: MLModel(contentsOf: modelURL))

3、用VNCoreMLRequest(model:commpletionHandler:)创建请求。
let objectRecognition = VNCoreMLRequest(model: visionModel, completionHandler: { (request, error) in // 完了時の処理
})

4、将3中创建的请求作为数组保存在类属性中
self.mlRequest = [objectRecognition]

5、在VNImageRequestHandler(ciImage:,oricontation:,options:)中创建Request Handler,执行请求(在此设定图像)
let imageRequestHandler = VNImageRequestHandler(ciImage: self.imageToDiscrimination, orientation: .up, options: [:])
imageRequestHandler.perform(self.mlRequest)

外部模型的集成方法

如果想在IOS应用中安装外部模型,需要使用python编写转换程序,将模型转换成.mlmodel格式。 根据参考文章,代码如下。
import coremltools as ct
input = ct.ImageType(shape=(1, 513, 513, 3))
mlmodel = ct.convert('<输出文件>',inputs=[input])
mlmodel.save('./deeplabv3')

Page top