SalesforceEinsteinVision 1.3.4

SalesforceEinsteinVision 1.3.4

测试已测试
语言语言 SwiftSwift
许可证 自定义
发布最后发布2017年5月
SwiftSwift 版本3.0
SPM支持 SPM

muenzpraeger 维护。



 
依赖项
Alamofire~> 4.0
SwiftyJSON>= 0
 

salesforce-einstein-vision-swift

此仓库展示了如何使用基于 Swift 的包装器通过 Salesforce Einstein Vision API。

有关 Salesforce Einstein Vision API 的一般信息,如何使用它以及何时可以向您提供该服务的详细信息,请参阅产品文档。

自行运行

先决条件

为了在您自己的服务器上运行该应用程序,您需要满足以下要求:

有关如何设置对 MetaMind API 的访问的详细说明请见此处。

入门

由于此库基本上是 Salesforce Einstein Vision API 的包装器,因此强烈建议您查阅 API 文档。

使用 Einstein Vision 的工作流程可以用以下场景来描述。

  • 首先,您需要确定需要识别的图像类别(例如海滩、山脉等)。
  • 然后,创建一个数据集,将包含所有这些图像类别。
  • 然后,您将为每个识别的图像类别将所谓的“标签”添加到数据集中。
  • 对于每个标签,您需要向数据集添加一定数量的示例图像。
  • 完成示例添加后,您可以开始训练数据集。
  • 在培训后,您可以开始预测给定图像是否属于定义的标签之一。

请查看 MetaMind 文档以获取有关图像质量、示例数量等的建议。

创建 PredictionService

一切的基础是 PredictionService。由于 API 的通信基于有效的 OAuth2 令牌(请参阅 MetaMind 文档),您可以通过两种方式创建一个新的 PredictionService。

let predictionService = PredictionService()

let predictionService = PredictionService(bearerToken: "AASDFNSADF23423424SADSFASF")

根据您的需求,您可以将OAuth2令牌作为参数传递(参见第二个示例)。或者,您可以将它设置为环境变量。在这种情况下,您无需传递令牌。

创建第一个数据集

要创建数据集,您需要调用

let ds = service?.createDataset(name: "theDatasetName", labels: ["aa", "bb"], completion: { (result) in
    })

如果您以后决定向数据集添加更多标签(即类别),可以通过可用的createLabel方法来实现。

添加示例

要将示例添加到数据集,您必须执行此调用。

let example = service.createExample(datasetId: theDatasetId, name: "label", labelId: theLabelId, data: "localFilePath") { (result) in
}

这会将文件上传到用于训练的数据集。

培训数据集

添加所有示例后,您可以通过以下方式对数据集进行训练

let model = service.trainDataset(datasetId: theDatasetId, name: "yourCustomTrainingName", epochs: 0, learningRate: 0) { (result) in
    }

这将在服务器上启动训练过程。

预测图像

您可以通过发送Base64、上传本地文件或远程(公开可用的!)URL来预测图像。请看这个示例了解如何验证远程URL。

let result = service.predictUrl(modelId: "theModelId", url: "theUrl", sampleId: "") { (result) in
    }

返回的结果将给出数据集中所有标签及其概率的数组。

查看上述示例代码以获取完整流程。

贡献

请通过pull requests自由地为此项目做出贡献。

许可证

有关许可事宜,请参阅包含的许可证文件