在本文中,我们将为您详细介绍ESH+OpenVINO的相关知识,并且为您解答关于七|预防损失检测的实时传感器融合用例的疑问,此外,我们还会提供一些关于Android传感器(加速度传感器,磁场传感器,光
在本文中,我们将为您详细介绍ESH +OpenVINO的相关知识,并且为您解答关于七|预防损失检测的实时传感器融合用例的疑问,此外,我们还会提供一些关于Android传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)、Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】、Arduino 传感器: 使用FSR402压力传感器检测压力、ESH + OpenVINO(一)|ESH for OpenVINO Community 概览的有用信息。
本文目录一览:- ESH +OpenVINO(七)|预防损失检测的实时传感器融合用例
- Android传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)
- Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】
- Arduino 传感器: 使用FSR402压力传感器检测压力
- ESH + OpenVINO(一)|ESH for OpenVINO Community 概览
ESH +OpenVINO(七)|预防损失检测的实时传感器融合用例
。点击蓝字
关注我们,让开发变得更有趣
好文回顾
预防损失检测的实时传感器融合用例
penVINO OpenVINO
Part 1
该用例借助实时传感器融合实现预防损失检测,可在自助结账时部署传感器融合技术,实现预防损失的检测,得到无缝的操作体验。使用机器学习连接不同的传感器,如销售点系统、重量秤传感器、摄像头和 RFID,以准确检测结账项目。
Part 2
- EdgeX Foundry
- VAS (全称 video-analytics-serving)
- Docker
- Docker Compose
Part 3
- 硬件要求:英特尔处理器
- 系统要求:Ubuntu18.04 LTS
- 完成时间:1h 左右
- 使用语言:golang1.12 及以上
- 可选(传感器):
销售点混合扫描仪或秤
条形码
扫描仪
销售点装袋秤
四个 USB 摄像机
RFID 垫
触摸显示屏
Part 4

Part 5
1. 下载
我们在 ESH 官网上点击 Use Cases 选项,找到该用例并点击,页面跳转后点击下载,记得保存 key。

2. 安装
sudo ./edgesoftware install

安装完成

Part 6
1. 进入应用目录

2.build
sudo make docker

注意如果这一步如下图报错,请参考文末的 Q&A 2 解决。

build 完成

检查一下镜像是否 build 成功
sudo docker images

3. 运行 Docker Compose 以启动 EdgeX 设备服务和预防损失检测服务。
sudo make run-base

服务成功启动后,显示如下图


Part 7
1. 打开 Docker 日志,连接事件协调器。
这样可确保正确处理结帐事件。如果命令是成功的,可以看到下图显示。
sudo docker logs -f event-reconciler

2. 安装 Postman
Postman 是一个用于 API 开发的协作平台,我们用它来发送模拟数据的 RestAPI 请求。在浏览器搜索 Postman 并进入官网,找到 ubuntu64 位 版本点击下载。

解压并启动

打开 Postman

3. 新建连接
使用 GET 方式访问 url http://localhost:49986/api/v1/ping, 点击 send 按钮,如果返回下图所示的 1.1.1 和状态 200,说明访问成功。

4. 发起交易
发送一个 POST 请求,url 为 http://localhost:49986/api/v1/resource/device-pos-rest/basket-open 选择 raw body , 在 Text 下面,填入 Json 数据。
{
"lane_id":"1",
"basket_id": "abc-012345-def",
"customer_id": "joe5",
"employee_id": "mary1",
"event_time":15736013930000
}
如图所示


5. 扫描件
发送一个 POST 请求,url 为 http://localhost:49986/api/v1/resource/device-pos-rest/scanned-item 选择 raw body , 在 Text 下面,填入 Json 数据。
{
"lane_id":"1",
"basket_id": "abc-012345-def",
"product_id": "00000000571111",
"product_id_type": "UPC",
"product_name": "Trail Mix",
"quantity": 1,
"quantity_unit": "EA",
"unit_price": 5.99,
"customer_id": "joe5",
"employee_id": "mary1",
"event_time":15736013940000
}
如图所示

请求发送后,看到返回状态 200 和 1,说明操作成功。

6. 准备付款
发送一个 POST 请求,url 为 http://localhost:49986/api/v1/resource/device-pos-rest/payment-start 选择 raw body , 在 Text 下面,填入 Json 数据。
{
"lane_id":"1",
"basket_id": "abc-012345-def",
"customer_id": "joe5",
"employee_id": "mary1",
"event_time":15736013950000
}
如下图所示

请求发送后,看到返回状态 200 和 1,说明操作成功。

7. 支付成功
发送一个 POST 请求,url 为 http://localhost:49986/api/v1/resource/device-pos-rest/payment-success 选择 raw body , 在 Text 下面,填入 Json 数据。
{
"lane_id":"1",
"basket_id": "abc-012345-def",
"customer_id": "joe5",
"employee_id": "mary1",
"event_time":15736013930000
}
如图所示

请求发送后,看到返回状态 200 和 1,说明操作成功。

8. 关闭交易
发送一个 POST 请求,url http://localhost:49986/api/v1/resource/device-pos-rest/basket-close 选择 raw body , 在 Text 下面,填入 Json 数据。
{
"lane_id":"1",
"basket_id": "abc-012345-def",
"customer_id": "joe5",
"employee_id": "mary1",
"event_time":15736013970000
}
如下图所示

请求发送后,看到返回状态 200 和 1,说明操作成功。

提问
&
解答
Answers
1. 安装过程中遇到失败应该怎么解决?
安装过程中遇到失败应该怎么解决?
可以停止并删除所有 Docker containers,也可以删除所有的 Docker images。
sudo docker stop $(sudo docker ps -aq)
sudo docker rm $(sudo docker ps -aq)
sudo docker rmi -f $(sudo docker images -aq)
2.
如果执行 sudo make docker 报错
‘go mod download timeout’怎么办?
可以进入下图的路径,打一个 diff 文件进去。

补丁文件获取地址:https://pan.baidu.com/s/1b9OXcNcGxY97rCvVgi_PRA
提取码:W5T2
然后我们再次执行 sudo make docker 命令,就可以顺利 build 成功了。
3.
运行应用提示 address already in use,
怎么解决?

我们可以用所需地址获取进程的 PID,并使用以下命令强制停止它们。
sudo netstat -tulpn | grep <address in use>
sudo kill -9 <PID of the process>
4.
如果 MQTT 提示 address already in use,
怎么解决?
如果收到地址已在使用错误,可以使用所需地址获取进程的 PID,并使用以下命令强制停止它们:
sudo lsof -i -P -n | grep <port number>
sudo kill -9 <process id>
5.
访问 url 时候响应状态为 404,
应该怎么解决?
sudo netstat -tulpn | grep <address in use>
sudo kill -9 <PID of the process>
6.
Docker images build 失败怎么解决?
首先通过下面命令获取 DNS server:
nmcli dev show | grep ''IP4.DNS''
配置 Docker 服务,在 /etc/docker/daemon.json 文件中粘贴下面的代码。
{
"dns": ["<dns-server-from-above-command>"]
}
然后重启 Docker 服务
sudo systemctl daemon-reload && sudo systemctl restart docker
附用例网址:
https://software.intel.com/content/www/us/en/develop/articles/real-time-sensor-fusion-for-loss-detection.html
OpenVINO
ESH
更多的基于 OpenVINO 的智能边缘软件资源与视频教程,也欢迎您访问英特尔 ® 边缘软件中心获取。
--END--
你也许想了解 (点击蓝字查看)⬇️
➡️ OpenVINO™ 基于人脸 landmark 检测实现眼睛疲劳 / 睡意检测
➡️ 完整教程,轻松上手!OpenVINO 能支持 ARM 架构了?!
➡️ 图像语义分割从模型训练到部署
➡️ OpenVINO 部署 Mask-RCNN 实例分割网络
➡️ OpenVINO 部署模型时如何自定义任意尺寸的支持
➡️ ROS C++ 代码规范
➡️ ESH for OpenVINO Community 概览
○ 点击 “ 在看 ”,让更多人看见
点击阅读原文 跳 转 专区进行讨论!
本文分享自微信公众号 - OpenVINO 中文社区(openvinodev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
Android传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)
下面是小编 jb51.cc 通过网络收集整理的代码片段。
小编小编现在分享给大家,也给大家做个参考。
package mobile.android.sensor; import java.util.List; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; public class Main extends Activity implements SensorEventListener { private TextView tvAccelerometer; private TextView tvMagentic; private TextView tvLight; private TextView tvOrientation; private TextView tvSensors; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获得SensorManager对象 SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); // 注册加速度传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_FASTEST); // 注册磁场传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),SensorManager.SENSOR_DELAY_FASTEST); // 注册光线传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),SensorManager.SENSOR_DELAY_FASTEST); // 注册方向传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_FASTEST); tvAccelerometer = (TextView) findViewById(R.id.tvAccelerometer); tvMagentic = (TextView) findViewById(R.id.tvMagentic); tvLight = (TextView) findViewById(R.id.tvLight); tvOrientation = (TextView) findViewById(R.id.tvOrientation); tvSensors = (TextView) findViewById(R.id.tvSensors); // 获得当前手机支持的所有传感器 List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL); for (Sensor sensor : sensors) { // 输出当前传感器的名称 tvSensors.append(sensor.getName() + "\n"); } } @Override public void onSensorChanged(SensorEvent event) { // 通过getType方法获得当前传回数据的传感器类型 switch (event.sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: // 处理加速度传感器传回的数据 String accelerometer = "加速度\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvAccelerometer.setText(accelerometer); break; case Sensor.TYPE_LIGHT: // 处理光线传感器传回的数据 tvLight.setText("亮度:" + event.values[0]); break; case Sensor.TYPE_MAGNETIC_FIELD: // 处理磁场传感器传回的数据 String magentic = "磁场\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvMagentic.setText(magentic); break; case Sensor.TYPE_ORIENTATION: // 处理方向传感器传回的数据 String orientation = "方向\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvOrientation.setText(orientation); break; } } @Override public void onAccuracyChanged(Sensor sensor,int accuracy) { } }
以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。
Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】
本文实例讲述了Android开发获取传感器数据的方法。分享给大家供大家参考,具体如下:
package mobile.android.sensor; import java.util.List; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; public class Main extends Activity implements SensorEventListener { private TextView tvAccelerometer; private TextView tvMagentic; private TextView tvLight; private TextView tvOrientation; private TextView tvSensors; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获得SensorManager对象 SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); // 注册加速度传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_FASTEST); // 注册磁场传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),SensorManager.SENSOR_DELAY_FASTEST); // 注册光线传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),SensorManager.SENSOR_DELAY_FASTEST); // 注册方向传感器 sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_FASTEST); tvAccelerometer = (TextView) findViewById(R.id.tvAccelerometer); tvMagentic = (TextView) findViewById(R.id.tvMagentic); tvLight = (TextView) findViewById(R.id.tvLight); tvOrientation = (TextView) findViewById(R.id.tvOrientation); tvSensors = (TextView) findViewById(R.id.tvSensors); // 获得当前手机支持的所有传感器 List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL); for (Sensor sensor : sensors) { // 输出当前传感器的名称 tvSensors.append(sensor.getName() + "\n"); } } @Override public void onSensorChanged(SensorEvent event) { // 通过getType方法获得当前传回数据的传感器类型 switch (event.sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: // 处理加速度传感器传回的数据 String accelerometer = "加速度\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvAccelerometer.setText(accelerometer); break; case Sensor.TYPE_LIGHT: // 处理光线传感器传回的数据 tvLight.setText("亮度:" + event.values[0]); break; case Sensor.TYPE_MAGNETIC_FIELD: // 处理磁场传感器传回的数据 String magentic = "磁场\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvMagentic.setText(magentic); break; case Sensor.TYPE_ORIENTATION: // 处理方向传感器传回的数据 String orientation = "方向\n" + "X:" + event.values[0] + "\n" + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2] + "\n"; tvOrientation.setText(orientation); break; } } @Override public void onAccuracyChanged(Sensor sensor,int accuracy) { } }
PS:这里获得的只是传感器采集数据,还需要对数据分析,变成有用的信息。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
Arduino 传感器: 使用FSR402压力传感器检测压力
原材料
FSR402
薄膜压力传感器公头杜邦线
面包板
Arduino Uno R3
10K
Ω 电阻一个Type A转B, USB 2.0线一根(
打印机线
), 作为Arduino Uno
的电源
图解
电路图
照片: 面包板接线
照片: Arduino Uno 接线
串口输出
代码
int fsrPin = 0; // A0 接口
int fsrReading;
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
fsrReading = analogRead(fsrPin);
Serial.print("Analog reading = ");
Serial.print(fsrReading);
if (fsrReading < 10) {
Serial.println(" - No pressure");
} else if (fsrReading < 200) {
Serial.println(" - Light touch");
} else if (fsrReading < 500) {
Serial.println(" - Light squeeze");
} else if (fsrReading < 800) {
Serial.println(" - Medium squeeze");
} else {
Serial.println(" - Big squeeze");
}
delay(1000);
}
ESH + OpenVINO(一)|ESH for OpenVINO Community 概览
点击蓝字
关注我们,让开发变得更有趣
排版 | 卢书晴
自 OpenVINO 中文社区成立以来,我们时常会跟社区的志愿者保持沟通,了解大家的需求,前不久,我们了解到:大家希望在社区的内容板块增加更多项目部署与落地,以及更多的实践案例。于是我们推出了:ESH(英特尔边缘软件中心)+OpenVINO 的专栏。
该专栏写手正在火热招募中,
可以扫描下方二维码了解详情。
⬇️

OpenVINO OpenVINO
-❶-
ESH for OpenVINO Community概览
正如12月18日,英特尔中国物联网事业部合作伙伴架构师马小龙在直播中提到的那样(可扫描文末二维码观看):一站式的边缘软件超市将会助力开发者基于 OpenVINO 构建边缘AI整体方案。
下面就让我们一起来了解一下ESH,同时也是 ESH+OpenVINO 的专栏的第一篇:ESH for OpenVINO Community 概览。

马小龙
英特尔中国物联网事业部合作伙伴架构师
负责英特尔边缘AI开发者工具及产品在中国区的落地与推广,支持合作伙伴快速开发及部署基于英特尔架构的边缘人工智能方案,招募合作伙伴加入英特尔生态系统进行方案推广与合作接洽。
一站式边缘软件超市 - 英特尔边缘软件中心,助力开发者基于 OpenVINO 构建边缘AI整体方案


英特尔边缘AI开发者之旅
随着5G等网络基础设施与应用的不断完善,边缘计算终端性能的不断强化,以及用户对于AI应用延迟与速度要求的提升,物联网边缘人工智能(Edge AI)得到了快速的发展。将AI推理从云或数据中心转移到就近部署的边缘计算终端,能够显著降低延迟、节约网络带宽,同时满足隐私性、安全性等需求。近年来,英特尔集团持续推出丰富的边缘AI软硬件解决方案与开发工具,致力于帮助开发者快速构建边缘人工智能解决方案。其中,英特尔推出的 OpenVINO 工具套件,能够有效地实现深度学习推理的性能优化,并简化应用的开发与异构部署,受到了开发者广泛的欢迎与认可。
但同时,边缘AI复杂的应用需求、受限的落地场景、及多样的通信协议与基础设施,依然给边缘AI开发者们带来了重重挑战。为克服这些难题,进一步降低开发门槛,加速方案落地,英特尔团队整合了包括 OpenVINO 在内的各类自研软件工具,以及来自开源社区、生态合作伙伴、云服务厂商的软件模块与解决方案,集成为面向不同垂直行业的软件资源与参考设计。而这所有的软件资源,都将通过英特尔今年最新推出的“英特尔®边缘软件中心(Intel Edge Software Hub)”来提供给广大的边缘AI开发者。

从硬件产品,开发工具到集成的软件堆栈,
英特尔提供完备的开发资源

一站式边缘软件超市,加速方案落地
覆盖工业互联网,智慧零售,智慧城市,智慧医疗等领域,英特尔®边缘软件中心为为各个垂直行业的创新应用开发提供丰富的一站式软件资源。基于 OpenVINO 工具套件,OpenNESS, ACRN 虚拟技术,EdgeX Foundry, 容器技术及云边协同模块等,英特尔团队整合构建了各类边缘软件堆栈,包括视觉边缘洞见平台、融合边缘洞见平台、工业边缘洞见平台以及工业边缘控制平台。
利用这些边缘软件资源与参考架构,开发者可以聚焦于业务层、应用层的实现,避免大量的底层开发与架构设计工作。英特尔®边缘软件中心提供的各类边缘软件堆栈均已经过英特尔团队的充分测试与优化,兼容英特尔广泛的硬件平台,并且经过了英特尔合作伙伴的实际部署验证。英特尔也会持续对这些软件进行维护,更新与优化,保证其性能最优、易用、且可靠。

从硬件平台到软件组件,从集成的边缘软件堆栈到参考用例,边缘软件中心为开发者提供一站式资源
开发者还可以利用英特尔®边缘软件中心获得丰富的参考用例。这些参考用例基于边缘软件堆栈构建,并集成了 Open Model Zoo 提供的深度学习模型与其他第三方软件模块,能够完整地实现各类具体的边缘AI应用,如驾驶员状态管理,多摄像头安防系统,转子轴承缺陷检测及智能交通管理等。开发者可以不仅利用这些资源学习边缘软件的使用,更可以基于这些参考用例进行二次开发,快速构建边缘AI应用原型与解决方案。
英特尔®边缘软件中心汇聚了针对各个垂直行业应用的软件资源,有效降低了边缘AI的开发门槛。同时,具有可扩展,可兼容的丰富英特尔硬件方案也可为开发者带来巨大优势。英特尔®边缘软件中心为开发者提供了推荐设备目录,集合了各类来自英特尔合作伙伴厂商、经过部署验证的边缘设备。开发者可以根据需求,轻松快速地找到合适且可靠的硬件设备,用于原型开发、系统集成与最终部署。

优化的开发体验与技术支持
英特尔®边缘软件中心同时也致力于为开发者提供简单快捷的开发体验。所有的软件资源,包括面向各类垂直行业的边缘软件堆栈与针对各种实际应用场景的参考用例,通过在Web浏览器上进行简单的几步操作,就可以轻松下载其安装脚本。使用CLI接口执行该脚本,就可以将所需求的软件自动安装与部署。在安装完成后,还可以继续利用统一的CLI命令来对软件资源进行查询,更新以及卸载。

通过边缘软件中心轻松获取软件资源
针对每款边缘软件堆栈与参考用例,英特尔团队也提供了相应的说明文档与入门手册。开发者只需要根据入门手册的步骤,就可以快速学习如何利用边缘软件进行开发,体验边缘AI解决方案的强大性能。
此外,与 OpenVINO 工具套件一样,英特尔®边缘软件中心也在英特尔开发人员专区设立了技术支持论坛。开发者使用边缘软件的开发过程种遇到任何问题,都可以在论坛获得英特尔工程师的直接支持。如果企业开发者需要更进一步的支持与服务,也可以与英特尔客户经理联系,加入英特尔尊享技术支持项目。


开始行动,利用英特尔®边缘软件中心加速OpenVINO方案开发
通过英特尔® 边缘软件中心,开发者可以获得包括 OpenVINO 在内的各类边缘软件资源与参考设计,从而快速将 OpenVINO 赋能的AI推理负载,集成落地为完整的边缘AI解决方案。选择针对特定应用的软件资源与参考用例,根据需求自定义配置,确定部署的硬件设备,开发者就可以将解决方案的开发从数周缩短至几天,甚至数小时。2021年,英特尔® 边缘软件中心会继续更新、上架英特尔团队整合的软件资源与参考用例,更会邀请行业合作伙伴,云服务商合作伙伴及开源社区贡献更多更具针对性的软件模块与参考设计。
英特尔将持续提供丰富的硬件软件产品组合,可靠易用的开发者工具与世界级的边缘AI生态资源,赋能开发者快速构建性能卓越、稳定可靠的物联网边缘AI解决方案。

12月18号直播问题解答
提问
&
解答
Answers
D
1、 DevCloud 申请需要什么条件呢?
进入 DevCloud 主页后填写申请表格,申请表格中需要介绍项目情况,后台会有同事帮忙审批。如果是 AIIP 会员公司的开发者,填写申请表格后,后台会自动通过。
A
Q
2、有相关书籍么?
目前没有,但边缘软件中心每款软件平台都有专门的页面介绍。同时每款软件平台和参考用例都有配套的入门文档来帮助您学习和使用。
A
Q
3、OpenVINO可以在 E3 1230 V3上跑吗?
可以。但通过 OpenVINO 优化得到的性能提升可能会很有限。
A
Q
4、边缘软件中心的资源会同步到 github 吗?
不会。本身边缘软件中心整合的资源很多就是来自Github。
A
观看12月18日直播回顾可扫下方二维码
⬇️

---------------------------------------
*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.
-----------------------------

OpenVINO 中文社区
微信号 : openvinodev
B站:OpenVINO中文社区
“开放、开源、共创”
○ 点击 “ 在看 ”,让更多人看见