问题标签 [microsoft-custom-vision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
90 浏览

microsoft-cognitive - 自定义视觉 ONNX 模型不再适用于 Windows 10 ML 2018 年 10 月版本

升级到最新的 Windows 10 Oct 2018 版本后,导出的自定义视觉 ONNX 模型无法由 WinML API 加载。

我收到以下错误:

未指定的错误

类型错误:节点 (ZipMap) 的输出 arg (loss) 的类型 (map(string,tensor(float))) 与预期类型 (seq(map(string,tensor(float)))) 不匹配。

更新后的 WinML API 仅适用于 v1.2 的 ONNX 模型。Custom Vision 导出的版本是什么?只是猜测版本要求可能是问题的原因。

0 投票
1 回答
273 浏览

microsoft-cognitive - HoloLens 上的 onnx 1.2 模型(自定义视觉)

这是我之前帖子的更具体的延续:HoloLens 上的自定义视觉

我仍在使用这篇博文中的 Unity 项目:https ://mtaulty.com/2018/03/29/third-experiment-with-image-classification-on-windows-ml-from-uwp-on-hololens-团结一致/

我遇到的问题是我自己的导出模型在某些时候无法与代码一起使用。现在可以导出1.2版本的onnx模型了,但是老代码好像和新版本不兼容了。

var evalOutput = await this.learningModel.EvaluateAsync(this.inputData);在它抛出的 MainScript行中The binding is incomplete or does not match the input/output description. (Exception from HRESULT: 0x88900002)

有人知道我需要更改什么以便它适用于 HoloLens 上的新版本吗?提前致谢!

0 投票
1 回答
544 浏览

node.js - 通过 rest api 训练 Microsoft 自定义视觉模型

我正在开发一个简单的 nodejs 控制台实用程序,它将上传用于训练自定义视觉模型的图像。我这样做主要是因为 customvision 网络应用程序不允许您一次标记多个图像。

tl;dr:如何将图像发布到CreateImagesFromFilesAPI 端点?

我不知道如何传递我要上传的图像。该文档只是将 a 定义string为其中一个属性的类型(content我猜)。我尝试将本地文件的路径、在线文件的 url 甚至 base64 编码图像作为字符串传递。什么都没通过。

他们有一个测试控制台(链接文档页面上的蓝色按钮“打开 API 测试控制台”),但又一次......它很模糊,不会告诉你它实际期望什么样的数据。

这里的代码不是那么相关,但也许它有帮助......

回复:

0 投票
0 回答
106 浏览

javascript - 使用 Ajax 将图像文件发送到 REST api

我正在尝试使用 Microsoft 的 Custom Vision API,但是他们只有 Python、Java 和 .NET 的文档。根据他们的 API 说明,我必须将 Precition-Key 和 Content-Type 作为标题和“将正文设置为:”的一部分。我正在使用cordova拍照,一旦拍完照片,它就会返回一个FILE_URI。我已经尝试了一切,包括使用Node服务器为我做请求,虽然它可以工作,但它让事情变得更慢所以我只想通过javascript来做,但我现在有点卡住了。

0 投票
1 回答
878 浏览

tensorflow - 有没有办法从微软的自定义视觉对象检测 model.pb 文件中获取边界框?

有没有办法获取通过 Microsoft 自定义视觉 model.pb 文件检测到的特定对象的边界框?我知道我们可以通过 API 调用 azure 自定义视觉服务来实现这一点。例如,我们可以从 ssd freeze inference graph.pb 文件中获取边界框,因为存在张量。我们可以对自定义视觉的 model.pb 文件做同样的事情吗?

这是我正在使用打印出 tensorflow 模型和输出的操作的代码。

和是输入和输出Placeholder:0model_outputs:0采用Placeholder:0shape 的张量,输出 shape(?,416,416,3)model_outputs:0张量(1, 13, 13, 30)。如果我只检测一个对象,我如何从model_outputs:0张量中获取边界框。

我哪里错了?欢迎任何建议。

0 投票
3 回答
1582 浏览

ios - 使用多维数组作为 CoreML 模型输出

我已经使用 Microsoft 的 customvision.ai 服务训练了一个对象检测CoreML 模型。我将其导出以在我的应用程序中使用,以使用相机实时识别某些对象。然而,CoreML 模型输出一个 double 类型的 MultiArray。我不知道如何破译或使用这些数据,因为这是我第一次使用多维数组。我一直在尝试找出自定义视觉对象检测模型应该输出什么(例如 CGRect 或 UIImage),所以我知道我想将 MultiArray 转换为什么,但在 Microsoft 网站上的任何地方都找不到此信息。微软似乎有一个用于图像分类模型的演示应用程序,但没有用于对象检测模型的演示应用程序。

为了了解多维数组中可能包含的内容,我尝试将其打印出来并得到这个结果......

Double 1 x 1 x 40 x 13 x 13 array

我也试过打印.strides多维数组的元素并得到了这个......

[6760, 6760, 169, 13, 1]

我不知道这些信息是否真的有用,只是想给你们我到目前为止所做的一切。

所以,我的问题是这个 MultiArray 包含什么信息(它是 UIImage 还是 CGRect 之类的东西?还是不同的东西?)以及如何将这个多维数组转换为我可以实际使用的有用数据集?

0 投票
3 回答
1275 浏览

docker - Dockerhub 存储库的正确上传 URL 是什么

我正在遵循IOT edge 上 raspberry-pi 上的自定义视觉服务的说明。

我已经到了第 3 步,在 VS Code 中我正在执行Build and Push to IOT Edge Solution,这会触发以下命令:

这是失败的404 - page not found

我也尝试过使用cloud.docker.com/repository/registry-1.docker.io/myname/iot-hub-1,但这给了我一个不同的错误:

“-t,--tag”标志的无效参数“cloud.docker.com/repository/docker/myname/iot-hub-1:latest/cameracapture:0.2.7-arm32v7”:参考格式无效

任何人都可以提供正确的 URL 路径,或者我需要将容器上传到我的 docker hub 存储库的一些额外步骤吗?

0 投票
2 回答
248 浏览

xamarin - 在 XamarinForms 中使用 VisionServiceClient 的各种错误

我正在尝试创建一个简单的 Xamarin 表单应用程序,该应用程序允许用户浏览或拍照,并让 Azure 认知服务使用自定义视觉模型标记照片。

我无法让客户端成功验证或根据 VisionServiceClient 生成的异常中的错误消息找到资源。我错过了什么吗?VisionServiceClient 的参数使用的正确值是什么?

所有键都已从下图中删除,它们已被填充。

VS2017 中抛出的异常:

System.Private.CoreLib.dll 中的“Microsoft.ProjectOxford.Vision.ClientException”

调用 VisionServiceClient:

VS异常错误:

visionClient.AnalyzeImageAsync() 抛出的异常

Azure 认知服务门户:

认知服务概述

认知服务密钥

自定义视觉门户:

自定义视觉门户设置页面

项目预测 URL 弹出窗口

0 投票
1 回答
748 浏览

raspberry-pi - Raspberry PI / IOTEdge 无法从 Azure 容器注册表中提取

我有一个 IOTEdge 设备 (Rapi3),IotEdgeHub 和 IotEdgeagent 已部署并运行。

我已成功构建并将图像(自定义视觉示例)部署到 ACR,并在门户中配置了访问密钥。我已将相应的凭据添加到我的.env文件中。

deployment.json使用Create deployment for single device.

在 IotAgent 日志中,我可以看到一系列500错误:

执行操作 ["create"] 的命令失败。Microsoft.Azure.Devices.Edge.Agent.Edgelet.EdgeletCommunicationException-消息:调用创建模块相机捕获时出错:无法创建模块相机捕获,原因是:无法提取图像 myregistryname.azurecr.io/azurev1/cameracapture:0.2。 7-arm32v7 由以下原因引起:获取 https://myregistryname.azurecr.io/v2/azurev1/cameracapture/manifests/0.2.7-arm32v7:未授权:需要身份验证,StatusCode:500

我已经sudo docker login -u myregistryname -p accesskeypassword1 myregistryname.azurecr.io/azurev1成功运行了

我可以sudo docker pull myregistryname.azurecr.io/azurev1/cameracapture:0.2.7-arm32v7手动运行,成功下载相应的图像。

IotEdgeHub 和/或 IotEdgeAgent 似乎对 ACR 没有相同的访问权限。我怎样才能提升特权。


更新;我的deployment.template.json文件如下:

门户中显示的设置: 在此处输入图像描述

0 投票
1 回答
728 浏览

azure - Microsoft Azure Custom Vision Python SDK - 使用计算机中的图像文件进行预测

https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/python-tutorial

我按照上述教程使用 Azure 自定义视觉 Python SDK。我不想使用互联网上的图像进行预测(如教程中所示),而是使用我计算机中的图像文件。我怎样才能做到这一点?谢谢!