中国移动九天毕昇部署fastchat Ubuntu18.04+torch1.13.1+cuda11.6+python3.9

news2024/11/26 14:40:25

8核CPU,RAM32G

时间:2023年7月

项目地址:GitHub - lm-sys/FastChat: An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and FastChat-T5.
体验地址:https://chat.lmsys.org/

时间20230703,fastchat项目持续更新中,后续还未跟进

下载文件:(都可以网络下载)

请注意:(不使用毕昇平台,可以跳过)

下载到本地后压缩成zip文件格式,在数据管理中上传,上传时注意停留在当前页面,关闭单机,选择编辑,添加数据,重新启动。添加后的数据位置/data/user,安装pip install unzip,解压zip文件。

fastchat

GitHub - lm-sys/FastChat: An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and FastChat-T5.

transformers

GitHub - huggingface/transformers: 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

  Vicuna-v1.1匹配transformers>=4.28.0 ,fschat >= 0.2.0.

LLaMA-7B OriginalModelWeights

这是MetaAI官方放出的LLaMA模型中7B规模的参数

原申请地址:https://forms.gle/jk851eBVbX1m5TAv5

github:https://github.com/facebookresearch/llama

LLaMA-7B OriginalModelWeights - 飞桨AI Studio(用的这个)

 vicuna-7b-delta-v1.1(小羊驼)

https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main

下载转换后的模型(vicuna-7b-v1.1、vicuna-13b-v1.1)

7b-v1.1: 小羊驼模型7b-v1.1 (访问码:aj2u)(用的这个)

13b-v1.1:小羊驼模型13b-v1.1 (访问码:p3nk)

vicuna-7b-v1.3

llmsys/vicuna-7b-v1.3 at main

下载转换后的模型(vicuna-7b-v1.3)

请注意:下载保存后要修改名称,去掉特殊符号【.】

环境搭建:

创建虚拟环境fastchat,系统已经装有anaconda,输入conda命令

#创建fastchat虚拟环境,安装python3.9
conda create -n fastchat python=3.9   #  官网要求Python版本要>= 3.8

重新打开一个终端,激活fastchat环境

conda activate fastchat

环境创建好了,我们可以开始安装依赖包、软件FastChat使用的pytorch框架,建议安装pytorch

可以使用conda和pip,conda有时候会找不到包,这里使用pip

# 方法1
# 使用这个命令安装torch1.131,cuda11.6,torchvision0.14,试了下,下载大概十几个小时,我用了方法2
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
# 方法2
安装cuda11.6
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 

安装cuda11.6切换

pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 

将llama模型转换为HF格式

创建文件夹transformer_model_7b存放转换后的LLaMA,进到convert_llama_weights_to_hf.py同级目录

mkdir LLaMA
mkdir transformer_model_7b
cd /root/transformers/main/src/transformers/models/llama/
python convert_llama_weights_to_hf.py \
       --input_dir /root/LLaMA \
       --model_size 7B \
       --output_dir /root/transformer_model_7b

执行convert_llama_weights_to_hf.py转换llama

参数:--input_dir指下载LLama的文件夹,包含tokenizer.model文件,请仔细核对

参数:--model_size是指定哪个参数级的模型,7B是70亿参数模型,还有13B/30B/65B的模型

参数:--output_dir是转换后文件的地址,等下还要用来合并权重


 

合并权重,生成FastChat对应的模型Vicuna(更新后的vicuna-7b-v1.3跳过此步)

发布的vicuna-7b-v1.3v1.3是合并权重,您不需要应用delta

Vicuna基于LLaMA,应在LLaMA的型号许可证下使用

友情提示:这个过程消耗大量CPU内存,保证内存充足!

Vicuna-7B 需要大约30 GB的CPU RAM

Vicuna-13B 需要大约60 GB的CPU RAM

python -m apply_delta \
      --base /root/transformer_model_7b \
      --target /root/vicuna-7b \
      --delta /root/vicuna-7b/vicuna-7b-delta-v11

参数:--base指定的是上一步,我们转换好的LLaMA 文件路径,

参数:--target是接下来生成的Vicuna文件要存放的位置,稍后启动FastChat要用

参数:--delta是下载好的vicuna-7b模型的地址,本地路径/root/vicuna-7b/vicuna-7b-delta-v11(lmsys/vicuna-7b-delta-v1.1意思是联网下载vicuna-7b-delta-v1.1)

如果内存不够,可以加上--low-cpu-mem,它可以让消耗的内存低于16GB

需要等待一会

控制台输出:

python -m apply_delta --base /root/transformer_model_7b --target /root/vicuna-7b-fastchat --delta /root/vicuna-7b/vicuna-7b-delta-v11
Loading the delta weights from /root/vicuna-7b/vicuna-7b-delta-v11
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████| 2/2 [03:01<00:00, 90.81s/it]
Loading the base model from /root/transformer_model_7b
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████| 2/2 [02:25<00:00, 72.95s/it]
Applying the delta
Applying delta: 100%|███████████████████████████████████████████████████████████████████| 323/323 [00:29<00:00, 11.00it/s]
Saving the target model to /root/vicuna-7b-fastchat


启动FastChat的命令行交互

手动进入FastChat-main/fastchat/serve目录,包含cli.py文件,请注意

python3 -m cli --model-path /root/vicuna-7b-v13 --device cpu

参数:--model-path  是指上一步生成的模型

参数:--device cpu  是指使用CPU运行

如果有多张显卡,可通过--num-gpus 2来指定多张显卡

官方给出的参考值如下

使用显卡的情况下:Vicuna-13B大概需要28GB显存,Vicuna-7B大概需要14GB显存

使用CPU的情况下:Vicuna-13B大概需要60GB内存,Vicuna-7B大概需要30GB内存

添加--load-8bit试试,内存可能会降低到16g

这个过程CPU拉满,需要等待几分钟,过一会出来几个词

python3 -m fastchat.serve.cli --model-path /root//vicuna-7b-v13 --device cpu
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████| 2/2 [03:22<00:00, 101.10s/it]
USER: Introduction of china
ASSISTANT: China is a country located in East Asia, bordered by multiple countries including North Korea, Vietnam, Laos, Myanmar, Bhutan, Nepal, India, and Pakistan. It is the third largest country in the world by land area and has the world's largest population. The official language is Mandarin Chinese, and the currency is the Chinese Yuan. The capital of China is Beijing, and the country has a diverse history and culture, including influences from both ancient civilizations such as the Han and the Tang, as well as more recent events like the Cultural Revolution.
USER: Introduction of china
ASSISTANT: China is a vast country located in East Asia, covering approximately 9.6 million square kilometers. It is the world's most populous country, with over 1.4 billion people, and has a long and complex history dating back thousands of years. The country is known for its rich cultural heritage, including contributions to art, literature, philosophy, and cuisine, as well as its technological advancements in recent years.

China has a diverse landscape, ranging from the towering Himalayan mountains to vast, fertile plains. It is home to numerous ethnic groups, each with its own unique culture and traditions. The official language is Mandarin Chinese, which is spoken by the majority of the population, but there are also many other languages and dialects spoken throughout the country.

The country's history is marked by a long period of imperial rule, followed by the establishment of the People's Republic of China in 1949. Since then, China has undergone significant political, economic, and social changes, and has become one of the world's largest economies.

In recent years, China has become an increasingly important global power, with a growing influence in international affairs and a significant presence in various international organizations. The country has also made significant strides in areas such as science, technology, and innovation, and is home to many world-renowned scientists, researchers, and innovators.

 

后续展望:

尝试使用中文数据集微调,进行中文对话

进一步提高推理速度

遇到的问题:

(1)系统自带cuda10.1版本,要安装cuda11.6版本,切换到cuda11.6.

下载cuda11.6 :CUDA Toolkit 11.6 Downloads | NVIDIA Developer

这里选择了runfile安装方式,下载速度几十兆每秒,很惊喜

 执行两个命令

Do you accept the previously read EULA?      accept

Do you want to install a symbolic link at /usr/local/cuda?

(y)es/(n)o/(q)uit: n   

将软链接cuda重新链接到cuda11.6,默认cuda为cuda11.6,

ln -snf /usr/local/cuda-10.0 /usr/local/cuda

(2)SSLError: TLS/SSL connection has been closed (EOF) (_ssl.c:1129)(待解决,请多指教)

  (3) TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

意思是你的代码过期了,要使用一个新版本。要怎么解决?很简单,重新安装新版本

pip3 install --upgrade protobuf #直接安装最新版本

提示说protobuf版本2.20.x或者更低,安装了3.20.1,安装你自己的版本就可以啦

# 更新protobuf
pip3 install --upgrade protobuf==3.20.1 # 3.20.1表示指定版本号

(3) 'HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /lmsys/vicuna-7b-delta-v1.1/resolve/main/tokenizer_config.json (Caused by ProxyError('Cannot connect to proxy.', timeout('timed out')))' 

requests.exceptions.ProxyError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /lmsys/vicuna-7b-delta-v1.1/resolve/main/tokenizer_config.json (Caused by ProxyError('Cannot connect to proxy.', timeout('timed out')))

意思是访问https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/resolve/main/tokenizer_config.json超过最大次数,访问hugggingface.co下载vicuna-7b-delta-v1.1可能会掉线

怎么解决? 很简单开启魔法或者下载到本地

 官网下载地址:https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main

这里是电信云下载  vicuna-7b-delta-v1.1到本地,

7b-v1.1: 小羊驼模型7b-v1.1 (访问码:aj2u)     用的这个,13G左右

13b-v1.1:小羊驼模型13b-v1.1 (访问码:p3nk)

(4)使用LLama-7b和vicuna-7b-v1.1合并生成的模型,输出乱码(等待更好的方法)

 报错:RuntimeError: probability tensor contains either `inf`, `nan` or element < 0

使用LLama-7b和vicuna-7b-v1.3合并生成的模型,依旧输出乱码

单独测试LLama-7b、vicuna-7b-v1.1、vicuna-7b-v1.3,都可以推理出相关的英文

(5)

 RuntimeError: CUDA out of memory. Tried to allocate 384.00 MiB (GPU 0; 31.75 GiB total capacity; 20.64 GiB already allocated; 265.75 MiB free; 20.75 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
换用v100带有32G显存,推理需要14G显存,明明足够使用,却报错。

查看:nvidia-smi显示GPU上没有进程在进行,显存却被大量占用

原因:可能存在僵尸进程,已经运行完毕或者卡死,但是内存没有释放,处于挂起状态

解决:

方法1: 重启电脑

方法2:如果不能重启电脑,选择方法2

找到GPU上运行的进程

fuser -v /dev/nvidia*

使用kill杀死进程,释放资源

kill -9 183   # 杀死183进程

(6)  stderr [Errno 99] error while attempting to bind on address ('::1', 21001, 0, 0): cannot assign requested address  (待解决)

常用指令

pip3 install --upgrade pip           更新pip

cat /proc/version        查看linux内核版本

lsb_release -a            查看当前Ubuntu系统版本


nvcc -V                      查看系统CUDA版本 

conda create -n fastchat python=3.9     创建虚拟环境fastchat,安装python3.9

conda info--env    查看当前虚拟环境

conda activate fastchat            切换到fastchat环境

pip install ipykernel ipython         安装ipykernel ipython
ipython kernel install --user --name fastchat        将fastchat虚拟环境添加到jupyter notebook

cd cuda/                  打开进入cuda文件夹

mkdir fastchat          新建fastchat文件夹

ls -a                         查看当前目录内容

rm -rf vicuna-7b                删除vicuna-7b文件夹,-f, --force 强制删除,不需要确认

rm -r *               强制删除当前文件夹下所有文件,-r递归地删除子目录中的内容,* 表示匹配当前目录下的所有文件和子文件夹

echo "This is a second line!" >> output.txt    将字符串【This is a second line!】写到output.txt末尾

pip install unzip     安装unzip

unzip file.zip -d /data/user      file.zip文件解压到/data/user

mv  原始文件夹名   修改之后的文件夹名字            修改文件夹名称

source ~/.bashrc              环境变量立刻生效

export PATH=$PATH:/usr/local/cuda-11.6/bin           将/usr/local/cuda-11.6/bin添加到环境变量

ln -snf /usr/local/cuda-11.6 /usr/local/cuda            软链接cuda重新链接到cuda-11.6

python3 -m fastchat.model.apply_delta \

          --base-model-path /path/to/llama-7b \          [\]续行符,命令太长,一行写不下,分割成两行

pip list      查看安装的包

git clone https://github.com/lm-sys/FastChat.git      克隆FastChat项目源码到当前目录

cd FastChat/                  进入FastChat文件夹

pip install -e      执行当前目录下setup.py文件,安装完成pip list查看

pip list      查看安装的包

pip install -r requirements.txt                下载安装requirements.txt中的依赖包

python -m apply_delta   执行apply_delta.py文件,不用写.py。-m参数增加了python的搜索路径,除了当前路径,再加上了标准库的路径

peft库用于帮助使用LoRA

transformers库用于加载、训练、保存模型

du -sh            查看当前所处的文件夹的整个大小(不包括具体内容,只看当前文件夹大小)

ls -lh             查看当前文件夹中各个文件的大小

ifconfig            查看ip地址

import torch
print(torch.version.cuda)      查看cuda版本

import torch
torch.cuda.is_available()      查看cuda是否安装成功,有gpu返回True,没有gpu返回False

free -h    查看内存使用情况

total:总物理内存大小

used:内存使用量

free:剩余可用内存

lscpu      查看cpu信息概要

top         查看系统cpu使用情况

 PID    进程id
USER    进程所有者的用户名
PR    优先级
NI    nice值,负值表示高优先级,正值表示低优先级
VIRT    进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
RES    进程使用的,未被换出的物理内存大小,单位kb,RES=CODE+DATA
SHR    共享内存大小,单位kb
%CPU    上次更新到现在的CPU时间占用百分比
%MEM    进程使用的物理内存百分比
TIME+    进程使用的CPU时间总计,单位1/100秒
COMMAND    命令名/命令行
top中内存大小和free -h中显示的一样

lspci | grep VGA:这条命令可以列出系统中所有的显卡设备

nvidia-smi -L     列出系统中的每个 NVIDIA GPU 及其 UUID

nvidia-smi         查看GPU使用情况

在这里插入图片描述

第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
 

判断torch.device是是GPU还是CPU

import torch
device=torch.device('cuda:0')
if device.type != "cpu":
    print("GPU,&&&&")
else:
    print("CPU,&&&&")

移动九天毕昇:

vGPU 1个-8G显存

单卡V100套餐(CPU 8核、内存32G、V100 1个-32G显存

参考:

FastChat(小羊驼模型)部署体验_kuokay的博客-CSDN博客

FastChat-Vicuna开放,媲美ChatGPT的90%能力——从下载到安装、部署_ChatGPT_蒋含竹-重庆城市开发者社区

python3 -m 原理分析和实现_小强强-游泳的鱼的博客-CSDN博客

python的虚拟环境图文详解(虚拟环境作用以及虚拟环境搭建,切换,退出,迁移打包)代码演示_python 切换虚拟环境_Rebecca_yanhan的博客-CSDN博客

【Linux】在一台机器上同时安装多个版本的CUDA(切换CUDA版本)_linux安装多个cuda_TangPlusHPC的博客-CSDN博客

在ubuntu上安装多个版本的CUDA,并实现CUDA版本的自由切换_能重命名cuda马_史蒂夫卡的博客-CSDN博客

llama.cpp一种在本地CPU上部署的量化模型(超低配推理llama)_god_Zeo的博客-CSDN博客

LLaMA-7B OriginalModelWeights - 飞桨AI Studio

[大模型] 搭建llama主流大模型训练环境_晨阳2023的博客-CSDN博客

Vicuna 模型学习与实战_桂花很香,旭很美的博客-CSDN博客

centos7系统安装Vicuna(小羊驼)聊天机器人_大哈哥的博客-CSDN博客

九天毕昇深度学习平台常见环境问题及解决最新发布 | Python大全

如何安装和使用vicuna

ubuntu查看内存使用情况_ubuntu查看内存占用情况_眼底流转天上月的博客-CSDN博客

ubuntu16.04 查看系统可用内存 - IT技男技女

Ubuntu下硬件信息的查看_ubuntu查看硬件信息_星火(star&fire)的博客-CSDN博客

https://blog.csdn.net/weixin_44861214/article/details/114532801

Ubuntu服务器上监控内存、磁盘和cpu使用率shell脚本_shell脚本获取cpu使用率_夜半子时的博客-CSDN博客

Linux-ubuntu系统查看显卡型号、显卡信息详解、显卡天梯图_ubuntu查看显卡型号_TFATS的博客-CSDN博客

ubuntu 查看显卡命令_笨爪的博客-CSDN博客

Linux(Ubuntu)之top命令_ubuntu安装top_WZ18810463869的博客-CSDN博客

The conversation replied with garbled code · Issue #1269 · lm-sys/FastChat · GitHub

model.generate with prefix_allowed_tokens_fn throws RuntimeError: probability tensor contains either `inf`, `nan` or element < 0 · Issue #15169 · huggingface/transformers · GitHub

docs/model_support.md · main · mirrors / lm-sys / fastchat · GitCode

查询GPU时无进程运行,但是显存却被占用了

gpu没有运行进程,但是显存一直占用_gpu没有在使用_m0_52253424的博客-CSDN博客

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

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

相关文章

【Web3】Web3连接到以太坊网络(测试网、主网)

目录 什么是Web3 Web3项目连接以太坊网络 1.下载Web3 2.实例化Web3对象 3.infura 获取连接以太坊网络节点 4.添加网络节点 什么是Web3 web3.js开发文档&#xff1a;web3.js - Ethereum JavaScript API — web3.js 1.0.0 documentation web3.js 中文文档 : web3.js - 以…

【观察】技术创新+以行践言双管齐下,戴尔科技加速边缘计算落地

众所周知&#xff0c;随着混合多云的快速发展&#xff0c;来自百行千业的用户都在通过混合多云的策略推进加速企业的数字化转型&#xff0c;其中边缘计算由于能够在靠近数据生成的地点和位置就近提供计算、网络、智能等关键能力&#xff0c;其不仅正成为构建“云边端”一体化的…

实验:验证TCP套接字传输的数据不存在数据边界

来源&#xff1a;《TCP/IP网络编程》 学习ing 自己动手&#xff0c;把坑踩一遍&#xff0c;也可以学习到很多。 Linux环境下: 客户端&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <…

23西安电子科技大学人工智能学院821考研录取情况

23西安电子科技大学人工智能学院821考研录取情况 01、人工智能学院各个方向 02、23人工智能学院一志愿考研录取情况总览、均分 PS&#xff1a;智能院23年院线相对于22年院线下降很多分&#xff0c;对于广大考生来说是一个好事 PS&#xff1a;1、总成绩均分在330-345之间&#…

封装一个类似微信通讯录带有字母检索功能的vue组件

这里我们直接使用scrollIntoView方法 该方法将调用它的元素滚动到浏览器窗口的可见区域 语法 element.scrollIntoView&#xff08;&#xff09;; // 等同于element.scrollIntoView(true) element.scrollIntoView&#xff08;alignToTop&#xff09;; //布尔参数 element.scro…

新颖的文档、视频交互方式:以《GPT API Unofficial Docs》和《渐构》为例

一、背景 无意中看到一份 《GPT API 非官方文档》&#xff1a;https://gpt.pomb.us/ 被网站的交互方式所吸引&#xff0c;颇为新颖&#xff0c;值得借鉴。 左侧是对应的 API 代码调用示例&#xff0c;右侧是文档的每个部分&#xff0c;滑动到对应部分&#xff0c;左侧相关的代…

前台-倒计时hooks

import { useIntervalFn } from @vueuse/core import { ref, onUnmounted } from vue// 全部显示 天、时、分、秒 const setAllCountdownStr = (value: number) => {let second = parseInt(value.toString())const day = second / (3600 * 24) //3600秒等于60分钟等于1小时s…

已上架的App在AppStore上无法搜索到的问题

已上架的App在AppStore上无法搜索到的问题 在AppStore上搜不到已经上架的应用程序可以采取以下解决办法&#xff1a; 拨打iTunes提供的支持电话&#xff1a;4006-701-855&#xff08;中国时间9:00-17:00&#xff09;。发送邮件给Review团队&#xff0c;在iTunes Connect登录后…

ElasticSearch8.x和Java API Client

建议 建议直接阅读我的博客原文 10.4 Java API Client操作-索引库/文档 客户端更新 ES为不同语言提供了用于操作ES的客户端&#xff0c;截至2023年7月4日&#xff0c;根据官网Java REST Client已经被弃用&#xff0c;取而代之的是Java API Client&#xff0c;黑马的教程里都…

Docker(一)之 应用(Application)部署容器化的演进之路

前言 容器化技术可以帮助企业更大化资源利用&#xff0c;同时帮助项目相关人员&#xff08;开发、运维、测试、安全等&#xff09;以最小的成本实现项目快速上云部署&#xff0c;掌握容器化管理工具Docker&#xff0c;就掌握了云原生最基础、最核心技术之一 应用&#xff08;…

springboot整合hibernate,gradle,达梦8数据库,实现增删改查的功能

1.新建一个springboot项目&#xff0c;选择gradle管理 2.gradle添加以下依赖&#xff0c;gradle版本7.4 dependencies {// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-webimplementation org.springframework.boot:spring-boot-starter…

Pytorch深度强化学习1-3:策略评估与贝尔曼期望方程详细推导

目录 0 专栏介绍1 从一个例子出发2 回报与奖赏3 策略评估函数4 贝尔曼期望方程5 收敛性证明 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#xff0c;辅…

ZUH-ACDM-网络-网闸-根据论坛的案例进行分析

H3C技术论坛&#xff1a;https://zhiliao.h3c.com/Theme/details/64343 文章目录 需求&#xff1a;源地址&#xff1a;172.16.1.33访问目的地址&#xff1a;192.168.4.233确认确定是主机确认外端机连接地址172.16.1.254确认内端机到源地址172.16.1.33是通的确认流量走向/路由第…

基于matlab使用高斯混合模型检测和计数视频序列中的汽车(附源码)

一、前言 此示例演示如何使用基于高斯混合模型 &#xff08;GMM&#xff09; 的前景检测器检测和计数视频序列中的汽车。 检测和计数汽车可用于分析交通模式。检测也是执行更复杂的任务&#xff08;例如按类型跟踪或分类车辆&#xff09;之前的第一步。 此示例演示如何使用前…

prometheus描点原理

大家好&#xff0c;我是蓝胖子&#xff0c;关于prometheus的入门教程有很多&#xff0c;拿我之前学prometheus的经历来讲&#xff0c;看了很多教程&#xff0c;还是会对prometheus的描点以及背后的统计原理感到迷惑&#xff0c;所以今天我们就来分析下这部分&#xff0c;来揭开…

AIGC - Stable Diffusion 的 墨幽人造人 模型与 Tag 配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131565068 Stable Diffusion的模型网站 LiblibAI&#xff1a;https://www.liblibai.com 墨幽人造人网址&#xff1a;https://www.liblibai.com/m…

BUU [vnctf2023]电子木鱼

BUU [vnctf2023]电子木鱼 先看看题目&#xff0c;点不了。 看看源码。Rust整数溢出。 在 Rust 中&#xff0c;整数类型默认是有符号整数类型&#xff0c;意味着这些整数类型可以表示正数和负数。对于有符号整数类型&#xff0c;最高位用来表示符号&#xff0c;0 表示正数&…

如何在Microsoft Excel中快速创建等比序列

Excel 中的填充句柄允许你通过拖动句柄自动填充行或列中的数据列表&#xff08;数字或文本&#xff09;。这可以在大型工作表中输入顺序数据时节省大量时间&#xff0c;并提高工作效率。 如果数据遵循某个模式或基于其他单元格中的数据&#xff0c;则可以使用“自动填充”功能…

TiDB(7):技术内幕之存储

1 引言 数据库、操作系统和编译器并称为三大系统&#xff0c;可以说是整个计算机软件的基石。其中数据库更靠近应用层&#xff0c;是很多业务的支撑。这一领域经过了几十年的发展&#xff0c;不断的有新的进展。 很多人用过数据库&#xff0c;但是很少有人实现过一个数据库&a…

基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习三)

设备节点功能模块设计 在本文节点功能设计中&#xff0c;拥有用于检测温度的温度传感器、监测湿度的湿度传感器以及 调节空调温度的IR红外发射器&#xff0c;另留有部分外接扩展串口&#xff0c;因此可能会在实际使用中扩展更多的设备模块与功能。 可见&#xff0c;如何高效地…