指定GPU训练:服务器双显卡同时跑两个深度学习网络的解决方法

目录

指定GPU训练:服务器双显卡同时跑两个深度学习网络的解决方法

1.指定GPU训练

情况描述:服务器上有两块GPU显卡。我想同时运行两个深度学习网络。第一个代码使用 gpu0,另一个代码使用 gpu1。

参考链接:

1.1.解决方案1.1.1 直接从终端指定(推荐,简单方便)

直接在终端输入 CUDA_VISIBLE_DEVICES=2 python train.py

CUDA_VISIBLE_DEVICES从0开始,如果有两个就是0和1。

然后直接连接运行命令

例子:

1.1.2 python代码中的设置:

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

参见网址:

1.1.3.使用函数set_device

import torch
torch.cuda.set_device(id)

有关此函数,请参阅 pytorch-master\torch\cuda\__init__.py。

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

解决方案

1.2.检查操作是否成功

在终端输入nvidia-smi查看gpu使用情况。可以看到我的两张卡都被使用了。

2、ssh断线后使用tmux继续运行程序

当我使用笔记本电脑连接服务器时,经常会因为网络状况不佳而断开连接。我很容易前功尽弃,所以师傅教我怎么用,放个链接。

2.1 安装tmux

sudo apt安装tmux

2.2 创建新会话

首先,tmux有会话的概念,类似于工作空间的感觉。运行 tmux 时,首先建立一个会话,然后在会话中运行它。

输入以下命令建立会话。

tmux new -s uav

new表示创建一个新的会话,-s是session的缩写,后面跟会话的名称。

2.3 在会话中执行程序

进入不同的命令行界面(如下图),这个界面和正常的终端环境没有什么区别。唯一的区别是,只要不关闭电源,该终端中运行的所有程序都会继续运行。运行,您将继续在 ssh 断开连接并重新连接时的位置。

在新的会话中输入执行命令开始执行(放在终端上之前最好先验证一下程序没有错误)

2.4 查看当前存在的会话

使用以下命令查看当前存在的会话

哦,有三个

2.4 进入指定会话

进入 gpu1 会话。我们现在重新连接吧。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读