docker制作python大模型鏡像(miniconda環境),工程改造記錄

**環境說明:**從系統鏡像開始打造python大模型鏡像,之前是人工手動裝的方式,并且模型和依賴在公網中,對于離線交付環境不太友好,所以打造的離線化交付版本

Dockerfile:

FROM centos:7.9
ENV PYTHONIOENCODING=utf-8
ENV NCCL_DEBUG=INFO
##下載阿里的鏡像源,裝一些基礎命令依賴等
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && yum -y install python3  python  wget bind
## 項目啟動的一些路徑需要創建
RUN mkdir -p /export  &&  chmod -R 777  /export && mkdir -p /root/logs &&  mkdir -p /deploy/app
## 裝miniconda的腳本
COPY deploy-miniconda.sh /deploy
## 項目代碼cp
COPY app  /deploy/app
## 工作目錄
WORKDIR /deploy/app
## python項目的依賴文件寫在里面,供pip install 用
ADD requirements.txt /tmp/requirements.txt
## 大模型知識庫的文件,ADD和COPY指令需要追加目錄根,不然會將文件的內容拷進去,用下面目錄到目錄的方式也行
COPY XXX /deploy/XXX## 安裝miniconda
RUN sh /deploy/deploy-miniconda.sh
##下面是手動裝遇到需要手動輸入的解決方式,現在用腳本解決了,不然安裝miniconda需要按回車N次 
#RUN  cd /deploy &&  sh -c '/bin/echo -e "\nyes\nyes" |  /bin/bash ./miniconda.sh'
## 安裝好miniconda設置環境變量
ENV  PATH="/root/miniconda3/bin:${PATH}"
ENV  ANACONDA_HOME=/root/miniconda3/
## source進入python開發環境
RUN export PATH="/root/miniconda3/bin:${PATH}" && export ANACONDA_HOME=/root/miniconda3/ &&  source activate
##安裝項目依賴
RUN export LANG=zh_CN.UTF-8  && pip install --default-timeout=1000 -r /tmp/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
## 啟動腳本
RUN chmod 777 /deploy/app/start.sh
## 啟動服務
CMD ["python", "-u", "server.py"]
## 原本用下面的方式,因為source過,容器內部環境有變,會提示找不到路徑
#CMD sh /deploy/app/start.sh
#ENTRYPOINT /deploy/app/start.sh

大模型,想想還是打個碼吧,雖然是開源的
在這里插入圖片描述

安裝miniconda的腳本

#!/usr/bin/bash
set -e
wget "https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py311_24.1.2-0-Linux-x86_64.sh" -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda3
~/miniconda3/bin/conda init $(echo $SHELL | awk -F '/' '{print $NF}')
echo 'Successfully installed miniconda...'
echo -n 'Conda version: '
~/miniconda3/bin/conda --version
echo -e '\n'
exec bash

清華源地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

### 制作鏡像
docker build -f Dockerfile -t model:v1 .
### 測試
docker run -it -d --name py-model model:v1 -p xxx:xxx

python報錯

huggingface_hub.errors.HFValidationError: Repo id must be in the form ‘repo_name‘ or ‘namespace/repo

這個就是大模型數據路徑指的不對,修改成正確的即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79716.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Rust中避免過度使用鎖導致性能問題的策略

一、引言 在 Rust 多線程編程中,鎖是實現線程同步的重要工具,它可以防止多個線程同時訪問和修改共享數據,從而避免數據競爭和不一致的問題。然而,過度使用鎖會帶來嚴重的性能問題,如鎖競爭導致的線程阻塞、上下文切換…

數據結構每日一題day15(鏈表)★★★★★

題目描述:將一個帶頭結點的單鏈表A分解為兩個帶頭結點的單鏈表A和 B,使得A表中含有原表中序號為奇數的元素,而B表中含有原表中序號為偶數的元素,且保持相對順不變,最后返回 B 表。 算法思想: 1.初始化: 創建新鏈表 B 的頭結點。…

【雜談】-探索 NVIDIA Dynamo 的高性能架構

探索 NVIDIA Dynamo 的高性能架構 文章目錄 探索 NVIDIA Dynamo 的高性能架構1. 大規模人工智能推理的日益嚴峻的挑戰2. 使用 NVIDIA Dynamo 優化 AI 推理3. 實際應用和行業影響4. 競爭優勢:Dynamo 與其他方案對比5. 總結 隨著人工智能(AI)技…

postgresql數據庫基本操作

1. 連接 PostgreSQL 數據庫 首先&#xff0c;使用 psql 命令行工具連接到數據庫。如果是本地連接&#xff0c;命令格式如下&#xff1a; psql -U postgres -d <數據庫名稱> -h <主機地址>其中&#xff1a; -U postgres&#xff1a;表示以 postgres 用戶身份登錄…

工業大模型:從設備診斷到工藝重構

引言 工業大模型正在引發制造業認知革命。據埃森哲研究,到2026年全球工業大模型市場規模將突破280億美元,其中工藝優化應用占比達42%。本文將系統解析工業大模型的"預訓練-領域適配-應用落地"技術路徑,并通過設備健康診斷與工藝參數生成的實踐案例,展示如何構建…

PyQt5基本介紹

PyQt5是基于Digia公司強大圖形框架Qt5的python接口&#xff0c;由一組python模塊構成。是一個用于創建桌面應用程序的Python庫&#xff0c;它是Qt圖形用戶界面工具包的Python綁定。 Qt是一個跨平臺的C庫&#xff0c;提供了一套豐富的工具和功能&#xff0c;用于開發圖形用戶界…

Tire 樹(字典樹/前綴樹)

一、定義與結構 用來快速存儲查找字符串集合的一種數據結構 將字符串按順序連接根節點上&#xff0c;并在字符串結束的地方打上標記并計數。 二、模板題 acwing 835 Trie 樹的字符串統計 題目&#xff1a; 維護一個字符串集合&#xff0c;支持兩種操作&#xff1a; I x 向…

【時時三省】(C語言基礎)怎樣定義和引用一維數組

山不在高&#xff0c;有仙則名。水不在深&#xff0c;有龍則靈。 ----CSDN 時時三省 一維數組是數組中最簡單的&#xff0c;它的元素只需要用數組名加一個下標&#xff0c;就能唯一地確定。如上面介紹的學生成績數組s就是一維數組。有的數組&#xff0c;其元素要指定兩個下標才…

編譯faiss

編譯faiss-1.10.0 首先確保自己cmake的版本&#xff1a; cmake --version 確保其版本至少為CMake 3.24.0 or higher is required。 其次安裝OpenBLAS&#xff1a; https://github.com/OpenMathLib/OpenBLAS 去這里去安轉Openblas內容&#xff0c;然后確保自己的CPU的指令集是存…

Linux 入門:操作系統進程詳解

目錄 一.馮諾依曼體系結構 一&#xff09;. 軟件運行前為什么要先加載&#xff1f;程序運行之前在哪里&#xff1f; 二&#xff09;.理解數據流動 二.操作系統OS(Operator System) 一&#xff09;.概念 二&#xff09;.設計OS的目的 三&#xff09;.如何理解操作系統…

word交叉引用圖片、表格——只引用編號的處理方法

交叉引用圖片/表格 在“引用”選項卡上的“題注”組中&#xff0c;單擊“插入題注”。勾選【從題注中排除標簽】。在文中插入題注。 【注 意】 這時候插入的題注只有編號項了。然后手動打上標簽【TABLE】&#xff0c;并在標簽和編號項之間加上【樣式分隔符&#xff0c;AltCt…

rails 8 CSS不起效問題解決

很久沒用rails了&#xff0c;最近打算重新復習一下。在配置好環境后&#xff0c;創建了項目&#xff0c;通過腳手架創建了數據庫表&#xff0c;和相關的文件。但我發現卻沒有生成相應的CSS文件&#xff0c;可能是rails8 取消了吧。于是自己手動創建了相應的css文件。但是刷新頁…

【nlohmann\json.hpp】‘_snprintf‘: is not a member of ‘std‘

這個問題時有發生但是為啥現在更新了vs2022 后,發生了這些報錯:2>(compiling source file ../worker/src/fargo/PacedVideoSenderGo.cpp) 2>D:\XTRANS\thunderbolt\ayame

數據結構--【二叉樹】

目錄 定義結構體&#xff1a; 初始化&#xff1a; 手動創建一個二叉樹&#xff1a; 前序遍歷&#xff1a; 中序遍歷&#xff1a; 后序遍歷 二叉樹節點個數&#xff1a; 葉子節點個數&#xff1a; 二叉樹第k層節點個數&#xff1a; 二叉樹的高度&#xff1a; 查找值為x…

深入解析Linux進程間通信(IPC):機制、應用與最佳實踐

引言 在多任務操作系統中&#xff0c;進程間通信&#xff08;Inter-Process Communication, IPC&#xff09;是協同工作的核心機制。Linux作為現代操作系統的典范&#xff0c;提供了8種主要IPC方式&#xff0c;從傳統的管道到面向網絡的套接字&#xff0c;每種方法都暗藏獨特的…

2025年“深圳杯”數學建模挑戰賽B題-LED顯示屏顏色轉換設計與校正

LED顯示屏顏色轉換設計與校正 小驢數模 問題的背景 走在晚風都市&#xff0c;或春日田野&#xff0c;我們都會看到一個色彩斑斕的世界。色彩是我們對世界一種重要感知。什么是色彩&#xff0c;或顏色&#xff1f;顏色是光作用于人眼引起的視覺感知現象&#xff0c;它與物體的…

Java學習手冊:Spring MVC 架構與實現

一、Spring MVC 概述 Spring MVC 是 Spring 框架的一個模塊&#xff0c;它提供了一套 Web 應用開發的解決方案&#xff0c;實現了 MVC&#xff08;Model-View-Controller&#xff09;設計模式。Spring MVC 提供了清晰的分離邏輯層、視圖層和控制器層的結構&#xff0c;便于開發…

【TF-BERT】基于張量的融合BERT多模態情感分析

不足&#xff1a;1. 傳統跨模態transformer只能處理2種模態&#xff0c;所以現有方法需要分階段融合3模態&#xff0c;引發信息丟失。2. 直接拼接多模態特征到BERT中&#xff0c;缺乏動態互補機制&#xff0c;無法有效整合非文本模態信息 改進方法&#xff1a;1. 基于張量的跨模…

maven坐標導入jar包時剔除不需要的內容

maven坐標導入jar包時剔除不需要的內容 問題描述解決方案 問題描述 maven坐標導入jar包時剔除不需要的內容 解決方案 Spring Boot 默認使用 Logback&#xff0c;需在 pom.xml 中排除其依賴&#xff1a; <dependency><groupId>org.springframework.boot</gro…

C與指針——輸入輸出

錯誤定位 當一個庫函數出錯時&#xff0c;errno會被重置 perror(const char* s);\\輸出s: errno 對應的錯誤信息 \\如果單獨想要錯誤信息可以 char* e strerror(errno);\\系統錯誤碼轉換為對應的錯誤信息字符串輸出緩沖區 一般輸出緩沖區滿的時候才刷新&#xff0c;也就是…