Qwen大模型实践之初体验

news2024/11/20 16:29:58

Qwen大模型实践之初体验

测试机器, 使用InternStudio提供的开发机,配置如下:

alt

部分资源详细信息:

# CPU
Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz

# GPU
(base) root@intern-studio-50014188:~# studio-smi 
Running studio-smi by vgpu-smi
Wed May 08 10:13:32 2024
+------------------------------------------------------------------------------+
| VGPU-SMI 1.7.13       Driver Version: 535.54.03     CUDA Version: 12.2       |
+-------------------------------------------+----------------------------------+
| GPU  Name                Bus-Id           |        Memory-Usage     GPU-Util |
|===========================================+==================================|
|   0  NVIDIA A100-SXM...  00000000:48:00.0 |     0MiB / 24566MiB    0% /  30% |
+-------------------------------------------+----------------------------------+

# 操作系统
(base) root@intern-studio-50014188:~# cat /etc/issue
Ubuntu 20.04.6 LTS \n \l
# python
(base) root@intern-studio-50014188:~# python3 --version
Python 3.11.5

1. 环境准备

1.1 环境要求

  • python 3.8及以上版本
  • pytorch 1.12及以上版本,推荐2.0及以上版本
  • transformers 4.32及以上版本
  • 建议使用CUDA 11.4及以上(GPU用户、flash-attention用户等需考虑此选项)

1.2 基本环境准备

1.2.1 下载Qwen代码库并安装基础环境
# 下载Qwen代码库,并创建python虚拟环境
(base) root@intern-studio-50014188:~# git clone https://github.com/QwenLM/Qwen.git
(base) root@intern-studio-50014188:~# conda create -n qwen python=3.10
(base) root@intern-studio-50014188:~# conda activate qwen
(qwen) root@intern-studio-50014188:~# cd Qwen/
(qwen) root@intern-studio-50014188:~/Qwen# ls
 FAQ.md      LICENSE                     README.md      README_FR.md                       'Tongyi Qianwen RESEARCH LICENSE AGREEMENT'   cli_demo.py   eval       finetune.py     requirements.txt            tech_memo.md              tokenization_note_zh.md
 FAQ_ja.md   NOTICE                      README_CN.md   README_JA.md                        ascend-support                               dcu-support   examples   openai_api.py   requirements_web_demo.txt   tokenization_note.md      utils.py
 FAQ_zh.md   QWEN_TECHNICAL_REPORT.pdf   README_ES.md  'Tongyi Qianwen LICENSE AGREEMENT'   assets                                       docker        finetune   recipes         run_gptq.py                 tokenization_note_ja.md   web_demo.py
(qwen) root@intern-studio-50014188:~/Qwen# pip install -r requirements.txt

# 遇到错误:
ERROR: tiktoken 0.6.0 has requirement requests>=2.26.0, but you'll have requests 2.22.0 which is incompatible.

# 解决:
pip install requests==2.31.0
1.2.2 安装flash-attenion加速

如果你的显卡支持fp16或bf16精度,我们还推荐安装flash-attention(当前已支持flash attention 2)来提高你的运行效率以及降低显存占用。(flash-attention只是可选项,不安装也可正常运行该项目):

git clone https://github.com/Dao-AILab/flash-attention
cd flash-attention
pip install ninja
pip install .
# 下方安装可选,安装可能比较缓慢。
# pip install csrc/layer_norm
# 如果flash-attn版本高于2.1.1,下方无需安装。
# pip install csrc/rotary

之前使用自己的电脑(win11)直接基于源码安装flash-attenion,会遇到各种问题,上述环境下安装时间较长但是可以安装成功。

1.3 模型下载

模型下载有两种方式,一种是直接运行大模型demo程序,模型会自动下载,该种方式默认会从huggingface进行下载,国内网络无法直接下载或者速度较慢;另外一种就是通过modelscope(由阿里进行维护)进行下载,速度较快。建议通过modelscope下载。

1.3.1 demo程序自动下载

直接运行demo脚本,默认会从huggingface下载模型文件,下载后的路径(以Qwen-7B-Chat为例):

/root/.cache/huggingface/hub/models--Qwen--Qwen-7B-Chat/snapshots/93a65d34827a3cc269b727e67004743b723e2f83/

即使使用InternStudio的环境,下载速度在3-4M左右,对于至少数GB的模型来说速度较慢。

1.3.2 从国内社区进行下载

下面使用python脚本从modelscope下载模型,也可以直接到魔搭官网进行下载后导入到测试机。以下载Qwen-14B-Chat为例:

# 安装modelscope
(qwen) root@intern-studio-50014188:~# pip install modelscope
# 创建如下内容的python脚本
(qwen) root@intern-studio-50014188:~# cat Qwen_snapshot_download.py 
from modelscope import snapshot_download

# Downloading model checkpoint to a local dir model_dir
# model_dir = snapshot_download('qwen/Qwen-7B')
# model_dir = snapshot_download('qwen/Qwen-7B-Chat')
# model_dir = snapshot_download('qwen/Qwen-14B')
model_dir = snapshot_download('qwen/Qwen-14B-Chat')

# 运行脚本下载
(qwen) root@intern-studio-50014188:~# python3 Qwen_snapshot_download.py 

# 下载后的模型路径:
(qwen) root@intern-studio-50014188:~/.cache/modelscope/hub/qwen/Qwen-14B-Chat# ls -alh
total 27G
drwxr-xr-x 2 root root 4.0K May  7 22:14 .
drwxr-xr-x 3 root root 4.0K May  7 22:04 ..
-rw-r--r-- 1 root root   41 May  7 22:04 .mdl
-rw------- 1 root root 2.5K May  7 22:14 .msc
-rw-r--r-- 1 root root   36 May  7 22:14 .mv
-rw------- 1 root root 6.8K May  7 22:04 LICENSE.md
-rw------- 1 root root 2.7K May  7 22:14 NOTICE.md
-rw------- 1 root root  33K May  7 22:14 README.md
-rw------- 1 root root 8.3K May  7 22:04 cache_autogptq_cuda_256.cpp
-rw------- 1 root root  51K May  7 22:04 cache_autogptq_cuda_kernel_256.cu
-rw------- 1 root root  910 May  7 22:04 config.json
-rw------- 1 root root   77 May  7 22:04 configuration.json
-rw------- 1 root root 2.3K May  7 22:04 configuration_qwen.py
-rw------- 1 root root 1.9K May  7 22:04 cpp_kernels.py
-rw------- 1 root root  249 May  7 22:04 generation_config.json
-rw------- 1 root root 2.0G May  7 22:05 model-00001-of-00015.safetensors
-rw------- 1 root root 1.9G May  7 22:06 model-00002-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:06 model-00003-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:07 model-00004-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:08 model-00005-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:08 model-00006-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:09 model-00007-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:09 model-00008-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:10 model-00009-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:10 model-00010-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:11 model-00011-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:12 model-00012-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:12 model-00013-of-00015.safetensors
-rw------- 1 root root 1.8G May  7 22:13 model-00014-of-00015.safetensors
-rw------- 1 root root 1.5G May  7 22:14 model-00015-of-00015.safetensors
-rw------- 1 root root  24K May  7 22:14 model.safetensors.index.json
-rw------- 1 root root  55K May  7 22:14 modeling_qwen.py
-rw------- 1 root root 2.5M May  7 22:14 qwen.tiktoken
-rw------- 1 root root  15K May  7 22:14 qwen_generation_utils.py
-rw------- 1 root root 9.4K May  7 22:14 tokenization_qwen.py
-rw------- 1 root root  173 May  7 22:14 tokenizer_config.json

# 将下载的模型移Qwen仓库路径下
(qwen) root@intern-studio-50014188:~/Qwen# pwd
/root/Qwen

(qwen) root@intern-studio-50014188:~/Qwen# mv ~/.cache/modelscope/hub/qwen/Qwen-14B-Chat .

2. 运行demo程序

demo程序有多个可以进行测试,一种是官方readme文件中给出的实例程序,直接运行,prompt直接写在程序中,打印大模型的回复内容,这种方式没有交互方式;另外一种是仓库中带有的cli_demo和web_demo,分别基于命令行和web界面进行交换体验。

2.1 快速体验demo程序

使用Transformers或者ModelScope来使用我们的模型,测试官方提供的测试脚本。

2.1.1 huggingface transformers测试程序

使用Qwen-14B-Chat进行推理。在仓库路径下创建如下python文件,注意from_pretrained中的模型文件路径和名称(3个地方需要进行修改)。

(qwen) root@intern-studio-50014188:~/Qwen# cat hg_transformer_Qwen14BChat_demo1.py 
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig

# 可选的模型包括: "Qwen/Qwen-7B-Chat", "Qwen/Qwen-14B-Chat"
tokenizer = AutoTokenizer.from_pretrained("./Qwen-14B-Chat", trust_remote_code=True)

# 打开bf16精度,A100、H100、RTX3060、RTX3070等显卡建议启用以节省显存
model = AutoModelForCausalLM.from_pretrained("./Qwen-14B-Chat", device_map="auto", trust_remote_code=True, bf16=True).eval()
# 打开fp16精度,V100、P100、T4等显卡建议启用以节省显存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True, fp16=True).eval()
# 使用CPU进行推理,需要约32GB内存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="cpu", trust_remote_code=True).eval()
# 默认使用自动模式,根据设备自动选择精度
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()

# 可指定不同的生成长度、top_p等相关超参
model.generation_config = GenerationConfig.from_pretrained("./Qwen-14B-Chat", trust_remote_code=True)

# 第一轮对话
response, history = model.chat(tokenizer, "你好"history=None)
print(response)
# 你好!很高兴为你提供帮助。

# 第二轮对话
response, history = model.chat(tokenizer, "给我讲一个年轻人奋斗创业最终取得成功的故事。"history=history)
print(response)
# 这是一个关于一个年轻人奋斗创业最终取得成功的故事。
# 故事的主人公叫李明,他来自一个普通的家庭,父母都是普通的工人。从小,李明就立下了一个目标:要成为一名成功的企业家。
# 为了实现这个目标,李明勤奋学习,考上了大学。在大学期间,他积极参加各种创业比赛,获得了不少奖项。他还利用课余时间去实习,积累了宝贵的经验。
# 毕业后,李明决定开始自己的创业之路。他开始寻找投资机会,但多次都被拒绝了。然而,他并没有放弃。他继续努力,不断改进自己的创业计划,并寻找新的投资机会。
# 最终,李明成功地获得了一笔投资,开始了自己的创业之路。他成立了一家科技公司,专注于开发新型软件。在他的领导下,公司迅速发展起来,成为了一家成功的科技企业。
# 李明的成功并不是偶然的。他勤奋、坚韧、勇于冒险,不断学习和改进自己。他的成功也证明了,只要努力奋斗,任何人都有可能取得成功。

# 第三轮对话
response, history = model.chat(tokenizer, "给这个故事起一个标题"history=history)
print(response)
# 《奋斗创业:一个年轻人的成功之路》

通过python3 hg_transformer_Qwen14BChat_demo1.py执行,实际体验推理过程较慢,24GB的A100显存资源基本满载。由于没有交互,故事部分等待了很长时间才打印输出内容。测试安装FlashAttension之后提速效果不明显。

(qwen) root@intern-studio-50014188:~/Qwen# python3 hg_transformer_Qwen14BChat_demo1.py 
Warning: please make sure that you are using the latest codes and checkpoints, especially if you used Qwen-7B before 09.25.2023.请使用最新模型和代码,尤其如果你在9月25日前已经开始使用Qwen-7B,千万注意不要使用错误代码和模型。
Try importing flash-attention for faster inference...
Warning: import flash_attn rms_norm fail, please install FlashAttention layer_norm to get higher efficiency https://github.com/Dao-AILab/flash-attention/tree/main/csrc/layer_norm
Loading checkpoint shards: 100%|██████████████████████████████████████████████████| 15/15 [00:30<00:00,  2.03s/it]
WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.
你好!有什么我可以帮助你的吗?
当然,这是一个叫杰克的年轻人的故事。

杰克出生在一个普通的家庭,他的父母都是工人。他从小就对科技和创新有着浓厚的兴趣,并且一直梦想着能够创造出自己的产品来改变世界。

在大学期间,杰克就开始了自己的创业之路。他创立了一家初创公司,专注于开发新型的智能家居设备。但是,初期的发展并不顺利,他们的产品在市场上并没有得到很好的反响。

尽管面临困难,但杰克没有放弃。他深入研究市场需求,并调整了公司的战略方向。他决定将目光投向人工智能领域,打造一款具有自我学习能力的家庭机器人。

经过无数次的努力和失败,杰克和他的团队终于研发出了这款智能机器人。这款机器人的出现引起了市场的广泛关注,销售情况也十分理想。

几年后,杰克的公司已经发展成为一家全球知名的高科技企业,他的产品被广泛应用在世界各地的家庭中,改善了人们的生活方式。他也因此获得了多项科技创新大奖,成为了年轻一代的创业偶像。

这个故事告诉我们,只要有决心、勇气和创新精神,无论起点多么平凡,我们都可以通过自己的努力和智慧实现伟大的梦想。
《从零开始:一位青年的科技创业之旅》

资源占用:

alt
2.1.2 ModelScope测试程序

使用Qwen-7B-chat进行推理。在仓库路径下创建如下python文件,注意from_pretrained中的模型文件路径和名称(3个地方需要进行修改)。

(base) root@intern-studio-50014188:~/Qwen# cat ms_transformer_Qwen7BChat_demo2.py 
from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig

# 可选的模型包括: "qwen/Qwen-7B-Chat", "qwen/Qwen-14B-Chat"
tokenizer = AutoTokenizer.from_pretrained("./Qwen-7B-Chat", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("./Qwen-7B-Chat", device_map="auto", trust_remote_code=True, fp16=True).eval()
model.generation_config = GenerationConfig.from_pretrained("./Qwen-7B-Chat", trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参

response, history = model.chat(tokenizer, "你好"history=None)
print(response)
response, history = model.chat(tokenizer, "浙江的省会在哪里?"history=history
print(response)
response, history = model.chat(tokenizer, "它有什么好玩的景点"history=history)
print(response)

运行demo程序,GPU最高占用约15G,推理过程较上面的快:

(qwen) root@intern-studio-50014188:~/Qwen# python3 ms_transformer_Qwen7BChat_demo2.py 
2024-05-08 11:30:44,479 - modelscope - INFO - PyTorch version 2.3.0 Found.
2024-05-08 11:30:44,479 - modelscope - INFO - Loading ast index from /root/.cache/modelscope/ast_indexer
2024-05-08 11:30:44,558 - modelscope - INFO - Updating the files for the changes of local files, first time updating will take longer time! Please wait till updating done!
2024-05-08 11:30:44,567 - modelscope - INFO - AST-Scanning the path "/usr/local/lib/python3.8/dist-packages/modelscope" with the following sub folders ['models''metrics''pipelines''preprocessors''trainers''msdatasets''exporters']
2024-05-08 11:30:57,465 - modelscope - INFO - Scanning done! A number of 976 components indexed or updated! Time consumed 12.89767575263977s
2024-05-08 11:30:57,496 - modelscope - INFO - Loading done! Current index file version is 1.14.0, with md5 e9dc05602b3b26234574a15f8c3fe080 and a total number of 976 components indexed
Try importing flash-attention for faster inference...
Warning: import flash_attn rms_norm fail, please install FlashAttention layer_norm to get higher efficiency https://github.com/Dao-AILab/flash-attention/tree/main/csrc/layer_norm
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████| 8/8 [00:43<00:00,  5.46s/it]
你好!很高兴为你提供帮助。有什么我可以帮你的吗?
浙江省会是杭州市。
杭州市有很多著名的旅游景点,例如西湖、灵隐寺、西溪湿地公园等。西湖是杭州最著名的景点之一,拥有美丽的湖泊、绿树环绕和历史文化遗迹;灵隐寺位于杭州市西湖区灵隐山下,是中国佛教禅宗四大名刹之一;西溪湿地公园是一个自然保护区,拥有丰富的野生动植物资源和独特的湿地景观。

资源占用情况如下:

alt

进行交叉测试,使用huggingface和modelscope的transformers分别测试demo1(讲故事),推理速度都较慢。

安装layer_norm后再次使用demo1程序进行测试,推理速度和资源占用优化提升不大。

(qwen) root@intern-studio-50014188:~/Qwen# cd flash-attention/
(qwen) root@intern-studio-50014188:~/Qwen/flash-attention# ls
AUTHORS  LICENSE  MANIFEST.in  Makefile  README.md  assets  benchmarks  csrc  examples  flash_attn  setup.py  tests  training  usage.md
(qwen) root@intern-studio-50014188:~/Qwen/flash-attention# pip install csrc/layer_norm
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing ./csrc/layer_norm
Building wheels for collected packages: dropout-layer-norm
  Building wheel for dropout-layer-norm (setup.py) ... done
  Created wheel for dropout-layer-norm: filename=dropout_layer_norm-0.1-cp38-cp38-linux_x86_64.whl size=152352178 sha256=a9fcf2fe350ccaad2cd2c943dc5aa634d9b398fba473e09d01518dca1e0cb828
  Stored in directory: /tmp/pip-ephem-wheel-cache-trak08bs/wheels/7a/c3/d2/992b2e303949af1a2128a2308268a95ec308309657cd12e497
Successfully built dropout-layer-norm
Installing collected packages: dropout-layer-norm
Successfully installed dropout-layer-norm-0.1

2.2 交互体验demo

上述的demo程序没有交互流程,下面通过命令行和web界面两种方式测试大模型。除了可以进行交互外,另外就是运行demo程序后,模型文件会一直加载到GPU中,不用每次推理都进行重复加载,直到停止程序为止。

2.2.1 命令行方式
# 命令行运行模型,修改cli_demo.py,修改模型路径:
(qwen) root@intern-studio-50014188:~/Qwen# vim cli_demo.py 
...
DEFAULT_CKPT_PATH = './Qwen-14B-Chat'
...

# 运行demo程序:
(qwen) root@intern-studio-50014188:~/Qwen# python3 cli_demo.py
...

效果如下,相对于上面的程序,推理过程是渐进式的,虽然速度仍然较慢:

alt
2.2.2 web界面方式
# web界面运行模型,修改web_demo.py,修改模型路径:
DEFAULT_CKPT_PATH = './Qwen-14B-Chat'

# 安装依赖:
(qwen) root@intern-studio-50014188:~/Qwen# pip install gradio mdtex2html

运行web界面:
(qwen) root@intern-studio-50014188:~/Qwen# python3 web_demo.py 
Warning: please make sure that you are using the latest codes and checkpoints, especially if you used Qwen-7B before 09.25.2023.请使用最新模型和代码,尤其如果你在9月25日前已经开始使用Qwen-7B,千万注意不要使用错误代码和模型。
The model is automatically converting to bf16 for faster inference. If you want to disable the automatic precision, please manually add bf16/fp16/fp32=True to "AutoModelForCausalLM.from_pretrained".
Try importing flash-attention for faster inference...
Warning: import flash_attn rms_norm fail, please install FlashAttention layer_norm to get higher efficiency https://github.com/Dao-AILab/flash-attention/tree/main/csrc/layer_norm
/usr/local/lib/python3.8/dist-packages/accelerate/utils/modeling.py:1365: UserWarning: Current model requires 2621568 bytes of buffer for offloaded layers, which seems does not fit any GPU's remaining memory. If you are experiencing a OOM later, please consider using offload_buffers=True.
  warnings.warn(
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████| 15/15 [00:06<00:00,  2.25it/s]
Running on local URL:  http://127.0.0.1:8000

由于webserver运行在远端开发机上,需要在本地电脑配置ssh端口转发,本地电脑如果是windows,需要是最新的win10或者win11.自带ssh命令。命令如下:

ssh -CNg -L 8000:127.0.0.1:8000 -o StrictHostKeyChecking=no -p 46672 root@ssh.intern-ai.org.cn

将远端机器的8000端口转发到本地的8000端口。ssh连接远端机器的端口(46672)和域名(ssh.intern-ai.org.cn)可以都提供测试机的平台查看。

然后终端打开http://127.0.0.1:8000 即可打开模型对话界面。

测试相同问答,效果如下:

alt

注意:

在运行demo程序之前,通过ps命令查看确保之前运行的demo程序已经关闭,否则会导致GPU资源不足。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1654994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新手向的s2-046漏洞复现

一、前期准备 1.docker容器 作为第一次接触struts2漏洞类型的小白&#xff0c;第一步从搭建环境开始。首先我们需要准备一个服务器或者本地系统&#xff0c;我这里是使用本地的kali&#xff0c;kali里面需要有docker容器&#xff0c;docker容器的安装教程请自行搜索&#xff0c…

每日一题——力扣面试题 17.04. 消失的数字

题目链接&#xff1a;https://leetcode.cn/problems/missing-number-lcci/description/ 菜鸡做法&#xff1a; #include <stdlib.h> // 包含标准库头文件&#xff0c;用于内存分配等功能// 函数定义&#xff1a;寻找缺失的数字 int missingNumber(int* nums, int numsSi…

浙大×移动云,携手点亮AI新时代

近年来&#xff0c;中国移动依托强大的算网资源优势&#xff0c;围绕大模型训练、推理和应用三大场景&#xff0c;打造了一站式智算产品体系。该体系旨在为客户提供覆盖资源、平台、应用的AI全链路服务。目前&#xff0c;一站式智算产品体系已在浙江大学智算中心和许昌中原智算…

瓷器三维虚拟展示编辑平台为您量身定制高效实惠的展示方案

在竞争激烈的机械产品行业中&#xff0c;如何脱颖而出、展现产品魅力与企业实力?深圳vr公司华锐视点以其独特的三维动画设计制作服务&#xff0c;为您量身定制全方位的展示方案&#xff0c;让您的机械产品在市场中熠熠生辉。 全方位展示&#xff0c;细节尽收眼底 我们的三维展…

odoo17 音视频扩展

ODOO内置了音视频服务&#xff0c;同时也提供了与第三方平台Twilio的接口&#xff0c;用以实现音视频的扩展&#xff1a; Twilio是美国一家云通讯公司&#xff0c;算是云通讯领域的巨头企业&#xff0c;与同行业的公司以销售&营销进行投资来促进业务增长不同&#xff0c;T…

韩国站群服务器在全球网络架构中的重要作用?

韩国站群服务器在全球网络架构中的重要作用? 在全球互联网的蓬勃发展中&#xff0c;站群服务器作为网络架构的核心组成部分之一&#xff0c;扮演着至关重要的角色。韩国站群服务器以其卓越的技术实力、优越的地理位置、稳定的网络基础设施和强大的安全保障能力&#xff0c;成…

深度学习中的注意力机制二(Pytorch 16)

一 Bahdanau 注意力 通过设计一个 基于两个循环神经网络的编码器‐解码器架构&#xff0c;用于序列到序列学习。具体来说&#xff0c;循环神经网络编码器将长度可变的序列转换为固定形状的上下文变量&#xff0c;然后循环神经网络 解码器根据生成的词元和上下文变量按词元生成…

转转小程序数据处理

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872&#xff0c;x30184483x…

今天遇到一个GPT解决不了的问题

问题描述 你好&#xff0c;postman的一个post请求&#xff0c;编辑器里面放了一个很长的json数据&#xff0c;报Tokenization is skipped for long lines for performance reasons. This can be configured via editor.maxTokenizationLineLength.&#xff0c;但是同样的数据&a…

YOLOv9全网最新改进系列:YOLOv9完美融合标准化的注意力模块NAM,高效且轻量级的归一化注意力机制,助力目标检测再上新台阶!

YOLOv9全网最新改进系列&#xff1a;YOLOv9完美融合标准化的注意力模块NAM&#xff0c;高效且轻量级的归一化注意力机制&#xff0c;助力目标检测再上新台阶&#xff01;&#xff01;&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er B站全…

基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊控制的AMT自动变速汽车换档智能控制系统simulink建模与仿真。 2.系统仿真结果 输入的V&#xff0c;Ac&#xff0c;a 输出的档位&#xff1a; 3.核心程序与模型 版…

基于MPPT最大功率跟踪和SVPWM的光伏三相并网逆变器simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于MPPT最大功率跟踪和SVPWM的光伏三相并网逆变器simulink建模与仿真。包括PV模块&#xff0c;MPPT模块&#xff0c;SVPWM模块&#xff0c;电网模块等。 2.系统仿真结果 1不…

Pytorch常用的函数(九)torch.gather()用法

Pytorch常用的函数(九)torch.gather()用法 torch.gather() 就是在指定维度上收集value。 torch.gather() 的必填也是最常用的参数有三个&#xff0c;下面引用官方解释&#xff1a; input (Tensor) – the source tensordim (int) – the axis along which to indexindex (Lo…

Linux中gitlab-runner部署使用备忘

环境&#xff1a; 操作系统:&#xff1a;CentOS8 gitlab版本&#xff1a;13.11.4 查看gitlab-runner版本 可以从https://packages.gitlab.com/app/runner/gitlab-runner/search找到与安装的gitlab版本相近的gitlab-runner版本以及安装命令等信息&#xff0c;我找到与13.11.4相…

【离散数学】集合上二元关系性质判定的实现(c语言实现)

实验要求 关系矩阵的初始化和打印 我们将关系矩阵存入一个二维数组中&#xff0c;因为集合元素个数不会超过5个所以就用一个5行5列二维数组来表示。 在我们得到了集合元素个数之后我们就可以对数组进行0,1随机赋值 //初始关系矩阵 void init_matrix(int array[][5], int n) {…

【数据结构|C语言版】栈和队列

前言1. 栈1.1 栈的概念和性质1.2 顺序栈1.3 链栈1.4 共享栈 2. 队列2.1 队列的概念和性质2.2 循环队列2.3 链式队列2.4 双端队列 3. 例题精选3.1 有效的括号3.2 用队列实现栈2.4 用栈实现队列3.4 设计循环队列3.5 参考答案 结语 #include<GUIQU.h> int main { 上期回顾: …

centos8.5 安装 redis 7.2.4 详细步骤

1 下载Index of /releases/ (redis.io) 通过xftp等方式上传到服务器&#xff0c;安装依赖包 yum install gcc gcc-c make tcl -y [rootlocalhost software]# ll total 3308 -rw-r--r--. 1 root root 3386861 May 3 21:56 redis-7.2.4.tar.gz [rootlocalhost software]# ll…

SlowFast报错:ValueError: too many values to unpack (expected 4)

SlowFast报错&#xff1a;ValueError: too many values to unpack (expected 4) 报错细节 File "/home/user/yuanjinmin/SlowFast/tools/visualization.py", line 81, in run_visualizationfor inputs, labels, _, meta in tqdm.tqdm(vis_loader): ValueError: too …

软件测试之测试用例详细解读

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、通用测试用例八要素   1、用例编号&#xff1b;    2、测试项目&#xff1b;   3、测…

CSS---复合选择器和元素显示模式(三)

一、CSS的复合选择器 1.1 什么是复合选择器 在CSS中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基本选择器进行组合形成的。 复合选择器是由两个或多个基础选择器连写组成&#xff0c;它…