
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
项目不在积极管理中。此镜像仓库将不再由Intel维护。
AI工具预设容器为数据科学家和开发者提供即用型环境,适用于数据分析、数据处理、机器学习和深度学习等任务。每个容器都包含针对特定任务定制的Python*包和工具。更多详细信息如下表所示。
| 预设容器名称 | 用途 | 工具 | 镜像名称 |
|---|---|---|---|
| 经典机器学习 | 借助针对Intel®架构优化的开源库,加速机器学习和数据科学管道 | https://hub.docker.com/r/intel/classical-ml/tags | |
| 深度学习PyTorch* CPU | 通过Intel® Extension for PyTorch*提升工作负载性能,减小模型大小,并提高在Intel® Xeon®处理器上的深度学习部署速度 | https://hub.docker.com/r/intel/deep-learning/tags | |
| 深度学习PyTorch* GPU | 通过Intel® Extension for PyTorch*提升工作负载性能,减小模型大小,并提高在Intel®数据中心GPU Max系列上的深度学习部署速度 | https://hub.docker.com/r/intel/deep-learning/tags | |
| 深度学习JAX* CPU | 使用JAX*减小模型大小并提高在Intel® Xeon®处理器上的深度学习部署速度 | https://hub.docker.com/r/intel/deep-learning/tags |
确保机器上已安装https://docs.docker.com/engine/%E3%80%82%E6%8C%89%E7%85%A7https://docs.docker.com/engine/install/%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%AE%89%E8%A3%85Docker%E5%BC%95%E6%93%8E%E3%80%82
从https://www.intel.com/content/www/us/en/developer/tools/oneapi/ai-tools-selector.html%E6%88%96%E8%A1%A8%E6%A0%BC%E4%B8%AD%E6%8B%89%E5%8F%96%E6%82%A8%E9%80%89%E6%8B%A9%E7%9A%84%E9%A2%84%E8%AE%BE%E5%AE%B9%E5%99%A8%E3%80%82%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E4%BB%A5%22Deep Learning for PyTorch* CPU"预设为例。
bashdocker pull docker.xuanyuan.run/intel/deep-learning:pytorch-latest-py311
有三种模式可以运行这些容器:
[!NOTE] 修改以下命令以适应您的使用场景,包括镜像、环境变量和GPU设备路径。
此模式启动JupyterLab笔记本服务器,可通过Web浏览器访问。每个容器都包含一个Jupyter内核,用于在Jupyter笔记本中启用conda环境。此服务器的端口为8888,在运行容器时默认暴露。
[!NOTE] 通过这种方式启动Jupyter笔记本服务器时,Docker会分配一个https://docs.docker.com/engine/tutorials/networkingcontainers/%EF%BC%8C%E5%85%81%E8%AE%B8%E5%AE%B9%E5%99%A8%E4%B8%8E%E5%85%B6%E4%BB%96%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%88%E5%A6%82Web%E6%B5%8F%E8%A7%88%E5%99%A8%EF%BC%89%E9%80%9A%E4%BF%A1%E3%80%82%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8CDocker%E4%BD%BF%E7%94%A8%60bridge%60%E7%BD%91%E7%BB%9C%E3%80%82%E5%A6%82%E6%9E%9C%E6%82%A8%E5%B0%9D%E8%AF%95%E9%80%9A%E8%BF%87SSH%E4%BB%8E%E8%BF%9C%E7%A8%8B%E6%9C%BA%E5%99%A8%E8%AE%BF%E9%97%AE%E6%AD%A4%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%60--net=host%60%E6%A0%87%E5%BF%97%E6%9B%B4%E6%94%B9%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%60ssh -L 8888:8888`启用本地端口转发。
在Jupyter CPU上运行
bashdocker run -it --rm \ -p 8888:8888 --shm-size=12G \ -v ${PWD}:/home/dev/workdir \ docker.xuanyuan.run/intel/deep-learning:pytorch-latest-py3.11
[!NOTE] 某些应用程序使用共享内存在进程之间共享数据。Docker容器的默认共享内存段大小为64MB,这对于多线程应用程序可能不足。使用
--shm-size增加共享内存大小。
在Jupyter GPU上运行
识别系统的RENDER和VIDEO组值以启用https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu.html%EF%BC%9A
bashRENDER=$(getent group render | sed -E 's,^render:[^:]*:([^:]*):.*$,\1,') VIDEO=$(getent group video | sed -E 's,^video:[^:]*:([^:]*):.*$,\1,') test -z "$RENDER" || RENDER_GROUP="--group-add ${RENDER}" test -z "$VIDEO" || VIDEO_GROUP="--group-add ${VIDEO}"
运行容器:
bashdocker run -it --rm \ ${RENDER_GROUP} \ ${VIDEO_GROUP} \ --device=/dev/dri \ -p 8888:8888 --shm-size=12G \ -v ${PWD}:/home/dev/workdir \ -v /dev/dri/by-path:/dev/dri/by-path \ intel/deep-learning:pytorch-gpu-latest-py3.11
后续步骤
运行命令后,终端应显示类似下图的输出!https://github.com/intel/ai-containers/assets/***/0a8a2d05-f7b0-4a9f-994e-bcc4e4b703a0%E3%80%82%E4%BD%BF%E7%94%A8%E6%98%BE%E7%A4%BA%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%9C%B0%E5%9D%80%E5%92%8C%E7%AB%AF%E5%8F%A3%EF%BC%88%E4%BE%8B%E5%A6%82%60http://127.0.0.1:8888%60%EF%BC%89%E5%9C%A8Web%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E8%BF%9E%E6%8E%A5%E5%88%B0Jupyter%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82%60token=%60%E5%90%8E%E9%9D%A2%E6%98%BE%E7%A4%BA%E7%9A%84%E4%BB%A4%E7%89%8C%E5%8F%AF%E7%94%A8%E4%BD%9C%E7%99%BB%E5%BD%95%E5%AF%86%E7%A0%81%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%8C%E5%9C%A8%E4%B8%8A%E9%9D%A2%E6%98%BE%E7%A4%BA%E7%9A%84%E5%9B%BE%E5%83%8F%E4%B8%AD%EF%BC%8C%E4%BB%A4%E7%89%8C%E6%98%AF%60b66e74a85bc2570bf15782e5124c933c3a4ddabd2cf2d7d3%60%E3%80%82
从启动服务器的目录中的概述笔记本中选择一个笔记本示例。在此示例中,intel/deep-learning:pytorch-latest-py3.11容器在Jupyter模式下启动时,有一个名为https://github.com/intel/ai-containers/blob/main/preset/deep-learning-pytorch/notebooks/Deep_Learning_Samples_Overview.ipynb%E7%9A%84%E7%AC%94%E8%AE%B0%E6%9C%AC%E3%80%82
选择笔记本示例后,加载笔记本时从下拉菜单中选择适当的内核。对于每个容器,都有一个带有环境名称的内核:classical-ml、jax-cpu、pytorch-cpu和pytorch-gpu。
高级Jupyter服务器配置
通过使用下面的默认示例修改您的笔记本服务器命令,通过将其附加到上面的Docker运行命令来更改网络(端口/IP)和安全(权限)设置:
bashdocker run ... intel/deep-learning:pytorch-latest-py3.11 \ bash -c "jupyter notebook --notebook-dir=~/jupyter \ --port 8888 \ --ip 0.0.0.0 \ --no-browser \ --allow-root"
此模式提供交互式shell,用于直接使用容器的bash环境。使用以下命令以交互模式启动容器:
在CPU上运行
bashdocker run -it --rm \ -p 8888:8888 --shm-size=12G \ -v ${PWD}:/home/dev/workdir \ docker.xuanyuan.run/intel/deep-learning:pytorch-latest-py3.11 bash
在GPU上运行
识别系统的RENDER和VIDEO组值以启用https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu.html%EF%BC%9A
bashRENDER=$(getent group render | sed -E 's,^render:[^:]*:([^:]*):.*$,\1,') VIDEO=$(getent group video | sed -E 's,^video:[^:]*:([^:]*):.*$,\1,') test -z "$RENDER" || RENDER_GROUP="--group-add ${RENDER}" test -z "$VIDEO" || VIDEO_GROUP="--group-add ${VIDEO}"
bashdocker run -it --rm \ ${RENDER_GROUP} \ ${VIDEO_GROUP} \ --device=/dev/dri \ -p 8888:8888 --shm-size=12G \ -v ${PWD}:/home/dev/workdir \ -v /dev/dri/by-path:/dev/dri/by-path \ intel/deep-learning:pytorch-gpu-latest-py3.11 bash
[!NOTE] 某些应用程序使用共享内存在进程之间共享数据。Docker容器的默认共享内存段大小为64MB,这对于多线程应用程序可能不足。使用
--shm-size增加共享内存大小。
后续步骤
对于每个容器,都有一个带有环境名称的内核:classical-ml、jax、pytorch-cpu和pytorch-gpu。使用以下命令在Deep Learning PyTorch* CPU预设中激活pytorch-cpu环境:
bashconda activate pytorch-cpu
从sample-tests文件夹中选择一个测试,并使用以下命令运行它作为示例:
bashpython sample-tests/intel_extension_for_pytorch/test_ipex.py
test_ipex.py脚本利用PyTorch*通过预训练的ResNet-50模型对图像进行分类。
用户可以指定在CPU还是XPU上运行脚本,并且可以选择使用Intel® Extension for PyTorch*应用优化。
脚本将模型和数据都传输到所选设备,然后测量100次运行的平均推理时间(不包括初始热身阶段)。
最后,脚本打印平均推理时间。
[!NOTE]
sample-tests文件夹可能因容器而异。有些测试使用bash脚本。
按照https://github.com/intel/ai-containers/tree/main/preset/deep-learning/demo/pytorch-distributed/README.md%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%B4%E6%98%8E%EF%BC%8C%E5%88%86%E5%88%AB%E4%BD%BF%E7%94%A8Deep Learning PyTorch* GPU预设。
如果在使用容器时遇到任何问题,请参考https://github.com/intel/ai-containers#troubleshooting%E3%80%82%E5%A6%82%E9%9C%80%E5%85%B6%E4%BB%96%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%8F%90%E4%BA%A4https://github.com/intel/ai-containers/issues%E3%80%82
*其他名称和品牌可能是他人的财产。http://www.intel.com/content/www/us/en/legal/trademarks.html
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务