【onnx 模型推理加速】如何验证 onnxruntime-gpu 版本 安装成功

首先安装gpu 版本的onnx 包

pip install onnxruntime-gpu

要验证onnxruntime-gpu版本是否安装成功,并且GPU加速功能正常,你可以执行以下步骤:

  1. 检查安装的ONNX Runtime版本
    首先,你可以检查安装的ONNX Runtime版本,确保它是GPU版本的。在Python中运行以下代码:
    import onnxruntime
    print(onnxruntime.__version__)
    
    如果输出显示了安装的版本号,这表明ONNX Runtime已经安装。但是,这并不足以证明GPU加速功能是可用的。
  2. 检查GPU支持
    要检查ONNX Runtime是否识别到了GPU,你可以尝试创建一个会话,并指定使用CUDA执行提供者:
    providers = ['CUDAExecutionProvider']
    session = onnxruntime.InferenceSession('path/to/your/model.onnx', providers=providers)
    print(session.get_providers())
    
    如果输出列表中包含CUDAExecutionProvider,这表明ONNX Runtime已经安装了GPU支持,并且准备好使用GPU进行推理。
  3. 执行推理
    为了进一步验证GPU加速是否正常工作,你可以加载一个模型并执行推理:
    import numpy as np
    # 创建输入数据
    input_data = np.random.randn(1, 3, 224, 224).astype(np.float32)
    # 执行模型
    outputs = session.run(None, {'input': input_data})
    # 检查输出
    print(outputs)
    
    如果上述代码没有抛出任何错误,并且成功输出了推理结果,这表明GPU加速的ONNX Runtime正在正常工作。
  4. 检查GPU使用情况
    你还可以通过系统监视工具(如nvidia-smi)来检查GPU的使用情况。在执行ONNX Runtime推理时,GPU的使用率应该会有所增加。
    如果你在尝试上述步骤时遇到任何错误,这可能表明GPU加速功能没有正确安装或配置。在这种情况下,你可能需要检查CUDA和cuDNN是否正确安装,以及它们是否与你的GPU驱动程序兼容。此外,确保你的ONNX Runtime版本与你的CUDA版本相匹配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 对axios二次封装,配置api层,基于mock测试数据

一、初始化环境(默认都会安装vue3项目ts) 安装mock:全局安装 # 使用 npm 安装 npm install mockjs vite-plugin-mock # 使用 yarn 安装 yarn add mockjs vite-plugin-mock 二、进行配置 在vite.config.ts中进行配置 import { UserConfigEx…

JMeter--后置处理器--JSON提取器(JSON Extractor)

数据关联,可以通过JsonPath提取所需要的值,功能非常强大(注意取样器返回必须为 Json);底层采用jackson实现; 右键 >>> 添加 >>> 后置处理器 >>> JSON提取器(JSON E…

MATLAB算法实战应用案例精讲-【图像处理】图像分割(基础篇)(三)

目录 前言 知识储备 Labview图像处理 一、Vision图像工具安装 二、图像采集

NodeRed节点编辑用于边缘计算和规则引擎,能做带UI界面和业务逻辑的上位机或前端应用吗?

先说结论,可以,但是需要有页面嵌套继承类似的技术,实现页面模块化封装,否则难以实现复杂应用。 相信目光敏锐的人都在关注节点编辑在自身行业的应用! NodeRed在边缘计算做数据协议解析、以及物联网平台中作为规则链引…

实现 Android 设备屏幕录制的批处理脚本

在本文中,我们将介绍如何使用批处理脚本来实现在 Android 设备上进行屏幕录制,并将录制的视频文件传输到计算机上。这个脚本利用了 Windows 的批处理脚本和 Android 的 adb 工具。 背景 在进行 Android 应用开发、教学演示或问题排查时,我们…

推荐几本C#/.NET进阶书籍

前言 今天大姚给大家推荐7本C#/.NET进阶书籍,希望能帮助到有需要的小伙伴,当然假如你有更好的C#/.NET进阶书籍推荐欢迎文末留言。 C#/.NET/.NET Core推荐学习书籍(已分类):C#/.NET/.NET Core推荐学习书籍(…

golang rabbitmq客户端连接及重连

目录 1、连接、发送、发送异常、重连2、调用示例 1、连接、发送、发送异常、重连 package rabbitmqimport ("encoding/json""fmt""time""github.com/sirupsen/logrus""github.com/streadway/amqp" )type RabbitMQ struct {…

Spark在大数据集群下的部署

Spark部署文档 前提:需要保证配置好了三台装好hadoop的虚拟机hadoop102,hadoop103,hadoop104 下载地址 https://dlcdn.apache.org/spark/spark-3.2.0/spark-3.2.0-bin-hadoop3.2.tgz 条件 PYTHON 推荐3.8JDK 1.8 解压 解压下载的Spark安装包 tar…

春秋云境:CVE-2022-25578[漏洞利用]

通过题目标题查询漏洞信息 所以我们渗透的重点就要放在.htaccess文件上 这是一种分布式配置文件,所以我们先寻找web管理登录页面 打开主页就能看到右下角的“管理”,或者我们使用dirsearch进行扫描也可以 在登录页面尝试弱口令登录 输入该CMS相关的一…

几道练习题八

第 1 题 【 问答题 】 • 多项式相加 我们经常遇到两多项式相加的情况, 在这里, 我们就需要用程序来模拟实现把两个多项式相加到一起。 首先, 我们会有两个多项式,每个多项式是独立的一行, 每个多项式由系数、 幂数这样…

【游戏专区】贪吃蛇

1,游戏背景 贪吃蛇(Snake)是一款经典的电子游戏,最初在1976年由 Gremlin 公司开发。它的游戏背景相对简单,但具有高度的成瘾性。 1. **游戏场景**:通常在一个有界的矩形区域内进行,可以是一个…

关于Android绘制这一遍就够了

Android绘制基础 Android平台提供了一套完整的UI框架,其中包括了绘制组件和绘制API。在Android中,绘制主要涉及到两个核心概念:Canvas和Paint。 Canvas Canvas是Android中的一个类,它代表了绘图的画布。你可以在这个画布上进行…

Swift函数与闭包

一.Swift函数的定义与调用: Swift中的函数使用func关键字进行定义,语法如下: func 函数名(参数名1: 参数类型1, 参数名2: 参数类型2, ...) -> 返回类型 {// 函数体// 执行逻辑return 返回值 }其中,参数名和参数类型是可选的&…

Android Studio实现页面跳转

建立文件 temp.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"…

layui--table里使用switch

1. 项目需求 在layui.table上面渲染后的列表上面加一个switch开关&#xff0c;监听switch开关的动作&#xff0c;实现本列数据的状态切换&#xff01; 实现效果如下&#xff1a; 2. 实现方式 下面介绍的思路都是利用table的templet模板实现的&#xff0c;不同的在于模板代码…

Linux-内存文件

1. 基础IO操作 1.1 c语言的IO接口 fopen&#xff1a;打开一个文件&#xff0c;按照指定方式 参数&#xff1a;filename 文件名&#xff0c;也可以是路径&#xff0c;mode&#xff1a;打开方式 返回打开的文件指针 fread&#xff1a;从指定流中读数据 参数&#xff1a;从FIL…

Vuex 的原理

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store&#xff08;仓库&#xff09;。“store” 基本上就是一个容器&#xff0c;它包含着你的应用中大部分的状态 ( state )。 Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的…

没有理由不加倍努力

最近su7很火&#xff0c;各隐藏大佬都纷纷从后台来到前台&#xff0c;把整个网红界的网红等级提升了好几个档次。红衣大叔更是借此机会在疯狂地打造自己的网红IP。 千亿大佬都这还般努力&#xff0c;作为平民的自己哪还有不努力的理由。 加倍努力&#xff01;

29 共享内存

共享内存区是最快的IPC形式&#xff0c;一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到内核&#xff0c;不再执行进入内核的系统调用来传递彼此的数据 原理 系统在内存中申请一段空间&#xff0c;通过页表映射挂接到进程的共享区&#…