Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

MNN 是阿里巴巴开源的轻量级深度学习推理框架,专注于移动端和嵌入式设备的模型部署。它支持高效的模型推理和训练,广泛应用于阿里巴巴的多种业务场景,如淘宝、钉钉和优酷等。MNN 提供跨平台的兼容性,支持 iOS、Android 以及嵌入式设备,优化了 CPU 和 GPU 的计算性能。它的核心优势在于轻量化、高性能和易用性,能大幅降低模型部署的资源消耗。MNN-LLM 是基于 MNN 开发的语言模型运行方案,支持多种大型语言模型在本地运行,保障数据隐私。框架开源在 GitHub 上,社区活跃,提供丰富的文档和示例,适合开发者快速上手。

MNN:轻量高效的深度学习推理框架-1

 

Lista de funções

  • 支持多种深度学习模型格式,包括 TensorFlow、Caffe、ONNX 和 TorchScript。
  • 提供高效的模型推理,支持 CNN、RNN、GAN 和 Transformer 等神经网络。
  • 支持多设备混合计算,涵盖 CPU 和 GPU(Metal、OpenCL、Vulkan)。
  • 提供 MNN-LLM,实现在移动端和 PC 上运行大型语言模型。
  • 支持模型量化(如 FP16 和 Int8),减少模型大小 50%-70%。
  • 提供 MNN-Express,支持控制流模型和通用计算。
  • 内置 MNN-CV,轻量化的类 OpenCV 图像处理库。
  • 支持 MNN-Train,用于训练 MNN 模型。
  • 提供多模态应用,如 MNN-LLM-Android,支持文本、图像和音频处理。

 

Usando a Ajuda

Processo de instalação

要在本地使用 MNN,首先需要从 GitHub 仓库克隆项目代码。以下是详细的安装步骤:

  1. armazém de clones
    打开终端,运行以下命令克隆 MNN 仓库:

    git clone https://github.com/alibaba/MNN.git
    
  2. Instalação de dependências
    MNN 支持 iOS 8.0+、Android 4.3+ 以及 POSIX 接口的嵌入式设备。确保系统安装了必要的编译工具:

    • Linux/macOS:安装 CMake(3.10 或以上)、Git 和 GCC/Clang。
      sudo apt-get install cmake git build-essential
      
    • Android (sistema operacional):安装 Android NDK(r17 或以上)。
    • iOS:确保安装 Xcode 和 Metal 支持。
  3. 编译 MNN
    进入 MNN 目录,创建构建文件夹并运行 CMake:

    cd MNN
    mkdir build && cd build
    cmake .. -DMNN_BUILD_MINI=ON
    make -j4
    

    fazer uso de MNN_BUILD_MINI 可减少约 25% 的包大小,适合资源受限的设备。编译完成后,生成的可执行文件和库文件位于 build Catálogo.

  4. 安装 MNN-LLM Android 应用
    对于 MNN-LLM Android 应用,可从 GitHub Releases 页面下载预编译的 APK 文件,或自行构建:

    • 下载源码:project/android/apps/MnnLlmApp.
    • 使用 Android Studio 打开项目,配置 NDK 路径,点击 Build > Build APK。
    • 安装 APK 到 Android 设备,设备需支持 Android 4.3 或以上。

使用 MNN 进行模型推理

MNN 的核心功能是模型推理。以下是具体操作步骤:

  1. transformação de modelos
    MNN 支持 TensorFlow、Caffe、ONNX 等模型格式。需将模型转换为 MNN 格式:

    • 假设有一个 TensorFlow 模型 model.pbExecute o seguinte comando:
      ./MNNConvert -f TF --modelFile model.pb --MNNModel model.mnn --bizCode MNN
      
    • 转换后的 model.mnn 文件即可用于推理。
  2. 加载和运行模型
    MNN 提供 C++ 和 Python API 用于推理。以下是一个简单的 C++ 示例:

    #include <MNN/Interpreter.hpp>
    int main() {
    auto mnnNet = MNN::Interpreter::createFromFile("model.mnn");
    auto session = mnnNet->createSession();
    // 输入数据
    auto input = mnnNet->getSessionInput(session, nullptr);
    // 运行推理
    mnnNet->runSession(session);
    // 获取输出
    auto output = mnnNet->getSessionOutput(session, nullptr);
    return 0;
    }
    

    开发者可参考 demo/ 目录中的示例代码。

  3. 使用 MNN-LLM
    MNN-LLM 支持在移动端运行大型语言模型(如 Qwen、Llama)。安装 MNN-LLM Android 应用后:

    • 打开应用,浏览支持的模型列表。
    • 点击下载模型(如 Qwen-7B),模型会存储在设备本地。
    • 输入文本提示,应用将返回生成结果。
    • 支持多模态任务,如图像描述或音频转文本,操作类似,上传对应文件即可。
      应用运行完全离线,数据不上传至服务器,保障隐私。
  4. otimizar o desempenho
    • fazer uso de FP16 talvez Int8 量化模型,降低内存占用。
    • 启用 GPU 加速(需设备支持 Metal 或 Vulkan)。
    • 对于复杂模型,可通过 MNN-Express 优化控制流计算。

使用 MNN-CV 进行图像处理

MNN-CV 提供轻量化的图像处理功能,类似 OpenCV。示例代码:

#include <MNN/ImageProcess.hpp>
int main() {
MNN::CV::ImageProcess::Config config;
config.destFormat = MNN::CV::RGB;
auto process = MNN::CV::ImageProcess::create(config);
// 加载图像
process->convert(imageData, width, height, 0, output);
return 0;
}

开发者可参考 include/MNN/ImageProcess.hpp 获取更多功能。

 

cenário do aplicativo

  1. 移动端 AI 应用
    MNN 在淘宝、钉钉等应用中支持图像搜索、推荐系统和直播特效。例如,淘宝使用 MNN 进行商品图像识别,用户上传图片即可快速找到相似商品。
  2. 嵌入式设备部署
    MNN 支持 IoT 设备,用于智能家居或工业场景。例如,在智能摄像头中运行人脸检测模型,单帧处理仅需 5 毫秒。
  3. 本地化语言模型
    MNN-LLM 允许用户在手机上运行大型语言模型,适合隐私敏感场景,如本地文档摘要或语音助手。
  4. tarefa multimodal
    MNN-LLM Android 应用支持图像描述、音频转文本等功能,适用于家庭维修、语音笔记等场景。

 

QA

  1. MNN 支持哪些模型格式?
    MNN 支持 TensorFlow、Caffe、ONNX 和 TorchScript 格式,覆盖 178 个 TensorFlow 操作、158 个 ONNX 操作等。
  2. 如何在低端设备上运行 MNN?
    fazer uso de MNN_BUILD_MINI 编译选项减少包大小,并启用 Int8 量化降低内存占用。
  3. MNN-LLM 是否支持外部模型?
    当前需重新编译应用以加载外部模型,官方计划未来改进模型导入方式。
  4. MNN 的性能如何?
    MNN 在 MobileNet 等模型上比 TensorFlow Lite 快 20% 以上,MNN-LLM 在 Android 上推理速度比 llama.cpp 快 8.6 倍。
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil