Docker光速搞定深度学习环境配置!

你是否还在用压缩包打包你的代码,然后在新的机器重新安装软件,配置你的环境,才能跑起来?

特别有这样的情况:诶,在我电脑跑的好好的,怎么这里这么多问题?

Docker光速搞定深度学习环境配置!_第1张图片

当项目比较简单的时候,装个Mysql、Nodejs、Anaconda并不是难事,但如果你的环境更多,新机器更多,你还一个个配置,估计你会疯掉。

Docker光速搞定深度学习环境配置!_第2张图片

还有就是最恶心的深度学习环境,配置Cuda,Cudnn,Pytorch,TensorFlow,Opencv,GDAL就花一天时间,打开百度,弹出来各种各样的教程,为了解决各种Bug眼睛都看花了,找不到一个可以解决你的问题的。

Docker光速搞定深度学习环境配置!_第3张图片

还有前端项目,经常会遇到的Node-Sass缺少Python依赖,还有Nodejs版本问题(狗头)

那么是否有一个东西可以一键部署,不用这么麻烦配置一堆东西的解决方案呢?

Docker!!!Of course!!!

本期就教大家如何用Docker快速,配置最恶心的深度学习环境。考虑大多数人用的是windows,本教程将以win10作为系统进行展开。 Lets GO!!!!!!

前言

Docker是什么?你看Docker的图标就知道了,一个鲸鱼承载了所有的仓库,所有的代码、程序、软件都在Dcoker。

Docker光速搞定深度学习环境配置!_第4张图片

我们抛开Dcoker,先介绍一下两个名字,你一定听过:容器,镜像

容器可以说是一个Linux轻量级的系统,它提供了一种隔离的环境,使得应用程序能够在其中运行,而不受主机系统的影响。

镜像是一个轻量级、独立、可执行的软件包,包含运行应用程序所需的所有内容。

镜像相当于设计稿,Docker根据它可以创建一模一样的产品(容器)。

镜像是容器的基础,我们可以根据已有的镜像A创建自己的容器Container_A,因为容器是个简易系统,我们可以肆意安装东西,再把我们的容器Container_A变成镜像B,别人可以通过我们镜像B创建新的容器Container_B,在这个容器中就复现一模一样的效果啦!

而Docker说白了就是利用容器技术,将应用程序及其依赖项打包到一个系统(容器)中,使得在任何环境中以相同的方式运行,仅此而已。

而有了Docker我们只需要,找到对应的母鸡(镜像),下个蛋(容器)就行。

配置深度学习环境?我才不配!我直接用别人的镜像生成一个容器就行了啊! 你又不是不知道cuda下的多慢,cudnn还要登录!

Docker光速搞定深度学习环境配置!_第5张图片

Docker和虚拟机

那么问题来了,我知道Docker了,那是不是和虚拟机很像啊?我只能说一个鸡蛋一个恐龙蛋。

虚拟机是将一台机器转换为多台机器的物理层的抽象。每个虚拟机都是包含操作系统、应用程序、必要的二进制文件和库的完整副本。

可以看下图右边就是虚拟机架构,每个虚拟机都有自己的系统,而Docker(左)架构,是应用层的抽象,多个容器与其他容器共享一个操作系统内核,这样占用的资源比虚拟机少很多。

Docker光速搞定深度学习环境配置!_第6张图片

光速配置

废话少说,Docker,启动!

安装docker

直接去Docker官网下载exe文件执行就行,Docker非常人性化,不需要你设置安装目录,直接给你装c盘,嘻嘻。

Docker光速搞定深度学习环境配置!_第7张图片

运行Docker,如果你第一次安装,会提示你 WSL 2 installation is incomplete.

这说明我们还需要安装Windows的子系统WSL

安装wsl

Windows Subsystem for Linux(WSL),是适用于Linux的Windows子系统,通过WSL我们可以在Windows里面运行Linux。 CMD命令行运行:

css

wsl --install

为了让window支持我们的Linux,控制面板检查一下WSL是否勾选了:

Docker光速搞定深度学习环境配置!_第8张图片

重启电脑!!!

安装Ubuntu(可略)

这下可以安装Linux咯,可以根据自己需要选择Ubuntu版本,打开微软商店下载即可

Docker光速搞定深度学习环境配置!_第9张图片

重启电脑后,可以在Docker设置里集成我们的Linux版本

Docker光速搞定深度学习环境配置!_第10张图片

配置Docker

电脑资源都是有限的,不可能都给Docker,因此需要给Docker分配一下资源上限。 在用户目录(比如:C:\Users\lc)下建立一个新文件,叫做.wslconfig,复制以下内容,给Docker设置它的最大运行内存,CPU核心数

ini

[wsl2]
#wsl占用内存
memory=8GB
#交换分区内存(swap类似于Windows的虚拟内存,从硬盘中划分出一个分区,
#在物理内存不够时,就会将硬盘空间虚拟成内存使用,用于解决内存不足的情况。)
swap=8GB
#限制核心数
processors = 6

内存记得别写满,不然卡死,就好给本机留一点,我是16GB的内存,给了Docker一半的容量,也就是Docker再怎么吃内存,不会超过8GB

命令行运行:

arduino

wsl --shutdown

重启Docker生效

寻找镜像

Docker Hub给我们准备了很多好用的镜像,像Pytorch、TensorFlow都准备了自己的镜像,里面配置了cuda、cudnn和python,我们选一个需要的就行。

Docker光速搞定深度学习环境配置!_第11张图片

随便起一个终端CMD运行我们复制的命令,然后打开发现,wow,多了一个镜像!

Docker光速搞定深度学习环境配置!_第12张图片

创建容器

继续起一个终端CMD运行以下命令,最后面就是你刚才下载的镜像名

bash

# 不使用GPU
docker run -it pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
# 使用GPU
docker run -it --gpus all pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime

执行以上命令,就会根据镜像创建一个容器,并且进入容器的命令行,此时尽情安装你需要的东西吧。

首先检测一下Pytorch可不可以检查到GPU吧!哇真的可以耶!

Docker光速搞定深度学习环境配置!_第13张图片

可以在Docker看到可视化的容器

Docker光速搞定深度学习环境配置!_第14张图片

在容器里面可以看到文件目录、资源占用、打印等信息:

Docker光速搞定深度学习环境配置!_第15张图片

Vscode

配合Vscode的Docker插件,我们可以直接进入Docker容器里面编程:

Docker光速搞定深度学习环境配置!_第16张图片

发布镜像

随便起一个终端CMD运行命令:

ruby

# 1.容器转镜像
docker commit 【容器名】 【镜像名字:例:myproj】
# 2.镜像打包成压缩包tar文件
docker save -o myproj.tar myproj

引用

www.docker.com/resources/w…

总结

写了一堆,希望能帮助你告别深度学习环境配置的烦恼!

最后

为了帮助大家更好的学习人工智能,这里给大家准备了一份人工智能入门/进阶学习资料,里面的内容都是适合学习的笔记和资料,不懂编程也能听懂、看懂,所有资料朋友们如果有需要全套人工智能入门+进阶学习资源包,可以在评论区或扫.码领取哦)~

在线教程

  • 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
  • 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
  • EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
  • 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
  • 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
  • 机器学习 – 有指导和无指导情况下的基本机器学习算法
  • 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
  • 斯坦福统计学习

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取
Docker光速搞定深度学习环境配置!_第17张图片
请添加图片描述

人工智能书籍

  • OpenCV(中文版).(布拉德斯基等)
  • OpenCV+3计算机视觉++Python语言实现+第二版
  • OpenCV3编程入门 毛星云编著
  • 数字图像处理_第三版
  • 人工智能:一种现代的方法
  • 深度学习面试宝典
  • 深度学习之PyTorch物体检测实战
  • 吴恩达DeepLearning.ai中文版笔记
  • 计算机视觉中的多视图几何
  • PyTorch-官方推荐教程-英文版
  • 《神经网络与深度学习》(邱锡鹏-20191121)

  • 在这里插入图片描述
    有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取
    Docker光速搞定深度学习环境配置!_第18张图片

第一阶段:零基础入门(3-6个月)

新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。

第二阶段:基础进阶(3-6个月)

熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。

第三阶段:工作应用

这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。

在这里插入图片描述
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取
Docker光速搞定深度学习环境配置!_第19张图片

你可能感兴趣的:(docker,深度学习,容器,人工智能,机器学习,YOLO,运维)