深度学习远程炼丹:一文离线完成ubuntu+docker+pycharm环境配置(代码片段)

Yunlord Yunlord     2022-12-03     587

关键词:

文章目录


前言

本文详细讲解如何在离线服务器中安装docker+pycharm的远程深度学习环境,先得在一台能够连接互联网的电脑上下载相应的包和环境,然后再进行移植,详细步骤如下所示。

一、Ubuntu离线安装docker

当本地电脑无法连接外网时,只能使用离线安装的模式,在Docker的官网提供了离线下载的安装包,选择适配自己的环境即可。
下载地址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64

需要下载三个文件:containerd.io_1.2.5-1_amd64.deb、docker-ce-cli_18.09.63-0ubuntu-bionic_amd64.deb 和docker-ce_18.09.63-0ubuntu-bionic_amd64.deb ,前面两者是后者的依赖,如果直接安装后者会提示缺少前面的依赖,将这三个文件放到本地目录后分别进行安装:

ubuntu@ubuntu:~$ sudo dpkg -i docker-ce-cli_18.09.6~3-0~ubuntu-bionic_amd64.deb 
ubuntu@ubuntu:~$ sudo dpkg -i containerd.io_1.2.5-1_amd64.deb
ubuntu@ubuntu:~$ sudo dpkg -i docker-ce_18.09.6~3-0~ubuntu-bionic_amd64.deb 

之后Docker的守护进程就自动启动了,可查看Docker的版本:

ubuntu@ubuntu:~$ docker -v
Docker version 18.09.6, build 481bc77

设置docekr-ce开机自启动

sudo systemctl enable docker
sudo systemctl start docker

如果不想每次执行docker命令的时候使用sudo,可执行如下命令:

$ sudo usermod -aG docker your-user

然后我们需要添加DNS不然会报错Temporary failure resolving ‘archive.ubuntu.com‘:

vim /etc/resolv.conf

添加

nameserver 114.114.114.114
nameserver 8.8.8.8

重启docker

service docker restart

二、dockerhub下载合适镜像

另外,镜像也需要离线拷贝到本地,需要先pull拉取镜像后另存为tar文件拷贝到本地解压。
例如,拷贝测试Docker的pytorch镜像拷本地使用,首先需要在dockerhub公网环境选择合适的镜像,然后拉取镜像:

docker pull bitnami/pytorch```

三、配置docker容器

1.运行容器

docker run -v  /opt/workplace:workplace --name pytorchnlp -p 8080:22 -it bitnami/pytorch

2.给容器安装openssh-server和openssh-client

apt-get install openssh-server
apt-get install openssh-client
apt-get install vim

3.vim打开并修改配置文件

vim /etc/ssh/sshd_config
#Authentication:
PermitRootLogin yes
RSAAuthentication yes # 允许root进入
PubkeyAuthentication yes

然后将镜像转换为tar文件:

$ sudo docker save -o pytorch.tar bitnami/pytorch

4.创建docker中root用户的密码:

passwd root

5.重启ssh服务

service ssh restart

6.确认docker容器内python位置

which python

7.测试是否映射成功

退出docker,或者新启终端:

ssh root@127.0.0.1 -p 8080

如果弹出输入密码,则成功,输入之前设置的密码即可进入。

8.生成新的镜像

docker commit 7843e0556e67 bertpytorch

9.导出镜像

docker save -o bertpytorch.tar bertpytorch

10.导入镜像

docker load --input bertpytorch.tar

四、配置pycharm连接docker容器

1.打开Configuration配置远程连接

2.添加sftp–输入IP地址,端口,密码后测试连接

3.本地项目和容器项目映射

4.本地和远程容器 代码同步

5.选择设置python编译器

6.选择SSH Interpreter后 找到之前设置的ip:端口,点击Next

选择之前whichp ython得到的 /usr/local/bin/python
选择本地路径和项目路径
完成后pycharm连接docker容器完成

总结

里面一些具体步骤还不明白的可以在评论区里留言讨论。


参考:
Temporary failure resolving ‘archive.ubuntu.com‘
pycharm连接docker容器

深度学习调参(炼丹)指南来了!

 Datawhale干货 方向:深度学习调参,编辑:机器之心「大量的实践经验已被提炼成这份强大的深度学习模型调参指南。」——GeoffreyHinton。众所周知,AI的超参数决定着模型学习效果和速度。相比普通机器学习任... 查看详情

深度学习炼丹-数据预处理和增强(代码片段)

前言一,Normalization概述1.1,Normalization定义1.2,什么情况需要Normalization1.3,DataNormalization方法1.4,示例代码二,normalizeimages2.1,图像normalization定义2.2,图像normalization的好处2.3,PyTorch实践图像normalization三,数据增强(扩增)3.1,open... 查看详情

深度学习炼丹-数据标准化(代码片段)

前言一般机器学习任务其工作流程可总结为如下所示pipeline。在工业界,数据预处理步骤对模型精度的提高的发挥着重要作用。对于机器学习任务来说,广泛的数据预处理一般有四个阶段(视觉任务一般只需DataTransformation):数据... 查看详情

深度学习炼丹-数据标准化(代码片段)

前言一般机器学习任务其工作流程可总结为如下所示pipeline。在工业界,数据预处理步骤对模型精度的提高的发挥着重要作用。对于机器学习任务来说,广泛的数据预处理一般有四个阶段(视觉任务一般只需DataTransform... 查看详情

远程炼丹:zerotier内网穿透+vscode配置远程开发+tmux终端复用(代码片段)

平时在开发深度学习等相关项目时,往往需要大型服务器或工作站的支持,远程开发时使用向日葵等远程桌面软件往往不是那么明知,多人使用冲突、限速卡顿,代码体验极其**。那么有没有更好的解决方案呢ÿ... 查看详情

你都有哪些炼丹神器深度学习(rnn、cnn)调参的经验?

对于rnn和cnn这种深度学习模型,常用的炼丹神器可能包括:调节学习率:学习率较小可以保证模型在训练时稳定,但是训练速度较慢;学习率较大可能会使模型在训练时快速收敛,但是有可能导致过拟合。调节隐藏单元数量:隐... 查看详情

《繁凡的深度学习笔记》前言目录大纲一文弄懂深度学习所有基础

《繁凡的深度学习笔记》前言、目录大纲一文弄懂深度学习所有基础!●●●本文《繁凡的深度学习笔记》是我自学完成深度学习相关的教材、课程、论文、项目实战等内容之后,自我总结的学习笔记^q^写文章就图一乐&#... 查看详情

一文看懂深度学习——人工智能系列学习笔记

深度学习有很好的表现,引领了第三次人工智能的浪潮。目前大部分表现优异的应用都用到了深度学习,大红大紫的AlphaGo就使用到了深度学习。本文将详细的给大家介绍深度学习的基本概念、优缺点和主流的几种算法。... 查看详情

一文详解深度学习中的normalization

一、深度学习中的InternalCovariateShift(ICS)深度学习的训练过程可以看成很多层的叠加,而每一层的参数更新会导致下一层输入数据的分布发生变化,通过层层累加,高层的输入分布变化会非常剧烈导致上层的数据需要不断去变... 查看详情

《繁凡的深度学习笔记》前言目录大纲一文让你完全弄懂深度学习所有基础(dl笔记整理系列)

《繁凡的深度学习笔记》前言、目录大纲(DL笔记整理系列)一文弄懂深度学习所有基础!3043331995@qq.comhttps://fanfansann.blog.csdn.net/https://github.com/fanfansann/fanfan-deep-learning-note作者:繁凡version1.0 2022-1 查看详情

一文理解神经网络的本质(代码片段)

理解神经网络的本质一、前言最近深度学习是一个比较热门的词,各行各业都声称自己使用了深度学习技术。现在“深度学习”这个词,就像印在球鞋上的“Fashion”、“Sport”。那深度学习到底是什么呢?深度学习是... 查看详情

一文搞定深度学习建模预测全流程(python)

作者|泳鱼来源| 算法进阶本文详细地梳理及实现了深度学习模型构建及预测的全流程,代码示例基于python及神经网络库keras,通过设计一个深度神经网络模型做波士顿房价预测。主要依赖的Python库有:keras、scikit-learn... 查看详情

深度学习一文带你了解神经网络,激活函数

神经网络神经网络是深度学习的核心,在了解神经网络之前,我们先来了解几个概念:智能(Intelligence)是个体有目的的行为,合理的思维以及有效的适应环境的综合能力。或者说智能是个体认识客观事物和运用知识解决问题的能力... 查看详情

一文浅谈深度学习泛化能力

...个分裂节点时,刚好就可以良好区分开不同标签的样本,深度很小,相应的各叶子上面的样本数是够的(即统计规律的数据量的依据也是比较多的),那这会得到的规律就更有可能泛化 查看详情

一文详解深度学习在命名实体识别(ner)中的应用

目录1、NER简介2.深度学习方法在NER中的应用2.2IDCNN-CRF3.实战应用3.1语料准备3.2数据增强3.3实例4.总结近几年来,基于神经网络的深度学习方法在计算机视觉、语音识别等领域取得了巨大成功,另外在自然语言处理领域也取... 查看详情

01:一文入门谷歌深度学习框架tensorflow

前期准备:安装好tensorflow1.0TensorflowAPI概要Tensorflow提供了很多API。最底层的API是Tensorflowcore,推荐给机器学习的研究者或者那些想对模型有更好的掌控的大神们用~较高层的API是在Tensorflowcore的基础上封装建立的,肯定比Tensorflowc... 查看详情

炼丹术的终结二——可迁移结构学习

本文首发于我的知乎专栏深度学习与计算机视觉,欢迎关注,最新内容抢先看。上一文中介绍了如何用控制器(LSTM)搜索CNN网络和LSTM网络结构,从而生成出不逊于人类手工设计的网络结构。方法虽然已经work了࿰... 查看详情

一文开启深度学习之旅(代码片段)

1.深度学习引言近年来,深度学习(DeepLearning,DL)在多个领域中都取得了突破性进展,尤其是在图像识别、目标检测以及自然语言处理等领域。深度学习的相关内容并非一篇或几篇博客能够详尽的介绍完整,本文的... 查看详情