国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu)

這篇具有很好參考價(jià)值的文章主要介紹了2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

導(dǎo)語(yǔ)

2023-4-11

對(duì)于機(jī)器學(xué)習(xí)er配置環(huán)境一直是個(gè)頭疼的事,尤其是在windows系統(tǒng)中。尤其像博主這樣的懶人,又不喜歡創(chuàng)建虛擬環(huán)境,過(guò)段時(shí)間又忘了環(huán)境和包的人,經(jīng)常會(huì)讓自己電腦里裝了各種深度學(xué)習(xí)環(huán)境和python包。長(zhǎng)時(shí)間會(huì)導(dǎo)致自己的項(xiàng)目文件和環(huán)境弄的很亂。且各個(gè)項(xiàng)目間的兼容性又會(huì)出現(xiàn)問(wèn)題。

不僅如此,windows系統(tǒng)獨(dú)特的“尿性”真的讓開發(fā)者苦不堪言!

好在微軟爸爸推出了WSL,WSL可以實(shí)現(xiàn)在windows電腦上運(yùn)行l(wèi)inux系統(tǒng)。目前已經(jīng)是越來(lái)越接近原生linux系統(tǒng)。

利用wsl 部署深度學(xué)習(xí)訓(xùn)練環(huán)境,無(wú)論是從便捷性上還是性能上均有優(yōu)勢(shì)。

博主瀏覽目前wsl配置深度學(xué)習(xí)環(huán)境的各種文章,采坑無(wú)數(shù),終于完成了最詳細(xì)的教程。

目前現(xiàn)在很多網(wǎng)上的教程都是老版本的**,真的有很多坑**!

由于現(xiàn)在很多環(huán)境和軟件的升級(jí),很多老教程不必要的操作就能直接省去!

這個(gè)教程就一個(gè)字:!相比以往的老教程,無(wú)需走很多彎路!下面開始吧!

需要在WSL上玩深度學(xué)習(xí),需要以下幾個(gè)條件

  • win11,最好更新到最新版本

  • 電腦上有顯卡,Nvdia

  • windows上安裝顯卡驅(qū)動(dòng)及CUDA和CuDNN(第一章)

  • 安裝WSL2 (2版本更好)

  • WLS2安裝好Ubuntu20.04(本人之前試過(guò)22.04,有些版本不兼容的問(wèn)題,無(wú)法跑通,時(shí)間多的同學(xué)可以嘗試)(第二章)

在做好準(zhǔn)備工作后,本文將介紹兩種方法在WSL部署深度學(xué)習(xí)環(huán)境

  • Docker法(光速部署,不需要在WSL內(nèi)安裝任何驅(qū)動(dòng),方便遷移)(第三章)
  • wls2本地法(在WSL2內(nèi)直接安裝CUDA)(第四章)

1、windows顯卡環(huán)境及CUDA安裝

  • 安裝顯卡驅(qū)動(dòng)

    截止2023年,4月,全系顯卡驅(qū)動(dòng)已經(jīng)指出

    GPU in Windows Subsystem for Linux (WSL) | NVIDIA Developer

    查看顯卡驅(qū)動(dòng)版本,及最大支持cuda版本,例如,如下圖,本人最大支持12.1cuda

nvidia-smi

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

  • 安裝合適的cuda版本和Cudnn

    CUDA Toolkit Archive | NVIDIA Developer

? cuDNN Download | NVIDIA Developer

安裝教程網(wǎng)上很多,推薦

CUDA與cuDNN安裝教程(超詳細(xì))_kylinmin的博客-CSDN博客

2、WSL 安裝Ubuntu

2.1 wsl安裝

如果你的windows為11版本,那么安裝wsl會(huì)非常方便,這里教程可以參考微軟官方wsl。wsl有兩個(gè)版本,wsl1和wsl2,具體安裝過(guò)程見(jiàn)下。一般我們默認(rèn)使用wsl2版本。

安裝 WSL | Microsoft Learn

wsl的安裝這里不介紹了,圖太多。百度教程很多,這里就主要介紹下WSL安裝Ubuntu。

以下步驟均在WSL2安裝好的背景下鏡像。

2.2 安裝Ubuntu

查看發(fā)行版本,

wsl.exe --list --online

如果遇到以下錯(cuò)誤

無(wú)法從“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分發(fā)。無(wú)法解析服務(wù)器的名稱或地址

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

  • 修改dns服務(wù)器

網(wǎng)絡(luò)和internet設(shè)置-高級(jí)網(wǎng)絡(luò)設(shè)置---更多適配器選項(xiàng),選擇你連接的網(wǎng)絡(luò),右鍵屬性,將ipv4 DNS設(shè)置為8.8.8.8。

然后即可顯示分裝版本。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

安裝合適版本

建議選擇20.04。22.04版本我試過(guò),有不少坑點(diǎn)。

wsl --install -d Ubuntu-20.04

2.3 遷移至非系統(tǒng)盤

這一步主要是為了減少C盤的占用空間,默認(rèn)WSL裝 的linux子系統(tǒng)在C盤

docker-data默認(rèn)安裝在c盤,且設(shè)置中難以更改,因此采用如下操作。

  • 1、shutdown 子系統(tǒng)
wsl --shutdown
  • 2、導(dǎo)出Ubuntu
wsl --export Ubuntu-20.04 F:\Ubuntu\ubuntu.tar
  • 3、注銷docker-desktop和docker-desktop-data
wsl --unregister Ubuntu-20.04
  • 4、導(dǎo)入
wsl --import Ubuntu-20.04 F:\Ubuntu\ F:\Ubuntu\ubuntu.tar --version 2
  • 5、刪除壓縮包
del D:\docker-desktop-data\docker-desktop-data.tar
del D:\docker-desktop-data\docker-desktop-data.tar

重新啟動(dòng)docker

2.4 更改鏡像源

這一步主要是為了加速linux各種包的下載速度。

首先做一個(gè)備份,這里就把Ubuntu默認(rèn)安裝的鏡像源備份,接著更改源

sudo cp  /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list

##進(jìn)入vim ggdG清空所有文本,復(fù)制清華源進(jìn)vim編輯器中

打開如下源進(jìn)行更新。注意Ubuntu版本選擇20.04

ubuntu | 鏡像站使用幫助 | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

更新一下

sudo apt-get update
sudo apt-get upgrade

一般情況下:

在win11版本wsl和最新版(2023.4)的NVIDIA驅(qū)動(dòng)場(chǎng)景下,在WSL2內(nèi),通過(guò) nvidia-smi已經(jīng)可以穿透顯示顯卡信息。2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

3、wls-Docker運(yùn)行深度學(xué)習(xí)環(huán)境

適用Linux Docker配置深度學(xué)習(xí)環(huán)境。該方法使用Docker直接部署深度學(xué)習(xí)環(huán)境,方便快捷,并且不影響子系統(tǒng)本地。

Docker的部署方式分為兩種,一種是使用desktop。即windows下載軟件去部署docker;一種是使用linux版本的docker-engine。這就有點(diǎn)類似,一個(gè)使用圖形化界面,一個(gè)使用小黑盒子。

這種desktop部署方式有優(yōu)缺點(diǎn):

優(yōu)點(diǎn):部署方便,可視化,適合小白

缺點(diǎn):極大地占用宿主(windows)的空間!

  • 1、Docker Data文件為ext4.vhdx動(dòng)態(tài)磁盤形式,該磁盤特點(diǎn)是,占用容量只會(huì)增大,即使刪除其內(nèi)部鏡像文件,占用空間也不會(huì)減少。

  • 2、即使使用3.2節(jié)方法,雖然docker-data可以遷移至別的盤,但對(duì)鏡像進(jìn)行操作(如push),windows會(huì)產(chǎn)生臨時(shí)文件夾,同樣會(huì)占用C盤空間!

    留下貧窮的淚水!o(╥﹏╥)o

  • 3、性能問(wèn)題,docker-desktop目前還有些bug未修復(fù)。

對(duì)于不喜歡折騰的選3.1即可。

3.1與3.2方式二選一即可,但博主建議使用3.2節(jié)linux 原生docker-Engine進(jìn)行配置?。。?!

3.1與3.2方式二選一即可,但博主建議使用3.2節(jié)linux 原生docker-Engine進(jìn)行配置?。。。?/strong>

3.1與3.2方式二選一即可,但博主建議使用3.2節(jié)linux 原生docker-Engine進(jìn)行配置?。。?!

3.1 docker desktop 深度學(xué)習(xí)環(huán)境配置

3.1.1 docker desktop安裝

Install Docker Desktop on Windows

  • 在windows上安裝docker-Desktop

    別選4.17.1版本?。。。≡摪姹緹o(wú)法調(diào)用gpus all

    目前4.18.0已結(jié)修復(fù)該bug

  • 設(shè)置

    1、鏡像源

    將如下代碼加入Docker Engine中

    2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

"registry-mirrors": [
      "https://registry.docker-cn.com",
      "http://hub-mirror.c.163.com",
      "https://docker.mirrors.ustc.edu.cn"
  ],

2- 系統(tǒng)設(shè)置

打開兩個(gè)按鈕

Settings---->General—>Use the WSL 2 based engine

? Settings---->Resources—>Enable integration with additional distros

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

測(cè)試是否安裝成功,在wsl Ubuntu系統(tǒng)下輸入,

docker run hello-world

3.1.2 wsl 切換docker數(shù)據(jù)存儲(chǔ)位置

docker-data默認(rèn)安裝在c盤,占用很大空間,且設(shè)置中難以更改,因此采用如下操作。

  • 1、shutdown docker
wsl --shutdown
  • 2、導(dǎo)出docker-desktop和docker-desktop-data
wsl --export docker-desktop-data F:\wsl2\docker-desktop-data.tar
wsl --export docker-desktop  F:\wsl2\docker-desktop.tar
  • 3、注銷docker-desktop和docker-desktop-data
wsl --unregister docker-desktop-data
wsl --unregister docker-desktop
  • 4、導(dǎo)入
wsl --import docker-desktop-data F:\wsl2\docker-desktop-data F:\wsl2\docker-desktop-data.tar --version 
wsl --import docker-desktop F:\wsl2\docker-desktop F:\wsl2\docker-desktop.tar --version 2
  • 5、刪除壓縮包
del F:\wsl2\docker-desktop-data.tar
del F:\wsl2\docker-desktop-data.tar

重新啟動(dòng)docker

3.1.3 調(diào)用測(cè)試docker gpu

dock 官網(wǎng)給的條件已結(jié)滿足,由于目前版本已結(jié)最新,可直接調(diào)用,無(wú)需安裝其他內(nèi)容。

Starting with Docker Desktop 3.1.0, Docker Desktop supports WSL 2 GPU Paravirtualization (GPU-PV) on NVIDIA GPUs. To enable WSL 2 GPU Paravirtualization, you need:

  • A machine with an NVIDIA GPU(有英偉達(dá)顯卡)
  • The latest Windows Insider version from the Dev Preview ring(windows版本更細(xì))
  • Beta drivers from NVIDIA supporting WSL 2 GPU Paravirtualization(最新顯卡驅(qū)動(dòng)即可)
  • Update WSL 2 Linux kernel to the latest version using wsl --update from an elevated command prompt(最新WSL版本)
  • Make sure the WSL 2 backend is enabled in Docker Desktop (Docker中設(shè)置WSL 2 backend勾選上)

運(yùn)行如下代碼測(cè)試

docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

如果得到,則說(shuō)明安裝成功。

Compute 7.5 CUDA device: [NVIDIA GeForce RTX 2070 SUPER]
40960 bodies, total time for 10 iterations: 56.638 ms
= 296.218 billion interactions per second
= 5924.356 single-precision GFLOP/s at 20 flops per interaction

3.2 wsl-linux原生docker-engine深度學(xué)習(xí)環(huán)境

docker engine裝在wsl內(nèi)部,相比于docker-desktop,能極大節(jié)省windows宿主空間?。。。?/p>

且運(yùn)行效率更高

3.2.1 linux-docker-engine 安裝

wsl原生docker安裝方式和docker doc安裝方法一致

Install Docker Engine on Ubuntu

首先卸載老版本

sudo apt-get remove docker docker-engine docker.io containerd runc

建立儲(chǔ)存庫(kù)

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg

添加官方的gpgkey

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

設(shè)置版本庫(kù)

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新apt

sudo apt-get update

安裝Docker Engine, containerd, and Docker Compose.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

驗(yàn)證helloword

sudo docker run hello-world

配置鏡像源

和docker desktop一樣配置鏡像源,建議使用阿里云

登錄->控制臺(tái)->搜索容器鏡像服務(wù)->‘鏡像加速器’

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

通過(guò)修改daemon配置文件/etc/docker/daemon.json來(lái)使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你自己的.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

ps:在上述流程中如果碰到 Temporary failure resolving ‘gb.archive.ubuntu.com’

Temporary resolve問(wèn)題,加入dns服務(wù)器

如果這能解決你的臨時(shí)解析信息,那么要么等待24小時(shí),看看你的ISP是否為你解決了問(wèn)題(或者直接聯(lián)系你的ISP)–或者你可以永久性地在你的系統(tǒng)中添加一個(gè)DNS服務(wù)器:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

3.2.2 wsl - docker-engine自啟動(dòng) (實(shí)現(xiàn)systemctl )

在單獨(dú)的linux系統(tǒng)中,systemctl 可以對(duì)docker進(jìn)行自啟動(dòng),但是wsl初始系統(tǒng)并不支持systemctl ,每次重新啟動(dòng)wsl,都需要sudo service docker start

現(xiàn)在WSL2有了systemd的支持,我們可以在沒(méi)有Docker桌面的情況下在WSL中運(yùn)行Docker??!

教程:

**step1 啟動(dòng)systemctl **

啟動(dòng)wsl內(nèi)部的linux分發(fā)版本,運(yùn)行如下代碼

# Enable systemd via /etc/wsl.conf
{
cat <<EOT
[boot]
systemd=true
EOT
} | sudo tee /etc/wsl.conf

exit

或者編輯vim /etc/wsl.conf

使得

[boot]
systemd=true

ps:上述設(shè)置, sudo systemctl start docker有還有問(wèn)題的小伙伴。,可以換成

[boot]
#systemd=true
command = sudo service docker start

**step2 重啟,測(cè)試systemctl **

wsl --shutdown
wsl --distribution Ubuntu ##Ubuntu指你的鏡像版本,按wsl -l -vs輸出的第一列來(lái)

測(cè)試過(guò)systemd 是否在運(yùn)行

systemctl --no-pager status user.slice > /dev/null 2>&1 && echo 'OK: Systemd is running' || echo 'FAIL: Systemd not running'

step3 docker設(shè)置

# Install docker-compose
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
# 加入docker組
sudo usermod -aG docker $USER

#退出bash
exit

重新登陸

wsl --distribution Ubuntu

這時(shí)你會(huì)發(fā)現(xiàn),不用sudo service docker start,docker也能啟動(dòng)了

而且,也能使用一些列如如下命令。

sudo systemctl restart docker
sudo systemctl start docker

3.2.3 NVIDIA Container Toolkit安裝

nvidia-container-toolkit是使得linux系統(tǒng)在docker容器中具有調(diào)用gpu的能力。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

使用條件:

NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs (github.com)

已經(jīng)說(shuō)明:

Make sure you have installed the NVIDIA driver and Docker engine for your Linux distribution.

Note that you do not need to install the CUDA Toolkit on the host system, but the NVIDIA driver needs to be installed.

因此只用去x顯卡裝驅(qū)動(dòng)和Docker就完事了!

安裝教程Installation Guide — NVIDIA Cloud Native Technologies documentation

建立package repository 和 GPG key:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container.list | \
         sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
         sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

設(shè)置Docker daemon 守護(hù)進(jìn)程識(shí)別Nvidia容器Runtime

sudo nvidia-ctk runtime configure --runtime=docker
##重啟一下docker
udo systemctl restart docker

3.2.4 調(diào)用測(cè)試gpu

docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

Compute 7.5 CUDA device: [NVIDIA GeForce RTX 2070 SUPER]
40960 bodies, total time for 10 iterations: 56.638 ms
= 296.218 billion interactions per second
= 5924.356 single-precision GFLOP/s at 20 flops per interaction

則運(yùn)行成功

3.3 自定義自己docker

無(wú)論是利用3.1Docker-desktop建立的還是Docker-engine建立的環(huán)境,均可以進(jìn)行以下操作。

出發(fā)點(diǎn):

考慮到目前官方docker-hub中提供的imag并不能滿足日常的開發(fā)包的需要,且如果容器丟失或刪除,所有包的數(shù)據(jù)和項(xiàng)目文件均會(huì)丟失。因此,我們可以定制自己的image。并將container的項(xiàng)目文件映射到自己的本地文件目錄中。

可以使用vscode完成以下操作,方便編輯一點(diǎn)。

進(jìn)入vscode,安裝wsl 插件,連接wls(或著在wsl linux終端下,輸入code .進(jìn)入

ps: docker開發(fā)ide也可以使用vscode,只需要對(duì)安裝Docker插件即可。

打開終端,如下圖,當(dāng)左下角綠色顯式WSL:Ubutun…為連接成功

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

創(chuàng)建一個(gè)以后存docker鏡像的目錄

mkdir docker-deeplearning-project
cd docker-deeplearning-project

3.3.1 自定義所需要安裝的包

我們想要在 tensorflow/tensorflow:latest-gpu 的基礎(chǔ)上增加一些別的包,以滿足日常需求,可以使用如下方法。打開vscode的終端,創(chuàng)建額外的requirments.txt!

code requirments.txt

安裝以下包,這些包可以隨各位去配

torch那可以指定版本,在torch官網(wǎng)可以挑選

jupyterlab
pandas
matplotlib
torch --index-url https://download.pytorch.org/whl/cu118
torchvision --index-url https://download.pytorch.org/whl/cu118
torchaudio --index-url https://download.pytorch.org/whlcu118

3.3.2 建立Dockerfile

dockfile建立規(guī)則

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

code Dockerfile

Dockerfile輸入一下代碼:

  • FROM:拉取現(xiàn)有base image

  • WORKDIR:定制工作目錄

  • COPY 拷貝本地目錄的requirements.txt到當(dāng)前dockerfile中,通過(guò)此去安裝額外的requirments包,

  • RUN 運(yùn)行安裝程序,-i 指定鏡像源

  • EXPOSE 開辟一定端口

  • ENTRYPOINT 定義入口點(diǎn),通過(guò)列表構(gòu)建命令

FROM tensorflow/tensorflow:latest-gpu

WORKDIR /tf-jinqiu

COPY requirements.txt requirements.txt

RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

EXPOSE 8888

ENTRYPOINT ["jupyter","lab","--ip=0.0.0.0","--allow-root","--no-browser"] 

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

3.3.3建立docker-compose.yaml

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

code docker-compose.yaml

解析:

  • version:版本

  • services:定義服務(wù)

  • jupyter-lab:image名稱

  • build: . 在當(dāng)前目錄

  • ports:映射端口

  • volumes:保存訪問(wèn)文件的部分。將其映射到本地文件中

  • deploy:share GPU

version: '1.0'
services:
  jupyter-lab:
    build: .
    ports:
      - "8888:8888"
    volumes:
      - /tf-jinqiu:/tf-jinqiu
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

3.3.4 運(yùn)行并測(cè)試

docker-compose up

出現(xiàn)如下輸出,則證明安裝成功。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

復(fù)制底下的:http://127.0.0.1:8888/lab?token=d6e406efda3edf086b2baf4296a9400d53bee0d4221e1b9e

即可jupyter -lab

測(cè)試pytorch和TensorFlow ,gpu版本均能運(yùn)行?。。?/p>

注意文件映射位置

因此我們項(xiàng)目地址可以存在container中/tf-jinqiu中。

開發(fā)項(xiàng)目的地址為docker-compose.yaml中設(shè)置的/tf-jinqiu。因此在container中/tf-jinqiu和wls ubuntu /tf-jinqiu目錄下均有映射的文件。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

進(jìn)入vscode docker中,在容器中右鍵 Attach Visual Studio Code即可進(jìn)入容器內(nèi),進(jìn)行相關(guān)project的開發(fā)。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

3.3.5 push 上傳dockerhub

dockerhub可以上傳官網(wǎng)的dockerhub,也可以上傳阿里云的。

上傳自己建好的docker可以方便以后遷移機(jī)器,直接部署。

(1) 官方dockerhub

保存自己docker的方式,可以采用docker-file配合docker-compose.yaml的方式,也可采用將整個(gè)鏡像上傳至Docker-hub中,一勞永逸。

保存dockerhub中,每次換機(jī)器只需要從docker中拉取鏡像,即可快速部署相關(guān)環(huán)境。

  • 登錄docker
docker login -u zhujinqiu   # zhujinqiu為自己的賬號(hào)

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

  • docker容器變成鏡像
// 找到運(yùn)行中的容器 (復(fù)制你要打包的容器的id)
docker ps
// 打包為鏡像 (86d78d59b104:容器的id 、  my_centos:我們要打包成的鏡像的名字)
docker commit zhujinqiu my_centos
// 找到打包的鏡像
docker images
  • 將鏡像打?yàn)闃?biāo)簽
// my_centos:鏡像的名字   、 zhujinqiu:我們docker倉(cāng)庫(kù)的用戶名 、 my_centos:我們剛才新建的倉(cāng)庫(kù)名 、 v1:版本號(hào),可以不設(shè)置
docker tag my_centos zhujinqiu/my_centos:v1

  • 將鏡像上傳到鏡像倉(cāng)庫(kù)
docker push zhujinqiu/my_centos:v1

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

  • 下載自己的鏡像
// 記得先登錄
docker login
// 根據(jù)版本號(hào)拉取
docker pull zhujinqiu/my_centos:v1
  • 修改鏡像名字
// d583c3ac45fd  ID   后者是需要修改的名字
docker tag d583c3ac45fd myname:latest

(2)阿里云鏡像倉(cāng)庫(kù)

容器鏡像服務(wù) (aliyun.com)

阿里云有詳細(xì)的

首先創(chuàng)建鏡像倉(cāng)庫(kù)倉(cāng)庫(kù)創(chuàng)建指南。

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

  1. 登錄阿里云Docker Registry
$ docker login --username=你的用戶名 registry.cn-hangzhou.aliyuncs.com

用于登錄的用戶名為阿里云賬號(hào)全名,密碼為開通服務(wù)時(shí)設(shè)置的密碼。

您可以在訪問(wèn)憑證頁(yè)面修改憑證密碼。

  1. 從Registry中拉取鏡像
$ docker pull registry.cn-hangzhou.aliyuncs.com/命名空間/倉(cāng)庫(kù)名稱:[鏡像版本號(hào)]
  1. 將鏡像推送到Registry
$ docker login --username=你的用戶名 registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/命名空間/倉(cāng)庫(kù)名稱:[鏡像版本號(hào)]
$ docker push registry.cn-hangzhou.aliyuncs.com/命名空間/倉(cāng)庫(kù)名稱:[鏡像版本號(hào)]

請(qǐng)根據(jù)實(shí)際鏡像信息替換示例中的[ImageId]和[鏡像版本號(hào)]參數(shù)。

  1. 選擇合適的鏡像倉(cāng)庫(kù)地址

從ECS推送鏡像時(shí),可以選擇使用鏡像倉(cāng)庫(kù)內(nèi)網(wǎng)地址。推送速度將得到提升并且將不會(huì)損耗您的公網(wǎng)流量。

如果您使用的機(jī)器位于VPC網(wǎng)絡(luò),請(qǐng)使用 registry-vpc.cn-hangzhou.aliyuncs.com 作為Registry的域名登錄。

  1. 示例

使用"docker tag"命令重命名鏡像,并將它通過(guò)專有網(wǎng)絡(luò)地址推送至Registry。

$ docker imagesREPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZEregistry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816

使用 “docker push” 命令將該鏡像推送至遠(yuǎn)程。

$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816

4、wsl本地運(yùn)行深度學(xué)習(xí)環(huán)境

該方法不借助Docker,因此需要直接在本地配置好WSL-Cuda,并安裝各類深度學(xué)習(xí)框架,類似于把Windows上跑的模型搬到WSL跑。

該方法只需要安裝Cuda。并不要裝顯卡驅(qū)動(dòng)和Cudnn(wsl2已經(jīng)支持本地Windows映射)。

4.1 安裝wsl Cuda

CUDA Toolkit 12.1 Downloads | NVIDIA Developer

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

根據(jù)驅(qū)動(dòng)情況、pytorch、Tensorflow情況選擇合適的wsl——cuda版本。需要更改如下適應(yīng)“12-1為11-8”

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

安裝完需要,設(shè)置環(huán)境變量

vim ~/.bashrc

在最后加入,配置環(huán)境變量

export PATH=/usr/bin:$PATH
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH

更新下source

source ~/.bashrc

使用nvcc -V驗(yàn)證安裝成功與否

nvcc -V

2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu),docker,深度學(xué)習(xí),wsl,docker,深度學(xué)習(xí),tensorflow,pytorch,人工智能

4.2 安裝pytorch環(huán)境

1、miniconda安裝

# 下載安裝包
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod 777 Miniconda3-latest-Linux-x86_64.sh
# 安裝conda
bash Miniconda3-latest-Linux-x86_64.sh

安裝完需要,設(shè)置環(huán)境變量

vim ~/.bashrc

更新下source

source ~/.bashrc

配置miniconda環(huán)境變量

export PATH=~/miniconda3/bin:$PATH

4.3 創(chuàng)建虛擬環(huán)境與pytorch安裝、tensorflow安裝

conda create -n env_pytorch python=3.8

# conda env list 查看虛擬環(huán)境list
# 激活
conda activate env_pytorch

1、安裝pytorch

Start Locally | PyTorch

根據(jù)cuda版本選擇合適的torchgpu版本

## -i 清華鏡像加速 安裝torchgpu
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

2、安裝tensorflow

ps:新版本直接安裝即可

TensorFlow (google.cn)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-742935.html

# Requires the latest pip
pip install --upgrade pip

# Current stable release for CPU and GPU
pip install tensorflow

4.4 測(cè)試gpu

## torch
import torch
torch.cuda.is_available()
## tensorflow
import tensorflow as tf
tf.config.list_physical_devices()

到了這里,關(guān)于2023最新WSL搭建深度學(xué)習(xí)平臺(tái)教程(適用于Docker-gpu、tensorflow-gpu、pytorch-gpu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Hexo+GitHub搭建個(gè)人博客教程(2023最新版)

    Hexo+GitHub搭建個(gè)人博客教程(2023最新版)

    1、node環(huán)境 首先,安裝 nodejs, 因?yàn)镠exo是基于 Node.js 驅(qū)動(dòng)的一款博客框架。 ?nodejs下載地址 2、git 環(huán)境 然后,安裝git, 一個(gè)分布式版本控制系統(tǒng),用于項(xiàng)目的版本控制管理,作者是 Linux 之父。 ?Git(官網(wǎng)) ?Git for Windows(僅windows安裝包) ?CNPM Binaries Mirror [阿里鏡像](速

    2024年02月06日
    瀏覽(34)
  • L2TP一鍵搭建腳本天翼云IP搭建教程23年11月12日最新教程5分鐘學(xué)會(huì)搭建純獨(dú)享工作室游戲IP適用多開雷電模擬器掛機(jī)等

    L2TP一鍵搭建腳本天翼云IP搭建教程23年11月12日最新教程5分鐘學(xué)會(huì)搭建純獨(dú)享工作室游戲IP適用多開雷電模擬器掛機(jī)等

    此教程搭建不能用于非法用途,目前市面上天翼云是性價(jià)比最高最劃算的服務(wù)商,開通最低折扣賬戶后,搭建IP成本僅需5元每月一條純獨(dú)享IP 此教程搭配一鍵搭建腳本,沒(méi)有任何電腦操作經(jīng)驗(yàn)的人也可以5分鐘輕松學(xué)會(huì) 好多人不知道L2TP協(xié)議和SK5協(xié)議有什么不同,下面我簡(jiǎn)單給

    2024年02月01日
    瀏覽(43)
  • 2023年最新版潮乎盲盒源碼含搭建教程

    2023年最新版潮乎盲盒源碼含搭建教程

    后臺(tái)開發(fā)語(yǔ)言:后端 Laravel 框架開發(fā) 前端開發(fā)框架:uniapp+vue 環(huán)境配置: php7.4 + mysql5.6+ + nginx1.22+? + redis(建議寶塔面板或 lnmp) 源碼獲取請(qǐng)自行百度:一生相隨博客 一生相隨博客致力于分享全網(wǎng)優(yōu)質(zhì)資源,包括網(wǎng)站源碼、游戲源碼、主題模板、插件、電腦軟件、手機(jī)軟件、

    2024年02月06日
    瀏覽(32)
  • 【2023最新版】騰訊云CODING平臺(tái)使用教程(Pycharm/命令:本地項(xiàng)目推送到CODING)

    【2023最新版】騰訊云CODING平臺(tái)使用教程(Pycharm/命令:本地項(xiàng)目推送到CODING)

    目錄 一、CODING簡(jiǎn)介 網(wǎng)址 二、CODING使用 1. 創(chuàng)建項(xiàng)目 2. 創(chuàng)建代碼倉(cāng)庫(kù) 三、PyCharm:本地項(xiàng)目推送到CODING 1. 管理遠(yuǎn)程 2. 提交 3. 推送 4. 結(jié)果 四、使用命令推送 1. 打開終端 2. 初始化 Git 倉(cāng)庫(kù) 3. 添加遠(yuǎn)程倉(cāng)庫(kù) 4. 添加文件到暫存區(qū) 5. 提交更改 6. 推送 ????????騰訊云 CODING 平臺(tái)是

    2024年02月09日
    瀏覽(25)
  • 【開發(fā)工具】適用于Windows的Linux子系統(tǒng)一一WSL安裝使用教程

    【開發(fā)工具】適用于Windows的Linux子系統(tǒng)一一WSL安裝使用教程

    一、簡(jiǎn)介 Windows Subsystem for Linux(簡(jiǎn)稱WSL)是一個(gè)在Windows 1011上能夠運(yùn)行原生Linux二進(jìn)制可執(zhí)行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合作開發(fā),其目標(biāo)是使純正的Ubuntu、Debian等映像能下載和解壓到用戶的本地計(jì)算機(jī),并且映像內(nèi)的工具和實(shí)用工具能在此子系統(tǒng)上

    2024年02月05日
    瀏覽(27)
  • 深度學(xué)習(xí)與人工智能:如何搭建高效的機(jī)器學(xué)習(xí)平臺(tái)

    深度學(xué)習(xí)和人工智能是當(dāng)今最熱門的技術(shù)趨勢(shì)之一,它們?cè)诟鱾€(gè)領(lǐng)域都取得了顯著的成果。然而,在實(shí)際應(yīng)用中,搭建一個(gè)高效的機(jī)器學(xué)習(xí)平臺(tái)仍然是一項(xiàng)挑戰(zhàn)性的任務(wù)。在本文中,我們將討論如何搭建一個(gè)高效的機(jī)器學(xué)習(xí)平臺(tái),以及深度學(xué)習(xí)和人工智能在這個(gè)過(guò)程中所扮演

    2024年02月19日
    瀏覽(30)
  • 最新開源微信小程序一鍵開發(fā)平臺(tái)源碼 支持15大功能模塊+完整前后端+搭建教程

    最新開源微信小程序一鍵開發(fā)平臺(tái)源碼 支持15大功能模塊+完整前后端+搭建教程

    分享一個(gè)開源微信小程序一鍵開發(fā)綜合平臺(tái)源碼,系統(tǒng)支持15大小程序功能模塊,涉及各行各業(yè),含完整前后端+詳細(xì)搭建部署教程。 ? 系統(tǒng)特色功能一覽: 1、全新重構(gòu)升級(jí)功能后端文件和前端文件; 2、整套源碼已經(jīng)集成15大主流小程序功能,涉及到各行各業(yè)?,如:微同城

    2024年02月12日
    瀏覽(22)
  • 通過(guò)Android Studio 將yolov5部署到手機(jī)端(2023新手最新適用版)

    通過(guò)Android Studio 將yolov5部署到手機(jī)端(2023新手最新適用版)

    下載java17 Java Downloads | Oracle 配置環(huán)境變量 這個(gè)是我安裝后的路徑,將這個(gè)路徑復(fù)制 設(shè)置環(huán)境變量 在系統(tǒng)變量點(diǎn)擊新建 繼續(xù)新建 繼續(xù)新建 新建完成后點(diǎn)擊確定 測(cè)試Java17 安裝成功?。。?! Android Studio 下載 下載鏈接:Download Android Studio App Tools - Android Developers (google.cn) 當(dāng)前版

    2024年02月08日
    瀏覽(21)
  • 使用騰訊云服務(wù)器+Nonebot2+go-cqhttp搭建QQ聊天機(jī)器人【保姆級(jí)教程 2023最新版】

    使用騰訊云服務(wù)器+Nonebot2+go-cqhttp搭建QQ聊天機(jī)器人【保姆級(jí)教程 2023最新版】

    下載go-cqhttp 這里有不同版本的cqhttp,并且對(duì)每個(gè)版本都有介紹。但是大家可以看到有 arm與adm 不同的版本,這兩個(gè)啥關(guān)系呢? 嚴(yán)格來(lái)說(shuō), AMD和ARM沒(méi)有任何關(guān)系 。AMD是桌面級(jí)處理器和桌面級(jí)GPU的生產(chǎn)廠商,而ARM是移動(dòng)級(jí)處理器的生產(chǎn)廠商。AMD是目前業(yè)內(nèi)唯一一個(gè)可以提供高性能

    2023年04月18日
    瀏覽(25)
  • Anaconda安裝教程以及深度學(xué)習(xí)環(huán)境搭建

    Anaconda安裝教程以及深度學(xué)習(xí)環(huán)境搭建

    目錄 前言 下載Anaconda 虛擬環(huán)境的搭建 在pycharm中配置現(xiàn)有的conda環(huán)境 CUDA簡(jiǎn)介 下載安裝pytorch包 最近換新筆記本了,要重新安裝軟件,以前本來(lái)是想要寫這個(gè)教程的,但當(dāng)時(shí)由于截圖不全還要懶得再下載重裝,就放棄了,到后面又?jǐn)R置了,而現(xiàn)在還要重新配置環(huán)境,所幸我有

    2024年02月11日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包