pytorch中设定使用指定的GPU

转自:http://www.cnblogs.com/darkknightzh/p/6836568.html

PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。

有如下两种方法来指定需要使用的GPU。

1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。

1.1 直接终端中设定:

CUDA_VISIBLE_DEVICES=1 python main.py

1.2 python代码中设定:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

见网址:http://www.cnblogs.com/darkknightzh/p/6591923.html

2. 使用函数 set_device

import torch
torch.cuda.set_device(id)

该函数见 pytorch-master\torch\cuda\__init__.py。

不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。

时间: 2024-10-22 07:10:35

pytorch中设定使用指定的GPU的相关文章

Pytorch中多GPU训练指北

前言 在数据越来越多的时代,随着模型规模参数的增多,以及数据量的不断提升,使用多GPU去训练是不可避免的事情.Pytorch在0.4.0及以后的版本中已经提供了多GPU训练的方式,本文简单讲解下使用Pytorch多GPU训练的方式以及一些注意的地方. 这里我们谈论的是单主机多GPUs训练,与分布式训练不同,我们采用的主要Pytorch功能函数为DataParallel而不是DistributedParallel,后者为多主机多GPUs的训练方式,但是在实际任务中,两种使用方式也存在一部分交集.

将Pytorch模型从CPU转换成GPU

1. 如何进行迁移 对模型和相应的数据进行.cuda()处理.通过这种方式,我们就可以将内存中的数据复制到GPU的显存中去.从而可以通过GPU来进行运算了. 1.1 判定使用GPU 下载了对应的GPU版本的Pytorch之后,要确保GPU是可以进行使用的,通过torch.cuda.is_available()的返回值来进行判断.通过torch.cuda.device_count()可以获得能够使用的GPU数量.其他就不多赘述了. 常常通过如下判定来写可以跑在GPU和CPU上的通用模型: 1 if

[PyTorch]PyTorch中反卷积的用法

文章来源:https://www.jianshu.com/p/01577e86e506 pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, groups=1, bias=True) class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_si

[Pytorch]Pytorch中tensor常用语法

原文地址:https://zhuanlan.zhihu.com/p/31494491 上次我总结了在PyTorch中建立随机数Tensor的多种方法的区别. 这次我把常用的Tensor的数学运算总结到这里,以防自己在使用PyTorch做实验时,忘记这些方法应该传什么参数. 总结的方法包括: Tensor求和以及按索引求和:torch.sum() torch.Tensor.indexadd() Tensor元素乘积:torch.prod(input) 对Tensor求均值.方差.极值: torch

Pytorch 中的 dim

Pytorch 中对 tensor 的很多操作如 sum.argmax.unsqueeze 等都可以设置 dim 参数用来指定操作在哪一维进行.Pytorch 中的 dim 类似于 numpy 中的 axis,这篇文章来总结一下 Pytorch 中的 dim 操作. dim 与方括号的关系 创建一个矩阵 a = torch.tensor([[1, 2], [3, 4]]) print(a) 输出 tensor([[1, 2], [3, 4]]) 因为a是一个矩阵,所以a的左边有 2 个括号 括号

[深度学习] Pytorch(三)—— 多/单GPU、CPU,训练保存、加载模型参数问题

[深度学习] Pytorch(三)-- 多/单GPU.CPU,训练保存.加载预测模型问题 上一篇实践学习中,遇到了在多/单个GPU.GPU与CPU的不同环境下训练保存.加载使用使用模型的问题,如果保存.加载的上述三类环境不同,加载时会出错.就去研究了一下,做了实验,得出以下结论: 多/单GPU训练保存模型参数.CPU加载使用模型 #保存 PATH = 'cifar_net.pth' torch.save(net.module.state_dict(), PATH) #加载 net = Net()

PyTorch中scatter和gather的用法

PyTorch中scatter和gather的用法 闲扯 许久没有更新博客了,2019年总体上看是荒废的,没有做出什么东西,明年春天就要开始准备实习了,虽然不找算法岗的工作,但是还是准备在2019年的最后一个半月认真整理一下自己学习的机器学习和深度学习的知识. scatter的用法 scatter中文翻译为散射,首先看一个例子来直观感受一下这个API的功能,使用pytorch官网提供的例子. import torch import torch.nn as nn x = torch.rand(2,

PHP判断字符串中是否包含指定字符串,支持中文哦

RT,随手写的 1 /** 2 * 判断字符串中是否包含指定字符串 3 * @var source 源字符串 4 * @var target 要判断的是否包含的字符串 5 * @return bool 6 */ 7 function hasstring($source,$target){ 8 preg_match_all("/$target/sim", $source, $strResult, PREG_PATTERN_ORDER); 9 return !empty($strResul

sql 中如何取出指定行: Row_Number

原文:sql 中如何取出指定行: Row_Number ROW_NUMBER (Transact-SQL) USE AdventureWorks2008R2;GOWITH OrderedOrders AS(    SELECT SalesOrderID, OrderDate,    ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'    FROM Sales.SalesOrderHeader ) SELECT * FROM Ordered