win10 Baichuan2-7B-Chat-4bits 上部署 百川2-7B-对话模型-4bits量化版
搞了两天才搞清楚跑通 好难呢,个人电脑 win10 ,6GB显存
个人感觉 生成速度很慢,数学能力不怎么行 没有ChatGLM2-6B 强,逻辑还行,
要求:
我的部署流程
1.下载模型
,下载所有文件 然后 放到新建的model目录
https://huggingface.co/baichuan-inc/Baichuan2-7B-Chat-4bits/tree/main
2.创建环境 安装依赖
用conda创建一个新环境取名baichuan2
安装 requirements.txt 模块依赖
torch >=2.0.0
deepspeed==0.9.2
numpy==1.23.5
sentencepiece==0.1.97
xformers==0.0.19
bitsandbytes==0.41.1
accelerate
colorama
streamlit
transformers_stream_generator
cpm_kernels
其他的.时间原因我都忘记了
我的环境 的所有包如下你可以参考一下
$ conda list
# packages in environment at C:\Users\Administrator\.conda\envs\baichuan2:
#
# Name Version Build Channel
absl-py 1.4.0 pypi_0 pypi
accelerate 0.23.0 pypi_0 pypi
addict 2.4.0 pypi_0 pypi
aiofiles 23.1.0 pypi_0 pypi
aiohttp 3.8.5 pypi_0 pypi
aiosignal 1.3.1 pypi_0 pypi
aliyun-python-sdk-core 2.13.36 pypi_0 pypi
aliyun-python-sdk-kms 2.16.2 pypi_0 pypi
altgraph 0.17.3 pypi_0 pypi
appdirs 1.4.4 pypi_0 pypi
async-timeout 4.0.2 pypi_0 pypi
attrs 23.1.0 pypi_0 pypi
bitsandbytes 0.41.1 pypi_0 pypi
blas 1.0 mkl https://repo.anaconda.com/pkgs/main
bzip2 1.0.8 h8ffe710_4 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
ca-certificates 2023.01.10 haa95532_0 defaults
cachetools 5.3.1 pypi_0 pypi
certifi 2022.12.7 pypi_0 pypi
cffi 1.15.1 pypi_0 pypi
chardet 5.1.0 pypi_0 pypi
charset-normalizer 3.1.0 pypi_0 pypi
click 8.1.3 pypi_0 pypi
colorama 0.4.6 pypi_0 pypi
contourpy 1.1.0 pypi_0 pypi
cpm-kernels 1.0.11 pypi_0 pypi
crcmod 1.7 pypi_0 pypi
cryptography 41.0.3 pypi_0 pypi
cycler 0.11.0 pypi_0 pypi
datasets 2.13.0 pypi_0 pypi
diffusers 0.21.1 pypi_0 pypi
dill 0.3.6 pypi_0 pypi
einops 0.6.1 pypi_0 pypi
exceptiongroup 1.1.1 pypi_0 pypi
faker 8.8.1 pyhd3eb1b0_1 defaults
ffmpy 0.3.0 pypi_0 pypi
filelock 3.10.0 pypi_0 pypi
fonttools 4.40.0 pypi_0 pypi
frozenlist 1.3.3 pypi_0 pypi
fsspec 2023.6.0 pypi_0 pypi
gast 0.5.4 pypi_0 pypi
google-auth 2.23.0 pypi_0 pypi
google-auth-oauthlib 1.0.0 pypi_0 pypi
grpcio 1.58.0 pypi_0 pypi
h11 0.14.0 pypi_0 pypi
huggingface-hub 0.17.1 pypi_0 pypi
icetk 0.0.5 pypi_0 pypi
idna 3.4 pypi_0 pypi
importlib-metadata 6.8.0 pypi_0 pypi
intel-openmp 2021.4.0 haa95532_3556 https://repo.anaconda.com/pkgs/main
jieba 0.42.1 pypi_0 pypi
jinja2 3.1.2 pypi_0 pypi
jmespath 0.10.0 pypi_0 pypi
jsonschema 4.17.3 pypi_0 pypi
kiwisolver 1.4.4 pypi_0 pypi
latex2mathml 3.76.0 pypi_0 pypi
libffi 3.4.2 h8ffe710_5 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
libsqlite 3.40.0 hcfcfb64_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
libzlib 1.2.13 hcfcfb64_4 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
linkify-it-py 2.0.2 pypi_0 pypi
m2w64-gcc-libgfortran 5.3.0 6 https://repo.anaconda.com/pkgs/msys2
m2w64-gcc-libs 5.3.0 7 https://repo.anaconda.com/pkgs/msys2
m2w64-gcc-libs-core 5.3.0 7 https://repo.anaconda.com/pkgs/msys2
m2w64-gmp 6.1.0 2 https://repo.anaconda.com/pkgs/msys2
m2w64-libwinpthread-git 5.0.0.4634.697f757 2 https://repo.anaconda.com/pkgs/msys2
markdown 3.4.3 pypi_0 pypi
markdown-it-py 2.2.0 pypi_0 pypi
markupsafe 2.1.2 pypi_0 pypi
matplotlib 3.7.1 pypi_0 pypi
mdtex2html 1.2.0 pypi_0 pypi
mdurl 0.1.2 pypi_0 pypi
mkl 2021.4.0 haa95532_640 https://repo.anaconda.com/pkgs/main
mkl-service 2.4.0 py310h2bbff1b_0 https://repo.anaconda.com/pkgs/main
mkl_fft 1.3.1 py310ha0764ea_0 https://repo.anaconda.com/pkgs/main
mkl_random 1.2.2 py310h4ed8f06_0 https://repo.anaconda.com/pkgs/main
modelscope 1.9.1 pypi_0 pypi
mpmath 1.3.0 pypi_0 pypi
ms-swift 1.0.0 pypi_0 pypi
msys2-conda-epoch 20160418 1 https://repo.anaconda.com/pkgs/msys2
multidict 6.0.4 pypi_0 pypi
multiprocess 0.70.14 pypi_0 pypi
mypy-extensions 1.0.0 pypi_0 pypi
networkx 3.0 pypi_0 pypi
numpy 1.24.2 pypi_0 pypi
numpy-base 1.23.5 py310h04254f7_0 https://repo.anaconda.com/pkgs/main
oauthlib 3.2.2 pypi_0 pypi
openssl 3.1.0 hcfcfb64_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
orjson 3.9.1 pypi_0 pypi
oss2 2.18.1 pypi_0 pypi
packaging 23.0 pypi_0 pypi
pandas 2.0.3 pypi_0 pypi
pefile 2023.2.7 pypi_0 pypi
peft 0.5.0 pypi_0 pypi
pillow 9.4.0 pypi_0 pypi
pip 23.2.1 pypi_0 pypi
platformdirs 3.10.0 pypi_0 pypi
protobuf 4.24.3 pypi_0 pypi
psutil 5.9.5 pypi_0 pypi
pyarrow 13.0.0 pypi_0 pypi
pyasn1 0.5.0 pypi_0 pypi
pyasn1-modules 0.3.0 pypi_0 pypi
pycparser 2.21 pypi_0 pypi
pycryptodome 3.19.0 pypi_0 pypi
pydantic 1.10.10 pypi_0 pypi
pydub 0.25.1 pypi_0 pypi
pygments 2.15.1 pypi_0 pypi
pyinstaller 5.9.0 pypi_0 pypi
pyinstaller-hooks-contrib 2023.1 pypi_0 pypi
pyparsing 3.1.0 pypi_0 pypi
pyre-extensions 0.0.29 pypi_0 pypi
pyrsistent 0.19.3 pypi_0 pypi
python 3.10.2 hcf16a7b_4_cpython http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
python-dateutil 2.8.2 pyhd3eb1b0_0 defaults
python-multipart 0.0.6 pypi_0 pypi
pytz 2023.3 pypi_0 pypi
pywin32-ctypes 0.2.0 pypi_0 pypi
pyyaml 6.0 pypi_0 pypi
regex 2022.10.31 pypi_0 pypi
requests 2.28.2 pypi_0 pypi
requests-oauthlib 1.3.1 pypi_0 pypi
rsa 4.9 pypi_0 pypi
safetensors 0.3.3 pypi_0 pypi
scipy 1.11.2 pypi_0 pypi
semantic-version 2.10.0 pypi_0 pypi
sentencepiece 0.1.97 pypi_0 pypi
setuptools 68.2.2 pypi_0 pypi
simplejson 3.19.1 pypi_0 pypi
six 1.16.0 pyhd3eb1b0_1 https://repo.anaconda.com/pkgs/main
sniffio 1.3.0 pypi_0 pypi
sortedcontainers 2.4.0 pypi_0 pypi
sqlite 3.40.0 hcfcfb64_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
sympy 1.11.1 pypi_0 pypi
tensorboard 2.14.0 pypi_0 pypi
tensorboard-data-server 0.7.1 pypi_0 pypi
text-unidecode 1.3 pyhd3eb1b0_0 defaults
thulac 0.2.2 pypi_0 pypi
tk 8.6.12 h8ffe710_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
tokenizers 0.13.2 pypi_0 pypi
tomli 2.0.1 pypi_0 pypi
toolz 0.12.0 pypi_0 pypi
torch 2.0.0+cu117 pypi_0 pypi
torchvision 0.15.1 pypi_0 pypi
tqdm 4.65.0 pypi_0 pypi
transformers 4.33.2 pypi_0 pypi
typing-extensions 4.7.0 pypi_0 pypi
typing-inspect 0.9.0 pypi_0 pypi
tzdata 2023.3 pypi_0 pypi
uc-micro-py 1.0.2 pypi_0 pypi
ucrt 10.0.22621.0 h57928b3_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
unicodecsv 0.14.1 pypi_0 pypi
unihan-etl 0.18.1 pypi_0 pypi
urllib3 1.26.15 pypi_0 pypi
uvicorn 0.22.0 pypi_0 pypi
vc 14.3 hb6edc58_10 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
vs2015_runtime 14.34.31931 h4c5c07a_10 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
websockets 11.0.3 pypi_0 pypi
werkzeug 2.3.7 pypi_0 pypi
wheel 0.40.0 pyhd8ed1ab_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
word2vec 0.9.4 py310h9909e9c_0 https://repo.anaconda.com/pkgs/main
xformers 0.0.19 pypi_0 pypi
xxhash 3.3.0 pypi_0 pypi
xz 5.2.6 h8d14728_0 http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
yapf 0.40.1 pypi_0 pypi
yarl 1.9.2 pypi_0 pypi
zhon 1.1.5 pypi_0 pypi
zipp 3.16.2 pypi_0 pypi
3.运行代码
下载代码包 解压 GitHub - baichuan-inc/Baichuan2: A series of large language models developed by Baichuan Intelligent Technology
新建一个run.py文件,放到解压的源码文件夹,以及 model 目录也移到过去
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
import os# 获取当前文件所在的目录路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 将当前目录和'model'连接起来,获得'model'文件夹的完整路径
model_path = os.path.join(current_dir, 'model')
print('model_path=', model_path)if __name__ == '__main__':tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)model.generation_config = GenerationConfig.from_pretrained(model_path)messages = []messages.append({"role": "user", "content": "解释一下“温故而知新”"})response = model.chat(tokenizer, messages)print(response)
在创建一个run.bat文件
call activate baichuan2python ./run.pypause
双击run.bat 就运行模型了
生成效果
你好
AI:你好今天我能为您提供什么帮助?numbers由几个字母组成?
AI:是由五个字母组成的单词。将"numbers"这个字符串进行倒序输出:
AI: 输出结果为:"dsna"小明45元卖出一顶帽子,收到一张100元假钞,找零55元,帽子进货价15元一顶,如果小明不知道他收到的是一张假钞,请问小明亏了多少钱?
AI: 首先,我们需要计算小明卖帽子的总收入。他收到了100元的假钞,所以实际上他收到的现金是90元(100 - 55 = 90)。然后,他以45元的价格卖出了这顶帽子,所以收入为45元。
现在我们来计算小明的亏损。他进货成本是一顶帽子的价格,即15元。他卖出的帽子收入是45元,进货成本也是15元,所以他实际亏损了(45 - 15)元,即30元。改正语句:你到看的时一片精菜的说小,描了述小王在禛上遇道阿sir的故式。
AI: 当你看到的时候,描述小王在桌子上遇到阿sir的情景。用5个1怎么计算得到6?
AI: 你可以使用以下数学运算来从五个1中计算出6:1. 加法:将五个1相加,即 1 + 1 + 1 + 1 + 1 = 5。然后从结果中减去1(因为已经有一个1了),得到4。最后加上1,得到最终结果5 。所以,通过加法得到的答案是5。2. 减法:从六个数(6 = 5 + 1)中减去五个1,得到一个1。所以,通过减法得到的答案是1。3. 乘法:将五个1相乘,即 1 * 1 * 1 * 1 * 1 = 1。所以,通过乘法得到的答案是1。4. 除法:将六个数(6 = 5 + 1)除以五个1,得到一个1。所以,通过除法得到的答案是1。请注意,这些计算方法都得到了相同的答案:1。这意味着在五种情况下,你都可以通过将五个1相加或相乘来得到6。有一串彩珠,按2红3绿4黄的顺序依次排列,第600颗是什么颜色?
AI:首先,我们需要找到这600个彩珠中的第600颗。因为每个周期有8个彩珠(2红3绿4黄),所以600个彩珠可以分为8个这样的周期。因此,我们只需将600除以8,得到75,即有75个完整的周期。现在我们知道第600颗彩珠位于一个完整的周期中。这个周期的顺序是2红3绿4黄,所以我们可以通过以下步骤来确定第600颗彩珠的颜色 :1. 首先,我们确定第600颗彩珠是否在红色区域。如果它在红色区域,那么它就是红色的;否则,它必须在绿色或黄色的区域。2. 如果第600颗彩珠在红色区域,那么它是一个2红。由于我们有75个完整的周期,这意味着第600颗彩珠是这75个2红中的某一个。但是 ,我们不能直接确定它是第600颗2红,因为我们还需要知道每个周期内2红的顺序。3. 为了确定第600颗彩珠是第几颗2红,我们需要计算75个2红在顺序上的位置。由于每个周期都有8个彩珠,所以每个2红占据了一个完整的周期的一半。因此,75个2红占据了75/2=37.5个完整周期。由于我们不能有半个周期,我们需要向上取整,这意味着实际上有38个完整周期包含2红。4. 现在我们已经确定了第600颗彩珠是这38个2红中的某一个。要确定它是第几颗2红,我们需要计算38个2红在顺序上的位置。由于每个2红都占据了一个完整周期的半数,所以38个2红占据了38*2=76个完整周期的半数。由于每个周期有8个彩珠,所以38个2红占据了38/2=19 个完整周期的数量。5. 最后,我们需要计算19个完整周期的顺序。由于每个周期都有8个彩珠,所以19个完整周期的数量等于19*8=152个彩珠。这意味着第600颗彩珠是这152个彩珠中的某一个。要确定它是第几颗彩珠,我们需要计算152个彩珠在顺序上的位置。由于每个彩珠都是一个单独的单 元,所以我们只需要计数即可。从0开始计数,第600颗彩珠的位置就是152。综上所述,第600颗彩珠是黄色。列出最常见的20中水果名称
AI:
1.苹果 (Apple)
2. 香蕉 (Banana)
3. 橙子 (Orange)
4. 葡萄 (Grape)
5. 西瓜 (Watermelon)
6. 柠檬 (Lemon)
7. 草莓 (Strawberry)
8. 菠萝 (Pineapple)
9. 樱桃 (Cherry)
10. 猕猴桃 (Kiwi)
11. 火龙果 (Dragon Fruit)
12. 柿子 (Fig)
13. 桃子 (Peach)
14. 李子 (Apricot)
15. 杏子 (Almond)
16. 石榴 (Pomegranate)
17. 木瓜 (Papaya)
18. 芒果 (Mango)
19. 蓝莓 (Blueberry)
20. 黑莓 (Blackberry)用户:0 - 187 次
1 - 100 次
2 - 225 次
3 - 128 次
4 - 64 次
5 - 92 次
6 - 69 次
7 - 206 次
8 - 127 次
9 - 65 次
按次数从大到小排序
------------------------------------------------------------------------------
AI:根据您提供的数据,我已经将它们按照次数从大到小排序:1 - 100 次
2 - 225 次
3 - 128 次
4 - 64 次
5 - 92 次
6 - 69 次
7 - 206 次
8 - 127 次
9 - 65 次
0 - 187 次
==============================================================================用户:7年前,妈妈的年龄是儿子的6倍,儿子今年12岁,妈妈今年几岁?
------------------------------------------------------------------------------
AI:这是一个关于线性方程的问题。在这个问题中,我们需要找到一个方程来表示父母和孩子的年龄关系,然后通过给定的条件求解出母亲的年龄。
首先,我们知道儿子的年龄是12岁。7年前,他的年龄是5岁(因为7年前妈妈的年龄是他的6倍,所以那时她的年龄是 5 * 6 = 30岁)。现在,儿子已经12岁了,所以我们可以得出一个方程:
母亲的年龄 = 儿子的年龄 + 7
==============================================================================用户:以“会心之乐”为题的600字作文
------------------------------------------------------------------------------
AI:会心之乐在这个快节奏的现代社会,人们往往被各种压力所困扰,生活的压力让我们忘记了如何去欣赏生活中的美好。然而,当我们学会去发现生活中的美好时,我们会发现一种叫做“会心之乐”的东西。它如同阳光般温暖人心,如同清泉般滋润心灵。会心之乐,是一种发自内心的喜悦。它源于我们对生活的热爱,对自然的敬畏,对他人的关爱。当我们看到孩子天真烂漫的笑容时,我们会心一笑,这就是会心之乐;当我们看到一对恋人手牵手漫步在夕阳下时,我们会心一笑,这也是会心之乐。会心之乐,是一种简单而美好的情感,它让我们感受到生活的美好,让我们更加珍惜当下。会心之乐,是一种心灵的慰藉。在这个纷繁复杂的世界里,我们往往会因为各种琐事而烦恼,但是当我们找到一种让自己放松的方式时,我们会心一笑,这就是会心之乐。无论是阅读一本好书,还是聆听一首美妙的歌曲,亦或是品尝一道美味的佳肴,都会让我们感受到会心之乐。这种快乐,让我们在面对困难时,更加坚定信心,让我们在疲惫时,更加热爱生活。会心之乐,是一种成长的体验。成长的过程中,我们会遇到各种各样的挑战,但是当我们克服这些挑战时,我们会心一笑,这就是会心之乐。无论是学习一门新技能,还是完成一个艰巨的任务,我们都会在这个过程中感受到会心之乐。这种快乐,让我们更加珍惜每一个成长的时刻,让我们更加感激每一个陪伴我们的人。会心之乐,是一种友谊的见证。在这个世界上,有一种感情叫做友谊,它如同阳光一般温暖人心。当我们与朋友分享喜悦,分担痛苦时,我们会心一笑,这就是会心之乐。这种快乐,让我们更加珍惜身边的朋友,让我们更加懂得彼此的陪伴。总之,会心之乐是一种源自内心的喜悦,是一种心灵的慰藉,是一种成长的体验,是一种友谊的见证。它让我们更加热爱生活,更加珍惜当下,更加感激每一个陪伴我们的人。让我们学会去发现生活中的美好,去感受会心之乐,让我们的生活变得更加美好。
GUI版本代码
,没有历史功能,懒得研究了
import tkinter as tk
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
import os# 获取当前文件所在的目录路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 将当前目录和'model'连接起来,获得'model'文件夹的完整路径
model_path = os.path.join(current_dir, 'model')
print('model_path=', model_path)tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)
model.generation_config = GenerationConfig.from_pretrained(model_path)def write_file(text):with open(save_path, 'a', encoding='utf-8') as f:f.write(text + '\n')history=[]
def answer(question):global historyhistory=[]history.append({"role": "user", "content": question})response = model.chat(tokenizer, history)print(f"Response from model: {response}") # Add this line for debuggingreturn response# 创建主窗口
root = tk.Tk()
root.title("Baichuan2")
root.geometry("800x600+{}+{}".format(root.winfo_screenwidth() // 2 - 400, root.winfo_screenheight() // 2 - 350))# 创建输入框和滚动条
input_frame = tk.Frame(root)clear_button = tk.Button(root, text="清空", width=6, height=3)def clear_output():global historyoutput_text.delete("1.0", tk.END)history=[]clear_button.config(command=clear_output)
clear_button.pack(side="right", padx=60)# 创建输出框和滚动条
output_frame = tk.Frame(root)
output_label = tk.Label(output_frame, text="AI:")
output_text = tk.Text(output_frame, height=26, width=87, padx=6, pady=6)
output_scrollbar = tk.Scrollbar(output_frame)
output_text.config(yscrollcommand=output_scrollbar.set)
output_scrollbar.config(command=output_text.yview)
output_label.pack(side="left", pady=10)
output_text.pack(side="left", pady=10)
output_scrollbar.pack(side="right", fill="y")
output_frame.pack()output_text.tag_config("user", foreground='green')
output_text.tag_config("ai", background='orange', foreground='white')input_label = tk.Label(input_frame, text="用户:")
input_text = tk.Text(input_frame, height=10, width=67, padx=6, pady=6)
input_scrollbar = tk.Scrollbar(input_frame)
input_text.config(yscrollcommand=input_scrollbar.set)
input_scrollbar.config(command=input_text.yview)
input_label.pack(side="left")
input_text.pack(side="left", pady=10)
input_scrollbar.pack(side="right", fill="y")
input_frame.pack()def show_text():# 清空 Tkinter Text 组件中的文本# output_text.delete('1.0', 'end')question = input_text.get("1.0", "end-1c")result = answer(question)output_text.insert("end", "用户:" + question, "user")output_text.insert("end", "\n" + '-'*78)output_text.insert("end", "\nAI:" + result)output_text.insert("end", '\n'+"="*78)output_text.insert("end", "\n\n\n")# 滚动到最底部output_text.yview_moveto(1.0)input_text.delete('1.0', 'end')# 创建按钮
button_frame = tk.Frame(root)
button = tk.Button(button_frame, text="回答", command=show_text, width=6, height=3)
# 响应回车键 绑定 <Return> 事件
root.bind("<Return>", lambda event: show_text())def copy():global texttext.event_generate("<<Copy>>")def cut():global texttext.event_generate("<<Cut>>")def paste():global texttext.event_generate("<<Paste>>")# 创建右键菜单
menu = tk.Menu(root, tearoff=0)
menu.add_command(label="复制", command=copy)
menu.add_command(label="剪切", command=cut)
menu.add_command(label="粘贴", command=paste)# 绑定鼠标右键(第一个文本框)
def show_menu1(event):global texttext = input_textmenu.post(event.x_root, event.y_root)input_text.bind("<Button-3>", show_menu1)# 绑定鼠标右键(第二个文本框)
def show_menu2(event):global texttext = output_textmenu.post(event.x_root, event.y_root)output_text.bind("<Button-3>", show_menu2)button.pack(side="right", padx=60)
button_frame.pack()root.lift()
# 运行主循环
root.mainloop()
相关文章:
win10 Baichuan2-7B-Chat-4bits 上部署 百川2-7B-对话模型-4bits量化版
搞了两天才搞清楚跑通 好难呢,个人电脑 win10 ,6GB显存 个人感觉 生成速度很慢,数学能力不怎么行 没有ChatGLM2-6B 强,逻辑还行, 要求: 我的部署流程 1.下载模型 ,下载所有文件 然后 放到新建的model目录 https://huggingface.co/baichuan-inc/Baichuan2-7B-Chat-4bits/tr…...
2023/9/20总结
maven maven本质是 一个项目管理工具 将项目开发 和 管理过程 抽象成 一个项目对象模型(POM) POM (Project Object Model) 项目对象模型 作用 项目构建 提供标准的自动化 项目构建 方式依赖管理 方便快捷的管理项目依赖的资源…...
【Git】git 分支或指定文件回退到指定版本
目录 一、分支回滚 1. 使用 git reset 命令 2.使用 git revert 命令 3.使用 git checkout 命令 二、某个文件回滚 1.查看哪些文件发生修改 2.然后查看提交记录(最近几次提交) 3.执行提交命令 一、分支回滚 1. 使用 git reset 命令 命令可以将当前分支的 HEAD 指针指向指…...
Java 消息策略的实现 - Kafak 是怎么设计的
这个也是开放讨论题,主要讨论下 Kafka 在消息中是如何进行实现的。 1_cCyPNzf95ygMFUgsrleHtw976506 21.4 KB 总结 这个题目的开发性太强了。 Kafka 可以用的地方非常多,我经历过的项目有 Kafka 用在消息处理策略上的。这个主要是 IoT 项目,…...
c++opencv RotatedRect 旋转矩形角度转换和顶点顺序转换
这里写自定义目录标题 以下代码记录主要是完成轮廓点求解最小外接矩形之后计算该文本行的角度和旋转矩形的左下(bl),左上(tl),右上(tr),右下(br)的坐标点。 RotatedRect rtminAreaRect(contours…...
Flink-CDC 抽取SQLServer问题总结
Flink-CDC 抽取SQLServer问题总结 背景 flink-cdc 抽取数据到kafka 中,使用flink-sql进行开发,相关问题总结flink-cdc 配置SQLServer cdc参数 1.创建CDC 使用的角色, 并授权给其查询待采集数据数据库 -- a.创建角色 create role flink_role;-- b.授权…...
Linux 系统目录结构 终端
系统目录结构 Linux 或 Unix 操作系统中,所有文件和目录呈一个以根节点为始的倒置的树状结构。文件系统的最顶层是根目录,用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此…...
Layui + Flask | 实现注册、登录功能(案例篇)(08)
此案例内容比较多,建议滑到最后点击阅读原文,阅读体验更佳。后续也会录制案例视频,将在本周内上传到同名的 b 站账号。 已经看了 layui 表单相关的知识,接下来就可以实现注册功能,功能逻辑如下: 项目创建 新建 flask 项目下载 layui 文件,解压之后复制到指定文件编写前…...
GitLab数据迁移后出现500错误
一、背景 去年做GitLab数据迁移时,写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题,但对于迁移过来的项目,修改名称等信息,或者删除该项目时,会出现500错误,以为是系统问题&#…...
音乐随行,公网畅享,群辉Audiostation给你带来听歌新体验!
文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…...
机器学习入门:从算法到实际应用
机器学习入门:从算法到实际应用 机器学习入门:从算法到实际应用摘要引言机器学习基础1. 什么是机器学习?2. 监督学习 vs. 无监督学习 机器学习算法3. 线性回归4. 决策树和随机森林 数据准备和模型训练5. 数据预处理6. 模型训练与调优 实际应用…...
【Vue.js】vue-cli搭建SPA项目并实现路由与嵌套路由---详细讲解
一,何为SPA SPA(Single Page Application)是一种 Web 应用程序的开发模式,它通过使用 AJAX 技术从服务器异步加载数据,动态地更新页面内容,实现在同一个页面内切换不同的视图,而无需整页刷新 1.…...
Node.js 调用 fluent-ffmpeg
最近开发H5资源在线裁剪,最终在资源合成的步骤,选择 ffmpeg 作为合成的插件,记录下使用方式。 一、介绍 ffmpeg 一款跨平台多媒体处理工具,可以进行视频转码、裁剪、合成、音视频提取、推流等操作。 二、安装 Node js 可以利用…...
scrapy框架--
Scrapy是一个用于爬取数据的Python框架。下面是Scrapy框架的基本操作步骤: 安装Scrapy:首先,确保你已经安装好了Python和pip。然后,在命令行中运行以下命令安装Scrapy:pip install scrapy 创建Scrapy项目:…...
算法通关村第十五关——从40亿个数中产生一个不存在的数的处理方法
1.从40个亿中产生一个不存在的整数 题目要求:给定一个输入文件,包含40亿个非负整数,请设计一个算法,产生一个不存在该文件中的整数,假设你有1GB的内存来完成这项任务。**** 解题中心思想:存储的不是这40亿…...
软件项目开发的流程及关键点
软件项目开发的流程及关键点 graph LR A[需求分析] --> B[系统设计] B --> C[编码开发] C --> D[测试验证] D --> E[部署上线] E --> F[运维支持]在项目开发的流程中,首先是进行需求分析,明确项目的目标和功能要求。接下来是系统设计&am…...
全球变暖问题(floodfill 处理联通块问题)
全球变暖问题 文章目录 全球变暖问题前言题目描述题目分析边界问题的考虑岛屿是否被淹没判断:如何寻找联通块: 代码预告 前言 之前我们介绍了 bfs算法在二维,三维地图中的应用,现在我们接续进行拓展,解锁floodfill 算…...
由于找不到vcruntime140_1.dll怎么修复,详细修复步骤分享
在使用电脑过程中,可能会遇到一些错误提示,其中之一是找不到vcruntime140_1.dll的问题。这使得许多用户感到困扰,不知道该如何解决这个问题。小编将详细介绍vcruntime140_1.dll的作用以及解决找不到该文件的方法,帮助你摆脱困境。…...
算法 三数之和-(双指针)
牛客网: BM54 题目: 数组中所有不重复的满足三数之和等于0的数,非递减形式。 思路: 数组不小于3。不重复非递减,需先排序。使用idx从0开始遍历到n-2, 如果出现num[idx]num[idx-1]的情况,忽略继续下一个idx;令left idx1, right …...
AB实验总结
互联网有线上系统,可做严格的AB实验。传统行业很多是不能做AB实验的。 匹配侧是采用严格的AB实验来进行模型迭代,而精细化定价是不能通过AB实验来评估模型好坏,经历过合成控制法、双重差分法,目前采用双重差分法来进行效果评估。…...
sklearn包中对于分类问题,如何计算accuracy和roc_auc_score?
1. 基础条件 import numpy as np from sklearn import metricsy_true np.array([1, 7, 4, 6, 3]) y_prediction np.array([3, 7, 4, 6, 3])2. accuracy_score计算 acc metrics.accuracy_score(y_true, y_prediction)这个没问题 3. roc_auc_score计算 The binary and mul…...
python温度转换程序
1.使用pycharm运行温度转换程序,尝试将温度单位设在前面 2.参照温度转换程序,自己写一个关于货币转换、长度转换、重量转换或者面积转换的程序 循环函数 def convertemperature():temperature ""while (temperature ! "q"):temperature in…...
Vue2中10种组件通信方式和实践技巧
目录 1,props / $emit1.1,一个需求方法1方法2 1.2,v-model 和 .syncv-model.sync 2,$children / $parent3,ref4,$attrs / $listeners$attrs$listenersinheritAttrs1.1 的问题的第3种解决方法 5,…...
Flutter flutter.minSdkVersion的实际文件位置
Flutter 项目的Android相关版本号配置: flutter.minSdkVersion 的版本号配置文件实际路径: …/flutter_sdk/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy Flutter版本号如下: bzbMacBook-Pro ccsmec % flutter --version …...
python生成PDF报告
前言 最近接到了一个需求-将项目下的样本信息汇总并以PDF的形式展示出来,第一次接到这种PDF的操作的功能,还是有点慌的,还好找到了reportlab这个包,可以定制化向PDF写内容! 让我们由简入深进行讲解 一、reportlab是…...
在visual studio里安装Python并创建python工程
在2009年,云计算开始发力,Python、R、Go这些天然处理批量计算的语言也迅猛发展。微软在2010年,把Python当成一个语言包插件,集成到了visual studio 2010里。在"云优先,移动优先"的战略下,于2015年…...
AIGC(生成式AI)试用 6 -- 从简单到复杂
从简单到复杂,这样的一个用例该如何设计? 之前浅尝试用,每次尝试也都是由浅至深、由简单到复杂。 一点点的“喂”给生成式AI主题,以测试和验证生成式AI的反馈。 AIGC(生成式AI)试用 1 -- 基本文本_Role…...
竞赛 基于深度学习的人脸识别系统
前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…...
uniapp:APP开发,后台保活
前言: 在ios中,软件切换至后台、手机息屏,过了十来秒软件就会被系统挂起,APP内的任务就不能继续执行;在android中,默认情况下,软件在后台运行的时候,触发某些特定条件的情况下&…...
vue2 项目中嵌入视频
案例: 代码: <template><div class"schematicDiagramIndex"><el-container><el-aside width"20rem"> <!-- <h4 style"font-size: 18px">视频演示</h4>--><div styl…...
游戏币销售网站建设/互联网精准营销
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼程序:ORG 0000HLJMP MAINORG 000BHLJMP TIMEORG 1000HHOUR1 EQU 10hHOUR2 EQU 12hMIN1 EQU 14hMIN2 EQU 16hSEC1 EQU 18HCOUNT EQU 20HNUM1 EQU 22HNUM2 EQU 24HLL4 EQU 26Hs1 bit P1.0s2 bit P1.1s3 bit P1.2s4 bit P1.3A1 EQU 36…...
广东如何做企业网站设计/市场调研报告范文3000字
🍒 作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆…...
请人做网站收费多少钱/系统优化软件推荐
这个问题是使用SqlBulkCopy拷贝数据,字符串长度超出数据类型长度导致的。 处理过程中对长度进行判断并截取就OK了。 *注:SqlBulkCopy 这货 要求ColumnMappings 列的大小写完全对应,列顺序不敏感。 转载于:https://www.cnblogs.com/hydor/p/4480929.html...
免费婚恋网站设计/百度手机助手app安卓版官方下载
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/m0_37609579/article/details/103054993 <!--一个博主专栏付费入口结束--><link rel"…...
用什么软件可以做网站/semiconductor是什么意思
VirtualBox带来VBoxManager.exe,可以来转换格式。 命令如下(Windows环境,Linux版的应该也有VBoxManager这个二进制文件): VBoxManager存在于VirtualBox的安装目录下。 vmdk转换成vdi VBoxManage.exe clonehd source.vmdk target.vdi --format VDI vdi转…...
南京较好的网站制作公司/网站域名在哪买
GitHub 指南原文地址:GitHub官网指南示例项目:Hello World十分钟轻松教学在学习计算机语言编程的过程中创建Hello World 项目是一个历史悠久的传统。当你接触一门新事物的时候可以用它来做一个简单的练习。让我们开始使用github…...