從零構建屬于自己的GPT系列6:模型本地化部署2(文本生成函數解讀、模型本地化部署、文本生成文本網頁展示、代碼逐行解讀)

🚩🚩🚩Hugging Face 實戰系列 總目錄

有任何問題歡迎在下面留言
本篇文章的代碼運行界面均在PyCharm中進行
本篇文章配套的代碼資源已經上傳

從零構建屬于自己的GPT系列1:數據預處理
從零構建屬于自己的GPT系列2:模型訓練1
從零構建屬于自己的GPT系列3:模型訓練2
從零構建屬于自己的GPT系列4:模型訓練3
從零構建屬于自己的GPT系列5:模型部署1
從零構建屬于自己的GPT系列6:模型部署2

5 writer函數

writer()實際上相當于main函數,這里是依次整個任務的運行控制都在這里,前面的那些函數都是在這里進行調用

def writer():st.markdown( """ ### 楊卓越定制化GPT生成模型 """ )st.sidebar.subheader("配置參數")generate_max_len = st.sidebar.number_input("generate_max_len", min_value=0, max_value=512, value=32, step=1)top_k = st.sidebar.slider("top_k", min_value=0, max_value=10, value=3, step=1)top_p = st.sidebar.number_input("top_p", min_value=0.0, max_value=1.0, value=0.95, step=0.01)temperature = st.sidebar.number_input("temperature", min_value=0.0, max_value=100.0, value=1.0, step=0.1)
  1. writer函數
  2. 這幾行表示的是網頁界面的標題,你可以自己更改成任意標題
  3. 在 Streamlit 應用程序的側邊欄中創建一個名為 “配置參數” 的子標題,通常用于告知用戶這部分側邊欄包含了一些可以配置的參數或選項
  4. Streamlit 包的子功能,設置一個進度條,可以進行進度條的拖拽,用戶可以自己設置生成文本最長的長度
  5. 創建了一個滑塊,用于選擇 top_k 的值
  6. 創建了一個數字輸入框,用于設置 top_p 的值
  7. 創建了一個數字輸入框用于調節 temperature 參數

這些參數通常用于控制文本生成過程,如控制生成文本的最大長度 (generate_max_len)、控制候選詞匯的多樣性 (top_k 和 top_p) 以及調節生成的隨機性 (temperature)。通過這些控件,用戶可以交互式地調整這些參數,從而影響模型的生成結果。

parser = argparse.ArgumentParser()
parser.add_argument('--generate_max_len', default=generate_max_len, type=int, help='生成標題的最大長度')
parser.add_argument('--top_k', default=top_k, type=float, help='解碼時保留概率最高的多少個標記')
parser.add_argument('--top_p', default=top_p, type=float, help='解碼時保留概率累加大于多少的標記')
parser.add_argument('--max_len', type=int, default=512, help='輸入模型的最大長度,要比config中n_ctx小')
parser.add_argument('--temperature', type=float, default=temperature, help='輸入模型的最大長度,要比config中n_ctx小')
args = parser.parse_args()

這些都是對應的上面那些進度條的命令行參數,先通過創建的命令行參數指定了有哪些參數,然后再經過那些進度條捕捉到命令行參數

    context = st.text_area("主內容", max_chars=512)title = st.text_area("副內容", max_chars=512)if st.button("點我生成結果"):start_message = st.empty()start_message.write("自毀程序啟動中請稍等 10.9.8.7 ...")start_time = time.time()result = predict_one_sample(model, tokenizer, device, args, title, context)end_time = time.time()start_message.write("生成完成,耗時{}s".format(end_time - start_time))st.text_area("生成結果", value=result, key=None)else:st.stop()
  1. 輸入的文本
  2. 輸入的文本2,兩者區別是可以輸入兩條而已,也可以只輸入一條,不會在生成的結果中有區別對待,實際上會將兩個輸入文本連接到一起
  3. 一個網頁界面的按鈕,點擊開始生成結果
  4. 先清空之前生成的所有內容
  5. 清空過程中,打印的一些內容
  6. 記錄當前時間戳
  7. 通過前面的生成樣本的函數得到生成的所有文本
  8. 記錄結束時間戳
  9. 打印出生成的用時
  10. 展示生成結果
  11. 沒有點擊生成按鈕
  12. 就停止運行程序

6 生成效果展示

6.1 生成過程解讀

  1. 打開prompt,先切換到項目的盤
A:
  1. cd到項目地址
cd A:\GPT
  1. 切換到對應的python環境
activate pytorch
  1. 啟動網頁腳本
streamlit run app.py
  1. 沒有異常的話,命令行會出現下面信息
    在這里插入圖片描述
  2. 彈出網頁界面
    在這里插入圖片描述
  3. 輸入文本,點擊生成,得到生成結果
    在這里插入圖片描述

6.2 相關可手動調節參數解讀

  1. generate_max_len:能夠生成的文本的最大長度,最大可以設置成200
  2. top_k:對每一個生成詞,可以有一些多樣性
  3. top_p:累加概率的采樣,累加概率值,設置的大一下生成的詞多樣性會大一些
  4. temperature:也是如此,調整多樣性的

從零構建屬于自己的GPT系列1:數據預處理
從零構建屬于自己的GPT系列2:模型訓練1
從零構建屬于自己的GPT系列3:模型訓練2
從零構建屬于自己的GPT系列4:模型訓練3
從零構建屬于自己的GPT系列5:模型部署1
從零構建屬于自己的GPT系列6:模型部署2

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

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

相關文章

ThinkPHP連接ORACLE數據庫教程

目錄 概念基本步驟詳細操作問題排除參考 概念 要連接Oracle數據庫,必須有兩個東西,一個PHP官方寫的擴展,一個Oracle官方寫的客戶端PHP是通過擴展去操作oralce客戶端連接的服務端數據庫,所以兩個都不能少,而且版本必須…

【數組】-Lc34-在排序數組中查找元素的第一個和最后一個位置(二分查找 + 兩邊擴展)

寫在前面 最近想復習一下數據結構與算法相關的內容,找一些題來做一做。如有更好思路,歡迎指正。 目錄 寫在前面一、場景描述二、具體步驟1.環境說明2.代碼 寫在后面 一、場景描述 給定一個按照升序排列的整數數組 nums,和一個目標值 target。…

大數據講課筆記1.4 進程管理

文章目錄 零、學習目標一、導入新課二、新課講解(一)進程概述1、基本概念2、三維度看待進程3、引入多道編程模型(1)CPU利用率與進程數關系(2)從三個視角看多進程 4、進程的產生和消亡(1&#xf…

5V低壓步進電機驅動芯片GC6150,應用于攝像機,機器人 醫療器械等產品中。具有低噪聲、低振動的特點

GC6150是雙通道5V低壓步進電機驅動器,具有低噪聲、低振動的特點,特別適用于相機變焦對焦系統、萬向架、搖頭機等精度、低噪聲STM控制系統,該芯片為每個通道集成了一個256微步的驅動器。通過SPI & T2C接口,客戶可以方使地調整驅…

Python+Appium自動化測試之元素等待方法與重新封裝元素定位方法

在appium自動化測試腳本運行的過程中,因為網絡不穩定、測試機或模擬器卡頓等原因,有時候會出現頁面元素加載超時元素定位失敗的情況,但實際這又不是bug,只是元素加載較慢,這個時候我們就會使用元素等待的方法來避免這種…

C++ c_str()用法

標準庫的string類提供了3個成員函數來從一個string得到c類型的字符數組:c_str()、data()、copy(p,n)。 c_str()是Borland封裝的String類中的一個函數,它返回當前字符串的首字符地址。換種說法,c_str()函數返回一個指向正規C字符串的常量指針(…

下降路徑最小和/最小路徑和(dp問題)

1.狀態表示 2.狀態轉移方程 3.初始化 4.填表 從上往下 5.返回值 dp表最后一行的最小值 ------------------------------------------------------------------------------------------------------------------------------- 1.狀態表示 2.狀態轉移方程 3.初始化 4.填表 上…

【CVPR 2022】解讀 Controllable Animation of Fluid Elements in Still Images:光流法視頻生成

Diffusion Models視頻生成-博客匯總 前言:用戶輸入箭頭,就能讓圖像動起來,這是經典的Animating任務。CVPR 2022中的一篇經典論文《Controllable Animation of Fluid Elements in Still Images》使用光流法做這種image-to-video任務,很多做法值得借鑒,這篇博客詳細這篇論文…

【教程】app備案流程簡單三部曲即可完成

APP備案流程包括以下步驟: 1. 開發者實名認證:在提交備案申請之前,開發者需要通過移動應用開發平臺進行實名認證。這個步驟需要提供身份證號碼、姓名、聯系方式等信息,并上傳相關證件照片或掃描件。 2. 應用信息登記&#xff1a…

使用 PyTorch 完全分片數據并行技術加速大模型訓練

本文,我們將了解如何基于 PyTorch 最新的 完全分片數據并行 (Fully Sharded Data Parallel,FSDP) 功能用 Accelerate 庫來訓練大模型。 動機 隨著機器學習 (ML) 模型的規模、大小和參數量的不斷增加,ML 從業者發現在自己的硬件上訓練甚至加…

小程序域名SSL證書能用免費的嗎?

眾所周知,目前小程序要求域名強制使用https協議,否則無法上線。但是對于大多數開發者來說,為每一個小程序都使用上付費的SSL證書,也是一筆不小的支出。那么小程序能使用免費的SSL證書嗎? 答案是肯定的。目前市面上可選…

HCIP---RSTP/MSTP

文章目錄 目錄 文章目錄 前言 一.RSTP誕生背景 二.RSTP對比STP的快速收斂機制 端口角色變化 接口狀態變化 RSTP-BPDU 指定端口- P/A機制 BPDU發送變化 端口狀態快速切換 優化拓撲變更機制 三.MSTP MSTP誕生背景 MSTP相關概念 MSTP配置 總結 前言 STP協議雖然能夠解決環…

TypeScript中的函數注釋

一. 概覽 函數注釋主要分為顯示注釋、類型推斷、隱式的any&#xff0c;現在來詳細總結下 二. 顯示注釋 舉個例子 let str1: string hello,jacklet intArr: number[] [1,2,3] let strArr&#xff1a;Array<string> [1,2,3]function test(a: number,b: number): num…

記錄 | xftp遠程連接兩臺windows

1、打開openssh 設置 -> 應用 -> 可選功能 -> 添加功能 -> OpenSSH 客戶端&#xff0c;將 ssh 客戶端安裝將兩臺電腦的 ssh 開啟&#xff0c;cmd 中輸入 net start sshd2、配置 win10 賬號密碼 3、進行 xftp 連接

MATLAB安裝

親自驗證有效&#xff0c;多謝這位網友的分享&#xff1a; https://blog.csdn.net/xiajinbiaolove/article/details/88907232

租一臺服務器多少錢決定服務器的價格因素有哪些

租一臺服務器多少錢決定服務器的價格因素有哪些 大家好我是艾西&#xff0c;服務器這個名詞對于不從業網絡行業的人們看說肯定還是比較陌生的。在21世紀這個時代發展迅速的年代服務器在現實生活中是不可缺少的一環&#xff0c;平時大家上網瀏覽自己想要查詢的信息等都是需要服…

加減乘除簡單嗎?不,一點都不,利用位運算實現加減乘除(代碼中不含+ - * /)

文章目錄 &#x1f680;前言&#x1f680;異或運算以及與運算&#x1f680;加法的實現&#x1f680;減法的實現&#x1f680;乘法的實現&#x1f680;除法的實現 &#x1f680;前言 這也是阿輝開的新專欄&#xff0c;知識將會很零散不成體系&#xff0c;不過絕對干貨滿滿&…

華為鴻蒙HarmonyOS應用開發者高級認證試題及答案

判斷 1只要使用端云一體化的云端資源就需要支付費用&#xff08;錯&#xff09; 2所有使用Component修飾的自定義組件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函數。&#xff08;錯&#xff09; 3 HarmonyOS應用可以兼容OpenHarmony生態&#xff08;對…

多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測

多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測 目錄 多維時序 | MATLAB實現SAO-CNN-BiGRU-Multihead-Attention多頭注意力機制多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 MATLAB實現SAO-CNN-B…

CommonJs模塊化實現原理ES Module模塊化原理

CommonJs模塊化實現原理 首先看一個案例 初始化項目 npm init npm i webpack -D目錄結構如下&#xff1a; webpack.config.js const path require("path"); module.exports {mode: "development",entry: "./src/index.js",output: {path: p…