NCS

Intel的Movidius神经计算棒(NCS)旨在简化和加速深度学习推理,尤其适合IoT设备如智能摄像头、无人机和AR/VR等领域。通过集成Movidius的低功耗VPU技术,NCS提供了便携式的解决方案,减少对高性能GPU或TPU的依赖。开发者可以利用NCSDK和NC App Zoo进行模型开发和测试,NCS在保持高效性能的同时,功耗比传统GPU降低了至少10倍,特别适合电池供电的智能设备。

端设备数据预处理的强烈需求,大量 IoT 设备厂商会面临智能化变革,尤其是像智能摄像头、无人机、机器人、AR/VR 等领域的厂商。

通过将最新的 Movidius VPU 技术融入现有的 AI 端设备解决方案组合,Intel 已经准备好帮助开发者和数据科学家们开拓低功耗智能设备领域的边界。

  • Intel 的 Movidius 神经计算棒(NCS)
  • 神经计算 SDK(NCSDK)开发包

旨在降低开发者和数据科学家开发和制造智能端设备原型的门槛。

优化你深度学习模型时可以加速深度学习推理的辅助工具,这就是今天爱板网要给大家推荐的全球首款基于USB接口、便携小巧、且能加速深度学习推理的学习、开发、调试验证工具——由Intel推出的Movidius神经计算棒(Neural Compute Stick,为了方便,下文将简称NCS)。

GPU---Graphics Processing Unit 图形计算单元,通常就是我们说的显卡核心,负责处理图像信息,少量GPU也能当作CPU,协处理器负责科学计算。
CPU---Central Processing Unit 中央处理器,是电脑的核心部件,控制整个电脑的运行,显卡也不在话下。内部整合了逻辑处理器,控制器。

TPU---Tensor Processing Unit 张量处理单元,是一款为机器学习而定制的芯片,主要用于人工智能领域,一般人用不到。


不同于传统观点认为的那样,“深度学习就一定需要高性能的GPU、TPU、FPGA等硬件平台,一定需要高速的网络带宽”,NCS正在打破这种局限,为那些想入门人工智能领域的学生、从业者提供了一种边缘计算的深度学习可行性,而你达成这一切所需要的仅仅是一个支持Linux系统的便携式硬件平台,如市面上的树莓派、Up Board等,再加上一根Movidius神经计算棒即可,当然,要是有摄像头等外设那无疑是锦上添花。铺垫结束,是时候进入正题,来看看Intel的Movidius神经计算棒到底是个怎样的玩意。

Movidius的品牌很显眼,这是Intel16年收购的一家从事机器视觉芯片的公司,其Myraid系列VPU以低功耗高性能著称(下文详说),在大疆无人机,谷歌Clips相机上均被采用。

虽然暂时无法拆开NCS一探内部情况,但是从目前的信息来说,我们至少知道NCS可以加速深度学习推理主要依赖于内部的视觉处理单元(Vision Processing Unit) Myriad 2。这里有必要提一下,深度学习的细分领域非常多,而NCS主要的特点是针对深度学习中的图像和视频的处理

NCS(Neural Compute Service,神经计算服务)是专为运行深度学习推理任务而设计的解决方案,尤其适用于与Intel Movidius VPU(视觉处理单元)结合使用的场景。以下将介绍NCS服务的基本配置指南以及常见的问题和解决方案。 ### 3.1 NCS 服务配置指南 要设置 NCS 服务,首先需要安装 Intel 的 OpenVINO™ 工具包,这是支持 NCS2(基于 Movidius Myriad X VPU)的关键软件组件。配置过程包括以下几个主要步骤: - **安装 OpenVINO™ 工具包**:根据操作系统选择合适的版本进行安装。安装完成后,环境变量应自动配置,确保 `Inference Engine` 和 `Model Optimizer` 可用[^1]。 - **准备模型**:使用 OpenVINO™ 的 Model Optimizer 将训练好的模型转换为中间表示(IR)格式(`.xml` 和 `.bin` 文件)。这是在 NCS 设备上执行推理的前提条件[^1]。 - **编写推理服务代码**:使用 Inference Engine API 编写服务端代码,加载模型并在 NCS 设备上执行推理。示例代码如下(Python): ```python from openvino.runtime import Core # 初始化核心对象 ie = Core() # 读取模型 model = ie.read_model(model="path/to/your/model.xml") # 编译模型并指定设备(例如 MYRIAD 表示使用 NCS2) compiled_model = ie.compile_model(model=model, device_name="MYRIAD") # 创建推理请求 infer_request = compiled_model.create_infer_request() # 准备输入数据 input_data = ... # 根据模型要求准备输入数据 # 执行推理 outputs = infer_request.infer(input_data) # 获取结果 results = outputs[0] ``` - **部署服务**:将推理代码封装为 REST API 或 gRPC 服务,以便远程客户端可以发送推理请求并获取结果。可以使用 Flask、FastAPI 或其他 Web 框架实现[^1]。 ### 3.2 常见问题及解决方案 #### 3.2.1 设备未被识别 如果系统无法识别 NCS 设备,可能的原因包括: - USB 驱动未正确安装。确保安装了 `97-usbboot.rules` 等 udev 规则文件。 - 使用 `lsusb` 命令检查设备是否被系统识别。 - 尝试重新插拔设备或更换 USB 端口[^1]。 #### 3.2.2 模型加载失败 模型加载失败通常是因为模型格式不正确或路径错误。确保: - 模型文件(`.xml` 和 `.bin`)位于正确路径。 - 使用 `Inference Engine` 的 `read_model` 方法检查模型是否能被正确解析。 - 检查模型是否针对 NCS 设备进行了优化,例如使用 FP16 精度[^1]。 #### 3.2.3 推理性能低下 如果推理速度不如预期,可以尝试以下方法: - 调整批处理大小(batch size),适当增加可以提高吞吐量。 - 使用异步推理模式,以充分利用设备的并行处理能力。 - 优化输入数据预处理步骤,减少 CPU 开销[^1]。 #### 3.2.4 多设备支持问题 当使用多个 NCS 设备时,可能会遇到负载不均衡或设备冲突问题。建议: - 明确指定每个推理请求使用的设备 ID。 - 使用 `MULTI:MYRIAD` 设备字符串实现多设备自动负载均衡。 - 检查设备固件是否为最新版本,以避免已知的兼容性问题[^1]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值