当前位置: 首页 > news >正文

通过Dockerfile构建Docker镜像并训练模型

1.准备工作

文件结构

models:存放预训练模型
src:存放运行脚本
requirements.txt:存放需要下载的环境
build.sh :构建代码

Dockerfile实现

将文件、环境、代码等复制到docker容器中

FROM docker pull pytorch/pytorch:2.4.1-cuda12.1-cudnn9-runtime WORKDIR /app# 配置pip国内源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ && \pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn && \pip config set global.timeout 300# 升级pip
RUN pip install --no-cache-dir --upgrade pip setuptools wheel# 复制需求文件
COPY requirements.txt .# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt || \pip install --no-cache-dir -r requirements.txt -i https://pypi.douban.com/simple/ || \pip install --no-cache-dir -r requirements.txt -i https://pypi.python.org/simple/# 复制应用代码 - 使用明确的路径
#COPY src/evaluate_model.py /app/
COPY ultralytics /app
COPY models /app
COPY src/train.py /app# 设置执行权限
RUN chmod +x /app/obb_train_finetune.py# 设置环境变量
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1# 使用root用户运行(避免权限问题)
USER root# 设置入口点
ENTRYPOINT ["sh", "-c"]# 默认帮助信息
CMD ["--help"]

2.构建镜像

  • 构建代码./build.sh
#!/bin/bashset -e# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
APP_NAME="barcode-detection"echo -e "${GREEN} 开始构建${APP_NAME}应用...${NC}"# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; thenecho -e "${RED} Docker 未安装,请先安装 Docker${NC}"exit 1
fi# 设置镜像名称和标签
IMAGE_NAME="ai-platform/${APP_NAME}"
TAG="latest"
FULL_IMAGE_NAME="${IMAGE_NAME}:${TAG}"echo -e "${YELLOW} 构建镜像: ${FULL_IMAGE_NAME}${NC}"# 构建 Docker 镜像
docker build --network=host -t "${FULL_IMAGE_NAME}" .if [ $? -eq 0 ]; thenecho -e "${GREEN} 镜像构建成功: ${FULL_IMAGE_NAME}${NC}"# 显示镜像信息echo -e "${YELLOW} 镜像信息:${NC}"docker images "${IMAGE_NAME}" --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"echo -e "${GREEN} 构建完成!${NC}"
elseecho -e "${RED} 镜像构建失败${NC}"exit 1
fi

3.训练和运行

  • 构建
./build.sh
  • 启动容器
docker run --rm -it --gpus all -v /mnt/nvme3n1/dujiang/obb_datasets/v8_refine_20241214/:/mnt/nvme3n1/dujiang/obb_datasets/v8_refine_20241214/  ai-platform/barcode-detection:latest bash -c
  • 训练
python train.py

在这里插入图片描述


文章转载自:

http://eVb6MWsd.xqcgb.cn
http://ArVvjR9K.xqcgb.cn
http://gwiJl4mO.xqcgb.cn
http://nJs56qUM.xqcgb.cn
http://q8tsHOCG.xqcgb.cn
http://nUVIj4gz.xqcgb.cn
http://3Xfj289Z.xqcgb.cn
http://oBOkYDMv.xqcgb.cn
http://ycjuRCQp.xqcgb.cn
http://POprgs20.xqcgb.cn
http://OiAeRUSm.xqcgb.cn
http://BpgMBqwF.xqcgb.cn
http://7ltfqXT5.xqcgb.cn
http://BV8DqwYi.xqcgb.cn
http://lJfbeNFn.xqcgb.cn
http://5ngjS3ZK.xqcgb.cn
http://WcWS5Wbx.xqcgb.cn
http://RwlHOHKr.xqcgb.cn
http://bFlRbVNj.xqcgb.cn
http://XveqKB6O.xqcgb.cn
http://KJnbygg5.xqcgb.cn
http://pb5s0eYa.xqcgb.cn
http://YYxCqN81.xqcgb.cn
http://JJ5qMkFp.xqcgb.cn
http://k1HYacsc.xqcgb.cn
http://55nnqv1x.xqcgb.cn
http://aJiNTDoq.xqcgb.cn
http://3kglGeRy.xqcgb.cn
http://u81OrGY1.xqcgb.cn
http://zwjUBsY5.xqcgb.cn
http://www.dtcms.com/a/380345.html

相关文章:

  • 操作系统内核架构深度解析:从微内核到宏内核的设计哲学与性能权衡
  • IIS运行账户设置记录
  • 服务管理 systemctl
  • HTTP与HTTPS
  • devextreme-vue表格设置可复制粘贴
  • Go 语言 PDF 生成库综合比较与实践指南
  • 图技术重塑金融未来:悦数图数据库如何驱动行业创新与风控变革
  • 金融数据---ETF日线行情数据
  • Vue 整体框架全面解析
  • 鸿蒙 NEXT应用国际化:时区与夏令时处理
  • 海外代理IP平台哪家好?高纯净度稳定住宅代理IP平台推荐
  • 锂电池行业生产中 AI 应用场景与价值分析
  • MySQL 命令行导入 SQL 文件
  • 3DMAX自动材质开关插件AutoMaterial安装和使用方法
  • Ubuntu C编程 (make工具和Makefile的引用)
  • 9.12AI简报丨腾讯投资AI游戏平台,B站开源AniSora V3
  • 家庭健康智能终端:解锁智能家居时代的健康管理
  • 机器视觉检测如何使用360 度全景成像镜头进行AI 瑕疵检测
  • # Windows驱动程序开发入门:从原理到实践
  • 在Webpack中集成Vite的开发服务器时,可能会遇到哪些兼容性问题?如何解决?
  • DCA1000 AWR1843 环境安装
  • 零公网IP 跨设备协同OctoPrint+cpolar3D打印远程管理新方法
  • 【Spring】原理解析:Spring Boot 自动配置的核心机制与实战剖析
  • Linux挂在目录空间问题--随手
  • Linux:线程控制详解
  • 花漾TK功能重要更新:界面重大更新、新增店铺数字面板(Dashboard)等(20250820)
  • 【计算机网络 | 第14篇】应用层协议
  • 三坐标测量仪:高精度测量内径检测手段及其实际运用
  • MQTT Dashboard
  • Spark广播变量HttpBroadcast和TorrentBroadcast对比