Sign inSign up

hoperj/quickstart

By hoperj

•Updated almost 2 years ago

提供基础的深度学习镜像,帮助初学者跳过必要的软件配置。

Image
Machine learning & AI
1

1.8K

hoperj/quickstart repository overview

⁠镜像介绍

本仓库提供适用于深度学习的基础 Docker 镜像,旨在帮助同学们快速搭建必要的开发环境,跳过繁琐的安装步骤。

所有版本都预装了 sudo、pip、conda、wget、curl 和 vim 等常用工具,且已经配置好 pip 和 conda 的国内镜像源。同时,集成了 zsh 和一些实用的命令行插件(命令自动补全、语法高亮、以及目录跳转工具 z)。此外,已预装 jupyter notebook 和 jupyter lab,设置了其中的默认终端为 zsh,方便进行深度学习开发,并优化了容器内的中文显示,避免出现乱码问题。其中还预配置了 Hugging Face 的国内镜像地址。

⁠更新记录

2024.12.2: 关闭 oh-my-zsh 的自动更新提示

⁠版本说明
  • base 版本:占用 15.5GB 存储空间,基于 pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认 python 版本为 3.11.10,可以通过 conda install python==版本号 直接修改版本。
  • dl 版本:占用 19.3GB 存储空间,在 base 基础上,额外安装了深度学习框架和常用工具,具体查看安装清单。

⁠使用说明

  • base

    docker run --gpus all -it --name <替换成容器名称> hoperj/quickstart:base-torch2.5.1-cuda11.8-cudnn9-devel /bin/zsh
    
  • dl

    docker run --gpus all -it --name <替换成容器名称> hoperj/quickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel /bin/zsh
    

下次再次运行使用以下命令(美化和插件都基于 zsh 完成):

docker start <替换成容器名称>
docker exec -it <替换成容器名称> /bin/zsh

⁠更新镜像

如果镜像有更新版本,可通过以下命令拉取对应镜像:

  • base

    docker pull hoperj/quickstart:base-torch2.5.1-cuda11.8-cudnn9-devel
    
  • dl

    docker pull hoperj/quickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel
    

⁠直接使用主机网络

此模式下,容器会直接使用主机的网络配置,所有端口都等同于主机的端口,无需单独映射。如果只需映射指定端口,将 --network host 替换为 -p port:port。

docker run --gpus all -it --name ai --network host hoperj/quickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel /bin/zsh
⁠设置代理

对于需要使用代理的同学,增加 -e 来设置环境变量,也可以参考拓展文章a⁠:

假设代理的 HTTP/HTTPS 端口号为 7890, SOCKS5 为 7891:

  • -e http_proxy=http://127.0.0.1:7890
  • -e https_proxy=http://127.0.0.1:7890
  • -e all_proxy=socks5://127.0.0.1:7891

融入到之前的命令中:

docker run --gpus all -it \
  --name ai \
  --network host \
  -e http_proxy=http://127.0.0.1:7890 \
  -e https_proxy=http://127.0.0.1:7890 \
  -e all_proxy=socks5://127.0.0.1:7891 \
  hoperj/quickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel \
  /bin/zsh

Tip

常用操作提前看:

  • 启动容器:docker start <容器名>
  • 运行容器:docker exec -it <容器名> /bin/zsh
    • 容器内退出:Ctrl + D 或 exit。
  • 停止容器:docker stop <容器名>
  • 删除容器:docker rm <容器名>

⁠安装清单

base

基础环境:

  • python 3.11.10
  • torch 2.5.1 + cuda 11.8 + cudnn 9

Apt 安装:

  • wget、curl:命令行下载工具
  • vim、nano:文本编辑器
  • git:版本控制工具
  • git-lfs:Git LFS(大文件存储)
  • zip、unzip:文件压缩和解压工具
  • htop:系统监控工具
  • tmux、screen:会话管理工具
  • build-essential:编译工具(如 gcc、g++)
  • iputils-ping、iproute2、net-tools:网络工具(提供 ping、ip、ifconfig、netstat 等命令)
  • ssh:远程连接工具
  • rsync:文件同步工具
  • tree:显示文件和目录树
  • lsof:查看当前系统打开的文件
  • aria2:多线程下载工具
  • libssl-dev:OpenSSL 开发库

pip 安装:

  • jupyter notebook、jupyter lab:交互式开发环境
  • virtualenv:Python 虚拟环境管理工具,可以直接用 conda
  • tensorboard:深度学习训练可视化工具
  • ipywidgets:Jupyter 小部件库,用以正确显示进度条

插件:

  • zsh-autosuggestions:命令自动补全
  • zsh-syntax-highlighting:语法高亮
  • z:快速跳转目录
DL

dl(Deep Learning)版本在 base 基础上,额外安装了深度学习可能用到的基础工具和库:

Apt 安装:

  • ffmpeg:音视频处理工具
  • libgl1-mesa-glx:图形库依赖(解决一些深度学习框架图形相关问题)

pip 安装:

  • 数据科学库:
    • numpy、scipy:数值计算和科学计算
    • pandas:数据分析
    • matplotlib、seaborn:数据可视化
    • scikit-learn:机器学习工具
  • 深度学习框架:
    • tensorflow、tensorflow-addons:另一种流行的深度学习框架
    • tf-keras:Keras 接口的 TensorFlow 实现
  • NLP 相关库:
    • transformers、datasets:Hugging Face 提供的 NLP 工具
    • nltk、spacy:自然语言处理工具

一些库在安装时被自动安装,如 tensorflow 中的 keras。

如果需要额外的库,可以通过以下命令手动安装:

pip install --timeout 120 <替换成库名>

这里 --timeout 120 设置了 120 秒的超时时间,确保在网络不佳的情况下仍然有足够的时间进行安装。如果不进行设置,在国内的环境下可能会遇到安装包因下载超时而失败的情况。

Tag summary

Content type

Image

Digest

sha256:730f9c26d…

Size

7.5 GB

Last updated

almost 2 years ago

docker pull hoperj/quickstart:base-torch2.5.1-cuda11.8-cudnn9-devel