python在多卡服务器中指定某块显卡允许程序 -- 本机为mac,服务器为Linux, nvidia

news2025/1/17 23:13:10

1 在pychram环境变量中设置

        在pycharm端操作,操作步骤如下:

(1)操作右上角:Edit Configurations...

 (2)在 Edit Configurations界面可以选择设置哪个程序的cuda,如图:

 (3)还是(2)的界面,添加CUDA_VISIBLE_DEVICES=3,3可以改成任何可使用的显卡序号,

 (4)最后Apply就好;

(5)需要注意的是在代码端默认,设置的第三块卡的编号为0,为起始显卡,第四块编号为1;

        代码书写 直接:

model = model.cuda()

2 利用CUDA_VISIBLE_DEVICES设置可用显卡

(1)在代码中直接指定显卡: -- 该操作和上述 环境变量操作等价;

import os

os.environ['CUDA_VISIBLE_DEVICES'] = '3'

        注意该代码需要放在 import torch 之前,否则会失效;

举例:

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '1,2,3'

import torch

print("torch版本号:", end="")
print(torch.__version__)
print("判断torch是否可用:", end="")
print(torch.cuda.is_available())

print("gpu数量:", end="")
print(torch.cuda.device_count())

print("gpu名字,设备索引默认从0开始:", end="")
print(torch.cuda.get_device_name(0))
print("现在正在使用的GPU编号:", end="")
print(torch.cuda.current_device())

# 输出
torch版本号:1.12.1+cu102
判断torch是否可用:True
gpu数量:3
gpu名字,设备索引默认从0开始:Tesla V100-PCIE-32GB
现在正在使用的GPU编号:0

(2)在命令行中指定GPU运行

CUDA_VISIBLE_DEVICES='3' python3 train.py

(3)在命令行执行脚本文件中指定

CUDA_VISIBLE_DEVICES='3' sh run.sh

3 cuda()方法和torch.cuda.set_device()

(1)cuda()

model.cuda('3') # gpu_id为int类型变量,只能指定一张显卡

model.cuda('cuda:3') #输入参数为str类型,可指定多张显卡

model.cuda('cuda:1,2') #指定多张显卡的一个示例

(2)torch.cuda.set_device()

torch.cuda.set_device('3') #单卡

torch.cuda.set_device('cuda:2,3') #可指定多卡

        但是这种写法的优先级低,如果model.cuda()中指定了参数,那么torch.cuda.set_device()会失效;

        而且pytorch的官方文档中明确说明,不建议用户使用该方法。

参考:python直接控制显卡_在pytorch中指定显卡_weixin_39630855的博客-CSDN博客

使用指定GPU训练模型:os.environ[‘CUDA_VISIBLE_DEVICES‘]设置无效问题解决——随笔_"os.environ[\"cuda_visible_devices\"]"_BXDBB的博客-CSDN博客

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

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

相关文章

java基于ssm框架开发的视频论坛网站源码

简介 Java基于ssm开发的视频论坛网站,普通用户可以浏览视频搜索视频评论点赞收藏视频,关注用户。还可以浏览新闻,发布帖子到论坛。 演示视频 https://www.bilibili.com/video/BV15T4y1P7kk/?p2&share_sourcecopy_web&vd_sourceed0…

【阶段三】Python机器学习24篇:机器学习项目实战:XGBoost回归模型

本篇的思维导图: 项目实战(XGBoost回归模型) 项目背景 为了降低不良贷款率,保障自身资金安全,提高风险控制水平,银行等金融机构会根据客户的信用历史资料构建信用评分卡模型给客户评分。根据客户的信用得分,可以预估客户按时还款的可能性,并据此决定是否发放贷款…

DX-BT18 双模蓝牙模块介绍

DX-BT18双模蓝牙模块简介DX-BT18 双模蓝牙模块是深圳大夏龙雀科技有限公司专为智能无线数据传输而打造,遵循蓝牙4.2标准协议的双模蓝牙模块(Dual-Mode) 同时支持 BT3.0 Classic 和 BT4.2 BLE模式。 DX-BT18模块应用于无线数据传输领域&#x…

72.全卷积神经网络(FCN)及代码实现

语义分割是对图像中的每个像素分类。 全卷积网络(fully convolutional network,FCN)采用卷积神经网络实现了从图像像素到像素类别的变换 。 与我们之前在图像分类或目标检测部分介绍的卷积神经网络不同,全卷积网络将中间层特征图的…

【正点原子FPGA连载】 第十九章 LED灯闪烁实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十九章 LED灯闪…

聊聊Go与TLS 1.3

除了一些综述类文章和译文,我的文章选题多来源于实际工作和学习中遇到的问题。这次我们来聊聊近期遇到一个问题:如何加快基于TLS安全通信的海量连接的建连速度?TLS(Transport Layer Security)传输安全层的下面是TCP层,我们首先可能会想到的是…

【魅力开源】第4集:今天不讲ODOO,今天讲“中小企业的信息化如何做”

文章目录前言一、中小企业很重要二、企业全要素三、信息化逐步全面覆盖1. 信息化落地路径2. 消除信息孤岛是信息化的关键环节3. 中小企业信息化正在从产品市场向服务市场转变最后前言 在软件公司打补丁,我并不快乐 看到中小企业挣扎现状,让我痛苦 能够帮…

2023年最新黑马程序员Java微服务项目--学成在线

正式上线Java微服务项目《学成在线》 项目对程序员的重要性 不用播妞多说了吧 更重要的是 这次是完整!实战!企业级!项目! 划重点:全新发布!正式上线! 《学成在线》项目以在线教育业务为基础…

Spring AOP【用户登陆统一验证功能】

Spring AOP【用户登陆统一验证功能】🍎一. 用户登陆统一验证功能🍒1.1 用户登录验证的几种方法🍒1.2 创建前端页面🍒1.3 创建登陆方法和欢迎进入方法🍒1.4 自定义一个拦截器🍒1.5 验证拦截功能&#x1f349…

API--应用层之间的应用程序接口

API的前言互联网的应用特点是具有开放式的业务体系结构之一。关键的技术就是网络控制与应用层之间的应用程序接口--API。通过API接口很多问题便水到渠成,迎刃而解 。API到底是一种什么技术呢具有开放式的业务体系结构将是下一代网络的重要特征之一。其中&#xff0c…

干货 | APP和小程序在开发有什么区别?

随着互联网的不断进步,移动终端在生活中的应用也越来越多。 据工信部数据显示,截至2022年11月底,国内市场监测到的APP数量为272万款,其中App Store(中国区)的APP数量为136万款,本土第三方应用商店(主要是安…

数据库连接池监控的另类方案

如果这篇对你有帮助,还请麻烦转发。谢谢。数据库的连接池的监控的重要性假如,我们在公有云上存在一个数据库数据库实例X。公有云配置中已经说明X所支持的最大连接数是1000。如果数据库X的实际连接数达到了1000,那么,新的连接就无法…

输入的文本就能演奏一段爵士乐? #Riffusion

riff diffusion 是 stable diffusion 的微调模型,以生成频谱图图像来转换音乐。能产生更精准的声音模型叫:Riffusion。它能对音频进行剪辑处理,或者是无限地修改提示符。Riffusion图源:riffusion 官网频谱图频谱图是音频声波的视…

【超分综述】

A comprehensive review on deep learning based remote sensing image super-resolution methods (基于深度学习的遥感图像超分辨率方法综述) 卫星图像是地球科学领域各种应用的重要地理信息源。然而,由于光学和传感器技术的局限性以及传感器和设备更新的高成本&…

迅为i.MX8M Mini开发板debug调试方法(Qir trl RIL驱动不工作)

可能导致 Quectel RIL 操作失败的原因有很多。一些常见的原因如下所示,用于故障排除。 1 输入以下命令用于检查 ril daemon 的状态。如果未返回任何值,或者返回了 Stopped 或 Restarting 等 值而不是 Running,则表明 RIL 守护进程未运行。 ge…

时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测

时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测 目录 时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测预测效果基本介绍环境配置程序设计模型效果参考资料预测效果 基本介绍 使用时间注意卷积神经网络进行…

2023版大数据学习路线图(适合自学)

随着信息产业的迅猛发展,大数据应用逐渐落地,行业人才需求量逐年扩大。大数据成为目前最具前景的高薪行业之一,大数据分析工程师、大数据开发工程师等大数据人才也成为市场紧缺型人才,薪资一涨再涨。很多人想要加入到大数据开发行…

学会这几个方法,帮你轻松完成工作

方法一:分节 分节有比分页更体贴入微的分节功能。 “节”在word中是很重要的,它代表着文档中的标记。 分页只是视觉上产生了一个新页,分节让Word在内容上建立一个个不同的区域。 操作方法: 鼠标光标定位在需要分节的文档位置…

Java-Jstack-生产问题的排查死锁/泄露/cpu负载

文章目录 排查死锁jdk自带的jstack排查死锁jdk自带的jconsole排查死锁排查CPU爆满内存溢出、泄漏排查内存溢出定位 - 内存泄漏内存溢出实战排查死锁 首先如果是本地开发环境可以通过JVisualVM查看是否有长时间休眠的线程 注意:正式部署版本不会用JVisualVM,会留下漏洞jdk自带…

第一天总结之项目的搭建

第一天总结之项目的搭建: Mvc框架的搭建 1、创建一个javaWeb项目 创建项目 添加web支持 在Web-INF下创建 classes和lib文件夹 重构项目 配置tomcat 2、搭建 Mvc框架 在src下创建 com.edu文件夹 在其下分别创建controller dao entity filter service utils文件夹…