测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | 自定义 |
发布最后发布 | 2017年5月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 muenzpraeger 维护。
依赖项 | |
Alamofire | ~> 4.0 |
SwiftyJSON | >= 0 |
此仓库展示了如何使用基于 Swift 的包装器通过 Salesforce Einstein Vision API。
有关 Salesforce Einstein Vision API 的一般信息,如何使用它以及何时可以向您提供该服务的详细信息,请参阅产品文档。
为了在您自己的服务器上运行该应用程序,您需要满足以下要求:
有关如何设置对 MetaMind API 的访问的详细说明请见此处。
由于此库基本上是 Salesforce Einstein Vision API 的包装器,因此强烈建议您查阅 API 文档。
使用 Einstein Vision 的工作流程可以用以下场景来描述。
请查看 MetaMind 文档以获取有关图像质量、示例数量等的建议。
一切的基础是 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自由地为此项目做出贡献。
有关许可事宜,请参阅包含的许可证文件。