deepin安装docker和pytorch

news2024/10/7 6:47:39

title: deepin安装docker和pytorch
date: 2023-06-01 17:28:58
tags: [linux, torch,docker]


deepin安装docker和pytorch

总体的流程图大致如下,首先是安装linux,这个直接跳过,接下来就是安装docker,之后,安装docker之后,安装pytorch image,然后使用vscode来进行深度学习开发。这样。不需要每次都要进行配置环境,直接使用这个镜像,构建多个容器,可以互不影响。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xSQozpPs-1685614587544)(https://fastly.jsdelivr.net/gh/weijia99/blog_image@main/1685611681945deepin%E5%AE%89%E8%A3%85docker.png)]

1.docker相关设置

1.docker安装

前情提示,由于dockerhub,最近几天已经被gfw给404了,建议首先安装好了就来进行更换镜像。

由于deepin是Debian的分支,因此我们选择Debian的安装命令,详细教程参考Debian Docker 安装 | 菜鸟教程 (runoob.com)

主要命令就是

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

注意,安装完成之后,请务必换源

Docker 镜像加速 | 菜鸟教程 (runoob.com)

主要是在下面进行在 /etc/docker/daemon.json 下面增加源,这个地方也可以修改,image默认下载的地方

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

之后执行重启。

1.2加入到docker用户组

之后,因为使用docker默认是需要特权docker组里的成员才能使用,所以我们需要把当前用户加入到docker组里面

主要参考的是这个博文,首先查看是不是已经有了docker用户组,已经有了我们直接进行加入当前用户,然后进行重启。

sudo cat /etc/group | grep docker

sudo usermod -aG docker 要添加的user

sudo chmod a+rw /var/run/docker.sock

sudo systemctl restart docker

1.3附加内容(配置自己的images)

每次换到一个新电脑的时候,最麻烦的事情就是进行环境配置,下载所需要的安装软件,一个个的执行。现在有了docker,我们可以直接去dockerhub你输入命令来得到所需要的环境。例如java开发的环境(mysql,MongoDB和redis等)。

参考下面的教程:

Docker搭建Java开发环境 (chennn.com)

现在我要构建一个属于自己的开发环境,例如只需要java和maven,那么我们改如何得到呢。现在,这里我们需要使用的是dockerfile这个文件,通过这个文件看我们可以构建出来哦自己的images。

。dockerfile语法如下 :Docker Dockerfile | 菜鸟教程 (runoob.com)

首先需要定义一个from,这个就相当于原始文件,我们首先定义from openjdk,来作为自己的原始image,之后根据自己的需要来进行修改。之后,我们需要使用maven,这里我们选择编译安装。分为下面几步。

  1. 下载maven源码
  2. 进行解压
  3. 然后进行移动到local目录里面
  4. 设置环境变量

我们使用run 来执行每一个shell 命令,

之后就是设置环境变量,因为gfw的原因,有时候,我们需要使用代理,还有吧上面的源码放入到env上面,所以需要使用或者其他端口隐射到envv来进行设置。

FROM openjdk:8

RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip
RUN unzip apache-maven-3.8.6-bin.zip
RUN mv apache-maven-3.8.6 /usr/local/maven
RUN rm -rf apache-maven-3.8.6-bin.zip

ENV MAVEN_HOME=/usr/local/maven
ENV PATH=$MAVEN_HOME/bin:$PATH

这样,我们就构建好了自己的开发包。

上面的代码还可以精简,我们只需要使用一个run ,剩下的全部用&&连接shell命令就可以

然后 我们进行构建,使用这个dockerfile

docker build -t java-env:8 .

最后我们就是启动容器

docker run -itd --name java-base-env java-env:8

如果需要进入到容器内部,我们可以使用docker exec -it 容器名称


扩展:使用gateway来进行远程开发。我们可以在images里面安装openssherver,然后修改、etc/ssh/sshd_config里面的允许root登录还有密码登录,之后,设置这个为自动启动。

参考下面这个连接:VSCode+Docker: 打造最舒适的深度学习环境 - 知乎 (zhihu.com)

之后,我们在docker启动的时候设置端口映射这个容器,吧9001或者其他端口映射到22,然后使用gateway进行远程连接,输入端口9001,账户密码,就可以进行开发了。

2.deepin配置pytorch镜像

2.1deepin的设置

首先,我们需要对deepin进行设置,默认没有安装cuda,我们直接使用deepin官方的命令,安装cuda-toolkit,还有nvidia-smi进行apt安装。之后就完成了。有些版本是需屏蔽自己显卡,然后才能安装,笔者目前没有与到,安装比较简单。命令都在开始的思维导图上面。

2.2(可选)配置proxychains

来进行国内访问加速,直接apt 进行安装就行,然后修改配置文件 /etc/proxychains.conf。

参考这篇文章 linux命令行代理神器-proxychains - 知乎 (zhihu.com)

在.bashrc里面设置alias pr =proxychains,进行缩短单词

2.3安装pytorch

直接根据沐神的github推荐的image来使用

mli/transformers-benchmarks: real Transformer TeraFLOPS on various GPUs (github.com)

sudo docker run --gpus all -it --rm -p 8888:8888 -v ~:/workspace \
	--ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
	nvcr.io/nvidia/pytorch:22.07-py3

这样我们直接进入到容器里面了。我们使用screen 吧这个容器放入到后台执行。

这样就安装完成。同事还把我们的home目录隐射到workdir里面,我们可以访问到workdir的文件来找到服务器的文件

3.vscode/idea/pycharm的使用

3.1vscode进行配置

我们首先进去插件商店,安装dev dontainer。之后使用远程连接到docker宿主机上

在宿主机上面选择开发容器,我们就可以进入到刚刚的pytorch容器里面

3.2idea的设置

这里直接使用gateway来进行设置,选择新建一个ssh,我们输入之前映射到22的端口,还有账号密码(详情加1.3),然后进行连接,之后选择后端版本的idea,这样idea后端就部署到容器里面。之后,我们就可以进行远程及开发

3.2pycharm设置

对于pycharm,不需要上述那么复杂,我们直接进行远程开发,ssh到宿主机器的22端口,然后我们选择解释器interpret为docker里面的容器,就可以直接执行python代码,来进行调试开发了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推动科技教育普惠|2023 开放原子全球开源峰会校源行分论坛即将启幕

科技创新,人才先行,高校作为开源人才培养的主阵地,在开源的发展中扮演着关键角色。 6 月 13 日,2023 开放原子全球开源峰会校源行分论坛将在北京经开区亦创国际会展中心盛大举行。论坛以“聚缘于校、开源共行”为主题,…

上海亚商投顾:沪指冲高回落微涨 AI应用端再度爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日冲高回落,创业板指相对偏强。AI应用端再度爆发,传媒、影视、游戏等方向领涨&a…

『Linux』第九讲:Linux多线程详解(四)_ 生产者消费者模型

「前言」文章是关于Linux多线程方面的知识,上一篇是 Linux多线程详解(三),今天这篇是 Linux多线程详解(四),内容大致是生产消费者模型,讲解下面开始! 「归属专栏」Linux系…

实用调试技巧与案例分析

目录 调试(Debug): 调试的基本步骤: Debug和Release的介绍: 几个常用的快捷键: 案例一: 案例二: 如何写出好(易于调试)的代码? 案例一: 1.assert用法 2.const用法 案例二…

离散数学-数理逻辑

《离散数学》是计算机专业的一门十分重要的专业基础课。离散数学作为有力的数学工具对计算机的发展、计算机研究起着重大的作用。目前,计算机科学中普通采用离散数学中的一些基本概念、基本思想和基本方法。通过本课程的学习,掌握数理逻辑、集合论、代数…

6月1号软件资讯更新合集......

Chrome 114 正式发布,支持 CHIPS 自 Chrome 113 发布以来,已经过了四个星期,Google 近日也准时发布了 Chrome 114。Chrome 114 默认启用了 CHIPS,这是 Google 通过新的 cookie 属性来淘汰第三方 Cookie 的一部分;Chro…

利用Git及GitHub对项目进行版本控制

目录 一、在本地安装Git 二、利用Git将项目上传到Github上 三、用HTTPS获取GitHub上的项目 四、版本控制 一、在本地安装Git 1、Git安装链接:https://git-scm.com/downloads 2、下载安装包,双击exe文件进行安装: 3、接下来会弹出一系列…

Nginx服务基础、访问控制、虚拟主机

Nginx服务基础、访问控制、虚拟主机 一、Nginx介绍二、Linux系统Nginx安装1、官网下载Nginx压缩包2、编译安装Nginx1.配置环境2.安装依赖包3.创建运行用户、组4.编译安装5.检查、启动、重启、停止 nginx 服务6.添加Nginx系统服务 三、Nginx配置文件1、全局配置2、I/O 事件配置3…

水务漏损管理中存在的问题及解决方法

原文链接https://mp.weixin.qq.com/s?__bizMzg3NzkxNTI1MA&mid2247484559&idx1&snd1402e3f9fc75f7483a9dca3fc0174d4&chksmcf1af992f86d7084c48ce7e4072fd6be0555ec086c1065ef83398390c8bd19f2560daf594d7c&token955052059&langzh_CN#rd 在供水建设管…

Codeforces Round 875 div.2 problemB. Array merging题解

目录 一、题目 二、题目分析 三、 一、题目 传送门 B. Array merging time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given two arrays a and b both of length n. You will merge††…

Python获取各大企业招聘需求以及可视化分析展示

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 课程亮点 1、爬虫的基本流程 2、可视化分析展示 3、requests模块的使用 4、保存csv 开发环境: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版 模块使用: 内置模块: import pprint >>> 格式化输入…

Linux提权:定时任务 环境变量 配置不当 数据库

目录 环境变量配合SUID 实战测试 原理分析 实战中如何发现挖掘这类安全问题 定时任务打包配合SUID 原理分析 定时任务权限配置不当 数据库提权-梭哈的艺术 隧道出网提权 环境变量配合SUID 实战测试 这个提权方法比较鸡肋,因为它需要两个前提条件&#xf…

C语言:函数栈帧

寄存器: eax ebx ecx edx ebp esp 必须理解这两个寄存器(寄存器是独立于内存的) 这两个寄存器存放的是地址,用来维护函数栈帧(正在调用哪个函数,两个寄存器就维护哪个函数的栈帧) 每一个函数都…

C# NX二次开发:实现制图模块复制Sheet页,并且获取其中表格

今天要讲的是如何在NX中实现制图模块当前Sheet页的复制,并且获取Sheet页中的表格。首先简单介绍一下NX的制图模块是做什么的。 在NX中建模模块是用来绘制模型的,而想要将模型的相关尺寸投出来直观的看到,就要用到制图模块。 在制图模块中可…

leetcode--从二叉搜索树到更大和树(java)

从二叉搜索树到更大和树 leetcode -1038 题 从二叉搜索树到更大和树解题思路代码演示二叉树专题 leetcode -1038 题 从二叉搜索树到更大和树 原题链接: https://leetcode.cn/problems/binary-search-tree-to-greater-sum-tree/ 题目描述 给定一个二叉搜索树 root (B…

Chrome提示由贵单位管理该怎么取消?

如果你的 Chrome处于托管,你的管理员是可以设置或限制一些特定功能、可以安装一些应用、监视活动以及控制您的使用方式。 如何知道是否托管: 打开 Chrome 。在右上角,选择“更多”图标 。查看菜单底部。如果您看到“由贵单位管理”&#xff…

泡利矩阵(一)

〇、厄米矩阵 厄米矩阵(Hermitian Matrix),也称为自共轭矩阵(Self-adjoint Matrix),是线性代数中的一个重要概念。它是指一个复数域上的方阵,其转置矩阵与共轭矩阵相等。 具体来说&#xff0c…

15稳压二级管

目录 一、基本原理 二、I-V特性 三、工作原理 四、参数 1、Vz 2、Zzt和Zzk 3、IrVr 4、VfIf 5、Pd 五、应用 1、示例1 2、串联应用 3、钳位电路 六、动态电阻 一、基本原理 稳压二极管或“击穿二极管”(有时也称为齐纳二极管)基本上与标准PN结二极管相同&#xf…

Linux NGINX服务

NGINX与Apache对比 轻量级,Nginx比apache 占用更少的内存及资源;静态处理,Nginx 静态处理性能比 Apache 高 ;Nginx可以实现无缓存的反向代理加速,提高网站运行速度;Nginx的性能和可伸缩性不依赖于硬件&…

multipass基础入门,搭建本地迷你云,一个比VMware轻量的虚拟机软件

介绍 multipass是一款轻量,且开源的虚拟机。 Multipass是一个灵活、强大的工具,可用于多种用途。在其最简单的形式下,它可以用来在任何主机上快速创建和销毁Ubuntu虚拟机(实例)。在更全面的情况下,Multip…