Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当训练pytorch的简单代码时,cpu比率增加。GPU大约为0%_Python_Visual Studio 2017_Gpu_Pytorch - Fatal编程技术网

Python 当训练pytorch的简单代码时,cpu比率增加。GPU大约为0%

Python 当训练pytorch的简单代码时,cpu比率增加。GPU大约为0%,python,visual-studio-2017,gpu,pytorch,Python,Visual Studio 2017,Gpu,Pytorch,我正在做一个英语教程 代码已明确完成。但我有一个问题 这是关于我的CPU使用率。 如果我参加培训,CPU使用率将提高到100%。 但GPU大约为0% 我安装了CUDA 9.2和cudnn。 我已经检查了关于torch.cuda.is_available()==True 还好吧,还是我的设置不对 1。。您是否将模型和输入张量显式地上传到GPU上,如下所示 比如说, # Configure your device device = torch.device("cuda:0" if torch.cu

我正在做一个英语教程

代码已明确完成。但我有一个问题

这是关于我的CPU使用率。 如果我参加培训,CPU使用率将提高到100%。 但GPU大约为0%

我安装了
CUDA 9.2
cudnn
。 我已经检查了关于
torch.cuda.is_available()==True


还好吧,还是我的设置不对

1。。您是否将模型和输入张量显式地上传到GPU上,如下所示

比如说,

# Configure your device
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# Upload your model onto GPU
net.to(device)
# Upload your tensor onto GPU
inputs, labels = inputs.to(device), labels.to(device)
二,。。您还可以使用“gpustat”检查GPU的使用情况。

安装后,您可以在终端上键入“gpustat”
如果您的代码在GPU上运行,GPU的使用将增加

3。。并检查是否已将以下CUDA路径添加到bashrc文件中。
以下CUDA路径是Ubuntu Linux上的常规路径,
但是,每个操作系统或您的设置的路径可能不同

您可以通过键入vim来打开bashrc文件。/.bashrc
当您使用Ubuntu Linux时,当前目录位于主目录

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
四,。。还要检查图形驱动程序是否已安装
如果您使用Ubuntu Linux,请在终端上键入nvidia smi。

您是否可以添加您是否尝试先将单个张量移动到GPU,并在开始培训之前查看您是否可以(手动)在GPU上执行操作?您是否确保GPU的所有功能都可用,并且在正确的设备上定义了您的型号?另外,您是否安装了
pytorch cpu
,而不是“完全成熟”的安装?@dennlinger感谢您的评论。我添加如下代码:device=torch.device(“cuda:0”如果torch.cuda.is可用()否则为“cpu”)输入,labels=data#假设我们在cuda机器上,这应该打印cuda设备:#打印(设备)输入,labels=inputs.to(设备),labels.to(设备)net.to(设备)//是否清楚?现在Cpu比率是23%,gpu是3%:(请将您的代码作为编辑添加到问题中,而不是添加到注释中,以获得更好的可视性。感谢您的评论:)我使用的命令如下:device=torch.device(“cuda:0”如果torch.cuda.is_可用()或者“Cpu”),因此,我可以使用我的gpu。但我留下了一个问题。我无法理解这样的命令输入,labels=inputs.to(设备),labels.to(设备)。你能给我解释一下吗?谢谢혹시 한국 분이신가요 ㅠㅠ? 저 库达사용은 했습니다만.. 输入,标签=输入。到(设备),标签。到(设备)이 커맨드를 사용하는 이유와 어떻게 사용해야하는지 정확하게 이해가 안되서요 ㅠㅠ 혹시 설명해주실 수 있으시다....@马克阿斯蒂尔안녕하세요. 기본적으로 연산은 中央处理器랑 内存에서 처리됩니다. 수동으로 矩阵(输入이미지 같은) 를 GPU에 올려야 GPU에서 연산을 할수 있습니다. 그 부분이 输入到(设备)이고 net.to(设备)를 써서 만들어놓은 模型을 GPU에 올리는 것도 똑같습니다. 装置부분은 device=torch.device(“如果torch.cuda.is可用,则cuda:0(),否则为“cpu”)여기에서 설정된것이고요. 이게 기본 흐름이니까 이 흐름대로 세부적인건 설정해보시면 될거에요 gpustat설치해서 확인해도 되고요.답변 감사합니다. pytorch.org의 辅导的만으로는 GPU사용에 대한 이해가 부족한거 같아, 혹시 皮托尔库达사용에 도움이 될만한 사이트가 있을까요? 답변 감사드립니다 :)@makeastir GPU사용법은 하나가 아니라 여러개가 될수도 있습니다. github에서 霍洛沃德라고 찾으시면 볼수 있는데 이런 외부 라이브러리도 있고요. 单GPU에서는 그나마 정형적인 방법으로서 위에처럼 사용하는것이 일반적인 방법이고 차후에 多GPU를 사용할때는 分布的를 사용 또는 비사용한다든지 하는 식으로 여러 방법이 있을 수 있습니다. 그에 따라 코드도 조금 추가/수정 해야하고요. 기본적인것은 皮托克공식홈에서 보고 저도 필요할 때마다 pytorch gpu,pytorch多gpu라고 검색하면 나오는 자료들을 봅니다. 위의 답변이 도움이 되셨으면 다음에 또 답변 드릴 수 있도록 답변선택 부탁드립니다.답변 감사드립니다 도움이 됬습니다!
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH