当前位置:首页 > 经验 >

个人深度学习电脑配置(适合深度学习的电脑配置)

来源:原点资讯(www.yd166.com)时间:2022-10-27 21:07:33作者:YD166手机阅读>>

官网安装步骤:NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs (https://github.com/NVIDIA/nvidia-docker) 或者直接运行下面的命令:

##首先要确保已经安装了nvidia driver # 2. 添加源 distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list # 2. 安装并重启 sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker

安装完成后可以新建一个容器测试一下:

sudo docker run -it --name test_nvidia_docker --gpus all nvidia/cuda:11.1-base

其中最后的参数nvidia/cuda:11.1-base 是Nvidia官方的镜像,需要根据工作站主机中实际安装的cuda版本进行修改,版本可以用nvcc -V查看。

进入容器之后可以跑一下nvidia-smi命令看看:

个人深度学习电脑配置,适合深度学习的电脑配置(21)

现在可以在docker里面正常使用GPU啦~

3.6 测试

这里通过一个简单的python脚本测试一下GPU训练是否一切正常,跑一个DL里面的Hello World程序,通过两种方法测试:本地conda和docker虚拟机。

以后的开发过程中一般还是使用Docker的方式来进行更为优雅。

1. 本地Conda环境方式:

先用conda新建一个python3.8 pytorch1.7 cuda11.0的虚拟环境:

conda create --name python_38-pytorch_1.7.0 python=3.8

创建完成后进入环境:

conda activate python_38-pytorch_1.7.0

检查一下是否切换到所需环境了:

which pip

如果看到使用的确实是我们设置的环境目录中的pip的话说明就ok。

接下来在环境中安装pytorch,可以参考官网的安装命令:Start Locally | PyTorch(https://pytorch.org/get-started/locally/)

个人深度学习电脑配置,适合深度学习的电脑配置(22)

输入以下命令进行安装:

pip install torch==1.7.0 cu110 torchvision==0.8.1 cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

环境配置就完成了,下面新建一个简单的测试脚本验证功能,新建mnist_train.py,内容如下:

import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import torch.backends.cudnn as cudnn from torchvision import datasets, transforms class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 10, kernel_size=5) self.conv2 = nn.Conv2d(10, 20, kernel_size=5) self.conv2_drop = nn.Dropout2d() self.fc1 = nn.Linear(320, 50) self.fc2 = nn.Linear(50, 10) def forward(self, x): x = F.relu(F.max_pool2d(self.conv1(x), 2)) x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2)) x = x.view(-1, 320) x = F.relu(self.fc1(x)) x = F.dropout(x, training=self.training) x = self.fc2(x) return F.log_softmax(x, dim=1) def train(model, device, train_loader, optimizer, epoch): model.train() for batch_idx, (data, target) in enumerate(train_loader): data, target = data.to(device), target.to(device) optimizer.zero_grad() output = model(data) loss = F.nll_loss(output, target) loss.backward() optimizer.step() if batch_idx % 10 == 0: print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format( epoch, batch_idx * len(data), len(train_loader.dataset), 100. * batch_idx / len(train_loader), loss.item())) def main(): cudnn.benchmark = True torch.manual_seed(1) device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") print("Using device: {}".format(device)) kwargs = {'num_workers': 1, 'pin_memory': True} train_loader = torch.utils.data.DataLoader( datasets.MNIST('./data', train=True, download=True, transform=transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ])), batch_size=64, shuffle=True, **kwargs) model = Net().to(device) optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5) for epoch in range(1, 11): train(model, device, train_loader, optimizer, epoch) if __name__ == '__main__': main()

运行脚本,正常的话就可以看到训练输出了:

个人深度学习电脑配置,适合深度学习的电脑配置(23)

2. Docker环境方式:

首先还是新建一个Docker镜像,运行下面的命令:

sudo docker run -it --name train_mnist \ -v /etc/timezone:/etc/timezone \ -v /etc/localtime:/etc/localtime \ -v /home/pengzhihui/WorkSpace/_share:/home/workspace/_share \ --gpus all nvidia/cuda:11.1-base

就进入到了带gpu的ubuntu20.04容器中,效果可以参考文章开头的视频。按照前面的配置方法同样配置好pytorch和其他软件包,然后运行同样的脚本,也可以得到上述输出,说明gpu在docker中正常工作。

04

工作站维护篇

4.1 工作站系统备份还原

1. 备份

由于Linux本身万物皆文件的设计理念,加上root用户对几乎全部的系统文件都有访问和更改的权限,因此Linux系统的备份和还原其实非常简单,我们直接打包整个根文件系统就可以了。

我们可以使用tar命令来打包并压缩文件系统,不过这里在打包的过程中需要排除一些不需要文件,或者与新系统文件冲突的文件,包括/tmp、/proc、/lost found 等目录。

找一个你想保存备份文件的目录,运行下面的命令:

tar -cvpzf ubuntu_backup@`date %Y-%m %d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot --exclude=/lost found --exclude=/media --exclude=/mnt --exclude=/run /

我们会得到一个名为backup.tgz的压缩文件,这个文件包含我们需要备份的系统的全部内容。

2. 还原

如果系统没有出问题可以正常启动的话,那直接在刚刚的压缩包找找到想还原的文件替换就好了。而如果系统无法启动了,或者说想换一块硬盘克隆一样的系统,那么可以按一下步骤操作:

  • 重装干净的Ubuntu系统。跟上面介绍的一样,使用U盘给目标磁盘重装一个干净的系统,这一步是为了省去自己分配存储空间和挂载的麻烦,如果你会自己配置的话那也可以不做这一步。
  • 再次使用U盘进入系统,这次选择try ubuntu without installing,然后可以看到挂载好的刚刚安装了干净系统的另一个盘,我们在这里对盘里的根文件系统进行一些文件的提取:

sudo su # 在tryUbuntu根目录下有media文件夹,里面是U盘文件夹和新安装的系统文件夹,在在里分别用(U盘)和(UBUNTU)表示 cd /media/(U盘) mount -o remount rw ./ # 将新系统根目录下/boot/grub/grub.cfg文件备份到U盘中 sudo cp /media/(Ubuntu)/boot/grub/grub.cfg ./ # 将新系统根目录下/etc/fstab文件备份到U盘中,fstab是与系统开机挂载有关的文件,grub.cfg是与开机引导有关的文件,所以这一步至关重要 sudo cp /media/(UBUNTU)/etc/fstab ./ # 这一步删除新装ubuntu全部的系统文件,有用的fstab及grub.cfg已经备份 cd /media/(UBUNTU) sudo rm -rf ./* # 将U盘中backup.tgz复制到该目录下并解压缩 cp /media/(U盘)/backup.tgz ./ sudo tar xvpfz backup.tgz ./ # 创建打包系统时排除的文件 sudo mkdir proc lost found mnt sys media

这一步完成后,在用我们在新系统中备份的fatab及grub.cfg 文件去替换压缩包中解压出来的同名文件,sudo reboot重启后就发现系统已经恢复到备份时的状态,包括各种框架,环境,系统设置~

以上,后面有更新的话还会继续补充,希望对大家有帮助~

历史文章点击→查看

  • 教你用PyTorch玩转Transformer英译中翻译模型!
  • 深度学习工程技巧之网格调参
  • PyTorch使用预训练模型进行模型加载
  • 深度学习调参经验总结
  • PyTorch实现断点继续训练
  • Pytorch/Tensorflow-gpu训练并行加速trick(含代码)
  • 从NumPy开始实现一个支持Auto-grad的CNN框架
  • pytorch_lightning 全程笔记
  • 深度学习中的那些Trade-off
  • PyTorch 手把手搭建神经网络 (MNIST)
  • autograd源码剖析
  • 怎样才能让你的模型更加高效运行?
  • 来自日本程序员的纯C 深度学习库tiny-dnn

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。

个人深度学习电脑配置,适合深度学习的电脑配置(24)

栏目热文

适合初级深度学习的电脑配置(深度学习台式机配置清单)

适合初级深度学习的电脑配置(深度学习台式机配置清单)

#头条创作挑战赛#虽然已经离开校园很多年,但每当临近开学季,我总会坐在傍晚的窗边感慨万千,毕竟校园生活是多么值得回味...

2022-10-27 21:08:45查看全文 >>

怀旧服防骑练级太难了(怀旧服防骑100级天赋)

怀旧服防骑练级太难了(怀旧服防骑100级天赋)

作者:NGA-CuzMM 因为是部落,所以刚60没有任何装备基础,君王板甲一套。搜AH,买了一身巫术板甲,强烈推荐,高法...

2022-10-27 21:32:15查看全文 >>

魔兽世界怀旧服52级去哪里练级(魔兽世界怀旧服三十级去哪)

魔兽世界怀旧服52级去哪里练级(魔兽世界怀旧服三十级去哪)

经过一天半的连续奋战,小编在9月28日下午5点30分获得了某乡下小服的服务器第一80级萨满成就,我应该是最能肝的怀旧服小...

2022-10-27 21:12:24查看全文 >>

wow50-60升级攻略(魔兽世界50-60升级任务攻略)

wow50-60升级攻略(魔兽世界50-60升级任务攻略)

大家好,小编是奈奈小茶酱,长期混迹于何种不可描述服,体验各个职业、任务和副本的修仙玩家,随着8月27号官方怀旧服的开放,...

2022-10-27 21:17:43查看全文 >>

盗贼单人练级攻略(仙境传说盗贼练级攻略)

盗贼单人练级攻略(仙境传说盗贼练级攻略)

猎人被一些玩家认为是60级版本单人练级最强的职业。当你到达10级驯服宠物以后,你会发现猎人在野外杀怪的效率有一个质变,并...

2022-10-27 21:32:21查看全文 >>

适合深度学习的笔记本(做深度学习建议买什么笔记本)

适合深度学习的笔记本(做深度学习建议买什么笔记本)

IT之家 4 月 13 日消息,深度学习公司 Lambda 与雷蛇合作,发布了新的 Lambda Tensorbook ...

2022-10-27 21:01:07查看全文 >>

深度学习性价比电脑配置(如何配一台做深度学习的电脑)

深度学习性价比电脑配置(如何配一台做深度学习的电脑)

─1. pytorch概述, P, \1 z8 R r, \- ~│ 章节1-1Pytorch安装.mp4│ ├─2.深...

2022-10-27 21:40:13查看全文 >>

做深度学习研究的笔记本电脑推荐(做深度学习建议买什么笔记本)

做深度学习研究的笔记本电脑推荐(做深度学习建议买什么笔记本)

经营工学是一门结合了管理学、经济学、计算机、数学等学科的交叉学科。通俗来说,经营工学的研究内容即为如何使用工学的手段、如...

2022-10-27 21:23:34查看全文 >>

4万元深度学习电脑配置清单(2022年深度学习笔记本配置)

4万元深度学习电脑配置清单(2022年深度学习笔记本配置)

如果说2022年是Robotaxi商业化落地元年,那8月就是元年中的元月。8月1日,中国首部智能网联汽车管理法规在深圳正...

2022-10-27 20:58:18查看全文 >>

适合深度学习的台式电脑(深度学习推荐笔记本电脑)

适合深度学习的台式电脑(深度学习推荐笔记本电脑)

“一切为了孩子”这句早在我们这一代人小时候就有的口号,长大后为人父母,便成为了我们的教育孩子的初心。这几年随着家长们对孩...

2022-10-27 21:37:52查看全文 >>

文档排行