开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

使用镜像部署, 已经直接clone了模型文件, 启动依旧重新下载模型文件

FROM registry-vpc.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0

WORKDIR /mnt/workspace

COPY . .

RUN apt-get install git curl -y
RUN git clone -b v1.2.1 https://www.modelscope.cn/damo/nlp_deberta_rex-uninlu_chinese-base.git .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
RUN pip install jsonlines==3.1.0 transformers==4.33.0 numpy==1.24.0
RUN pip install fastapi uvicorn[standard]

CMD ["uvicorn","server:app","--host", "0.0.0.0", "--port", "8189"]

Dockerfile如上面所示, 已经直接clone了模型文件, 启动时依旧会下载

展开
收起
1926581701649571 2024-01-03 09:47:27 135 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您提供的Dockerfile,您已经直接克隆了模型文件。但是,当您启动容器时,它仍然会重新下载模型文件。这可能是由于以下原因:

    1. 您的Dockerfile中没有指定模型文件的存储位置。您需要将模型文件复制到正确的目录,以便在容器中使用。

    2. 您的Dockerfile中的RUN git clone命令可能没有正确安装Git。您可以尝试使用apt-get install -y git来安装Git。

    3. 您的Dockerfile中的RUN pip install命令可能没有正确安装所需的依赖项。您可以尝试更新这些命令以包含所有必要的依赖项。

    为了解决这些问题,您可以尝试修改您的Dockerfile,如下所示:

    FROM registry-vpc.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0
    
    WORKDIR /mnt/workspace
    
    COPY . .
    
    # 安装Git
    RUN apt-get update && apt-get install -y git curl
    
    # 克隆模型文件
    RUN git clone -b v1.2.1 https://www.modelscope.cn/damo/nlp_deberta_rex-uninlu_chinese-base.git .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base
    
    # 设置PyPI镜像源
    RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
    
    # 安装依赖项
    RUN pip install jsonlines==3.1.0 transformers==4.33.0 numpy==1.24.0 fastapi uvicorn[standard]
    
    # 将模型文件复制到工作目录
    COPY .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base/* .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base/
    
    CMD ["uvicorn","server:app","--host", "0.0.0.0", "--port", "8189"]
    

    这将确保模型文件被正确复制到工作目录,并且在启动容器时不会被重新下载。

    2024-01-03 14:33:03
    赞同 展开评论 打赏
  • 这个问题可能是由于在Dockerfile中,模型文件的克隆命令没有正确执行导致的。你可以尝试以下方法解决这个问题:

    1. 确保你的网络连接正常,可以访问到 https://www.modelscope.cn/damo/nlp_deberta_rex-uninlu_chinese-base.git 这个地址。

    2. 检查你的Dockerfile中的 RUN git clone -b v1.2.1 https://www.modelscope.cn/damo/nlp_deberta_rex-uninlu_chinese-base.git .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base 这一行代码是否正确。确保分支名和仓库地址都是正确的。

    3. 如果上述方法都无法解决问题,你可以尝试在Dockerfile中使用 ADD 命令来添加模型文件,而不是使用 COPY 命令。例如:

    FROM registry-vpc.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0
    
    WORKDIR /mnt/workspace
    
    RUN apt-get install git curl -y
    RUN git clone -b v1.2.1 https://www.modelscope.cn/damo/nlp_deberta_rex-uninlu_chinese-base.git .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base
    RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
    RUN pip install jsonlines==3.1.0 transformers==4.33.0 numpy==1.24.0
    RUN pip install fastapi uvicorn[standard]
    
    # 添加模型文件
    ADD .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base/* .cache/modelscope/damo/nlp_deberta_rex-uninlu_chinese-base/
    
    CMD ["uvicorn","server:app","--host", "0.0.0.0", "--port", "8189"]
    

    这样,模型文件应该会被正确地添加到镜像中,启动时不会再重新下载。

    2024-01-03 10:43:37
    赞同 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载