NCS

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

端设备数据预处理的强烈需求,大量 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) 和 LPUART 的配置与使用 #### NCS 神经计算简介 Intel® Movidius™ Neural Compute Stick (NCS) 是一款用于加速深度学习推理的小型 USB 设备。该设备能够显著提升边缘端的机器视觉应用性能,适用于多种操作系统环境,包括 Ubuntu*, CentOS*, Yocto* OS, Windows 及 Raspberry Pi 官方系统[^2]。 #### LPUART 接口概述 低功耗通用异步收发传输器 (Low-Power Universal Asynchronous Receiver Transmitter, LPUART) 提供了一种串行通信机制,在嵌入式系统中广泛应用于连接外部传感器或其他微控制器单元(MCU)[^1]。 #### 配置 NCS 使用 LPUART 进行数据交换 尽管 NCS 主要通过 USB 接口工作,但在某些应用场景下可能涉及到与其他硬件组件之间的 UART 通讯需求。对于这类情况: - **确认兼容性**:确保所使用的开发板支持 LPUART 功能,并且可以适配 NCS。 - **驱动程序安装**:如果目标平台为 Linux 发行版,则需验证内核版本是否已内置相应驱动;如果不是,则应按照官方文档指引完成必要的驱动加载过程。 - **编程接口调用**:利用 Python 或 C++ API 对 NCS 编程时,可以通过标准库函数实现简单的读写操作来控制外设间的交互行为。下面给出一段基于 PySerial 库的例子代码片段展示如何初始化并发送命令给另一个带有 LPUART 接口的模块: ```python import serial ser = serial.Serial( port='/dev/ttyUSB0', # 替换为实际串口号 baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS ) if ser.isOpen(): print("Port is open.") else: try: ser.open() print("Opened port successfully.") except Exception as e: print(f"Error opening port: {str(e)}") command = b'YOUR_COMMAND_HERE\r\n' ser.write(command) response = ser.readline().decode('utf-8').strip() print(response) ser.close() ``` 此脚本展示了基本的打开、关闭以及向指定串行端口发送指令的方法。需要注意的是具体路径 `/dev/ttyUSB0` 可能会因不同系统的命名习惯而有所差异,请根据实际情况调整参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值