Axolotl

Axolotl


文章目录

    • 一、关于 Axolotl
      • 特点
      • Axolotl支持
    • 二、快速入门⚡
      • 用法
    • 三、环境设置
        • 1、Docker
        • 2、Conda/Pip venv
        • 3、Cloud GPU
        • 4、Bare Metal Cloud GPU
          • LambdaLabs
          • GCP
        • 5、Windows
        • 6、Mac
        • 7、Google Colab
        • 8、通过SkyPilot在公共云上启动
        • 9、通过 dstack 在公共云上启动
    • 四、其他高级设置
      • 1、数据集
      • 2、配置
        • 所有配置选项
    • 五、训练
      • 运行
      • 预处理数据集
      • 多GPU
        • 1、DeepSpeed
        • 2、FSDP
        • 3、FSDP + QLoRA
        • 4、权重和偏差记录
        • 5、特殊 token
        • 6、Inference Playground
        • 7、将LORA 与基础合并
    • 六、常见错误 🧰
      • 标记化不匹配 b/w 推理和训练
    • 七、其他
      • 调试 Axolotl
      • 需要帮忙吗?🙋
      • 徽章❤🏷️
      • 社区展示
      • 贡献🤝


一、关于 Axolotl

Axolotl是一种旨在简化各种AI模型微调的工具,提供对多种配置和架构的支持。

  • github : https://github.com/axolotl-ai-cloud/axolotl
  • 官方文档:https://axolotl-ai-cloud.github.io/axolotl/
  • 官网:https://axolotl.ai

在这里插入图片描述


特点

  • 训练各种Huggingface模型,如美洲驼、蟒蛇、猎鹰、mpt
  • 支持fullfinetune、lora、qlora、relora和gptq
  • 使用简单的yaml文件或CLI覆盖自定义配置
  • 加载不同的数据集格式、使用自定义格式或自带标记化数据集
  • 与xher、闪存关注、绳索缩放和多重包装集成
  • 通过FSDP或DeepSpeed与单个GPU或多个GPU一起使用
  • 使用Docker在本地或云上轻松运行
  • 将结果和可选的检查点记录到wandb或mlflow
  • 还有更多!

Axolotl支持

fp16/fp32loraqloragptqgptq w/flash attnflash attnxformers attn
llama
Mistral
Mixtral-MoE
Mixtral8X22
Pythia
cerebras
btlm
mpt
falcon
gpt-j
XGen
phi
RWKV
Qwen
Gemma

✅:支持❌:不支持❓:未经测试


二、快速入门⚡

只需几个步骤即可开始使用Axolotl!本快速入门指南将引导您完成设置和运行基本微调任务。

要求:Python>=3.10 和 Pytorch>=2.1.1。

git clone https://github.com/axolotl-ai-cloud/axolotl
cd axolotlpip3 install packaging ninja
pip3 install -e '.[flash-attn,deepspeed]'

用法

# preprocess datasets - optional but recommended
CUDA_VISIBLE_DEVICES="" python -m axolotl.cli.preprocess examples/openllama-3b/lora.yml# finetune lora
accelerate launch -m axolotl.cli.train examples/openllama-3b/lora.yml# inference
accelerate launch -m axolotl.cli.inference examples/openllama-3b/lora.yml \--lora_model_dir="./outputs/lora-out"# gradio
accelerate launch -m axolotl.cli.inference examples/openllama-3b/lora.yml \--lora_model_dir="./outputs/lora-out" --gradio# remote yaml files - the yaml config can be hosted on a public URL
# Note: the yaml config must directly link to the **raw** yaml
accelerate launch -m axolotl.cli.train https://raw.githubusercontent.com/axolotl-ai-cloud/axolotl/main/examples/openllama-3b/lora.yml

三、环境设置


1、Docker
docker run --gpus '"all"' --rm -it winglian/axolotl:main-latest

或者在当前文件上运行进行开发:

docker compose up -d

注:如果您想调试axolotl或更喜欢使用Docker作为您的开发环境,请参阅调试指南中关于Docker的部分。


2、Conda/Pip venv
  1. 安装python>=3.10
  2. 安装pytorch稳定https://pytorch.org/get-started/locally/
  3. 将Axolotl与python依赖项一起安装
pip3 install packaging
pip3 install -e '.[flash-attn,deepspeed]'
  1. (可选)登录Huggingface以使用门控模型/数据集。
huggingface-cli login

在 huggingface.co/settings/tokens 拿到令牌


3、Cloud GPU

对于支持docker映像的云GPU提供商,请使用winglian/axolotl-cloud:main-latest

  • Latitude.sh使用这个直接链接
  • JarvisLabs.ai使用这个直接链接
  • 在RunPod上使用此直接链接

4、Bare Metal Cloud GPU

LambdaLabs
  1. 安装 python
sudo apt update
sudo apt install -y python3.10sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --config python # pick 3.10 if given option
python -V # should be 3.10
  1. 安装 pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
  1. 安装 Pytorch https://pytorch.org/get-started/locally/
  2. Follow instructions on quickstart.
  3. 运行
pip3 install protobuf==3.20.3
pip3 install -U --ignore-installed requests Pillow psutil scipy
  1. Set path
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

GCP

Use a Deeplearning linux OS with cuda and pytorch installed. Then follow instructions on quickstart.

Make sure to run the below to uninstall xla.

pip uninstall -y torch_xla[tpu]

5、Windows

请使用WSL或Docker!


6、Mac

使用下面的而不是快速入门中的安装方法。

pip3 install -e '.'

更多信息:mac.md


7、Google Colab

请使用此示例 笔记本。


8、通过SkyPilot在公共云上启动

要在7+云上(GCP、AWS、Azure、OCI等)启动GPU实例(按需和现场实例),您可以使用SkyPilot:

pip install "skypilot-nightly[gcp,aws,azure,oci,lambda,kubernetes,ibm,scp]"  # choose your clouds
sky check

获取使用Axolotl微调mistralai/Mistral-7B-v0.1的示例YAMLs:

git clone https://github.com/skypilot-org/skypilot.git
cd skypilot/llm/axolotl

使用一个命令启动:

# On-demand
HF_TOKEN=xx sky launch axolotl.yaml --env HF_TOKEN# Managed spot (auto-recovery on preemption)
HF_TOKEN=xx BUCKET=<unique-name> sky spot launch axolotl-spot.yaml --env HF_TOKEN --env BUCKET

9、通过 dstack 在公共云上启动

要在公共云(GCP、AWS、Azure、Lambda Labs、TensorDock、Vast.ai和CUDO)上启动GPU实例(按需实例和现场实例),可以使用dstack。

用YAML写一份工作描述如下:

# dstack.yaml
type: taskimage: winglian/axolotl-cloud:main-20240429-py3.11-cu121-2.2.2env:- HUGGING_FACE_HUB_TOKEN- WANDB_API_KEYcommands:- accelerate launch -m axolotl.cli.train config.yamlports:- 6006resources:gpu:memory: 24GB..count: 2

然后,只需使用dstack run命令运行该作业。如果您需要spot实例,请附加--spot选项。dstack run命令将显示跨多个云服务价格最便宜的实例:

pip install dstack
HUGGING_FACE_HUB_TOKEN=xxx WANDB_API_KEY=xxx dstack run . -f dstack.yaml # --spot

有关进一步和细粒度的用例,请参阅官方dstack文档和官方存储库中axolotl示例的详细描述。


四、其他高级设置

1、数据集

Axolotl支持多种数据集格式。建议使用JSONL。JSONL的架构取决于您希望使用的任务和提示模板。除了JSONL,您还可以使用HuggingFace数据集,其中包含每个JSONL字段的列。

有关如何使用不同数据集格式的更多信息,请参阅这些文档。


2、配置

请参阅示例以快速入门。建议根据您的需要复制和修改。最重要的选项是:

  • 模型
base_model: ./llama-7b-hf # local or huggingface repo

注意:代码将加载正确的架构。


  • 数据集
datasets:# huggingface repo- path: vicgalle/alpaca-gpt4type: alpaca# huggingface repo with specific configuration/subset- path: EleutherAI/pilename: enron_emailstype: completion # format from earlierfield: text # Optional[str] default: text, field to use for completion data# huggingface repo with multiple named configurations/subsets- path: bigcode/commitpackftname:- ruby- python- typescripttype: ... # unimplemented custom format# fastchat conversation# See 'conversation' options: https://github.com/lm-sys/FastChat/blob/main/fastchat/conversation.py- path: ...type: sharegptconversation: chatml # default: vicuna_v1.1# local- path: data.jsonl # or jsonds_type: json # see other options belowtype: alpaca# dataset with splits, but no train split- path: knowrohit07/know_sqltype: context_qa.load_v2train_on_split: validation# loading from s3 or gcs# s3 creds will be loaded from the system default and gcs only supports public access- path: s3://path_to_ds # Accepts folder with arrow/parquet or file path like above. Supports s3, gcs....# Loading Data From a Public URL# - The file format is `json` (which includes `jsonl`) by default. For different formats, adjust the `ds_type` option accordingly.- path: https://some.url.com/yourdata.jsonl # The URL should be a direct link to the file you wish to load. URLs must use HTTPS protocol, not HTTP.ds_type: json # this is the default, see other options below.

  • 装载
load_in_4bit: true
load_in_8bit: truebf16: auto # require >=ampere, auto will detect if your GPU supports this and choose automatically.
fp16: # leave empty to use fp16 when bf16 is 'auto'. set to false if you want to fallback to fp32
tf32: true # require >=amperebfloat16: true # require >=ampere, use instead of bf16 when you don't want AMP (automatic mixed precision)
float16: true # use instead of fp16 when you don't want AMP

注意:Repo不进行4位量化。


  • lora
adapter: lora # 'qlora' or leave blank for full finetune
lora_r: 8
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules:- q_proj- v_proj

所有配置选项

有关所有配置选项,请参阅这些文档。


五、训练

运行

accelerate launch -m axolotl.cli.train your_config.yml

注:您还可以引用托管在公共URL上的配置文件,例如 accelerate launch -m axolotl.cli.train https://yourdomain.com/your_config.yml


预处理数据集

您可以选择在微调之前使用以下内容对数据集进行预标记化。推荐用于大型数据集。

  • dataset_prepared_path:设置为本地文件夹,用于保存和加载预标记化数据集。
  • (可选):设置push_dataset_to_hub: hf_user/repo将其推送到Huggingface。
  • (可选):使用--debug查看预处理示例。
python -m axolotl.cli.preprocess your_config.yml

多GPU

以下是axolotl中用于使用多个GPU进行训练的选项。请注意DeepSpeed 是目前推荐的多GPU选项,因为FSDP可能会遇到 损失不稳定性。


1、DeepSpeed

DeepSpeed是多gpu系统的优化套件,可让您训练比您大得多的模型 通常可能能够适应GPU的VRAM。有关各种优化类型的更多信息 对于深度速度可在https://huggingface.co/docs/accelerate/main/en/usage_guides/deepspeed#what-is-integrated

我们为ZeRO第1、2和3阶段提供了几种默认的深度JSON配置。

deepspeed: deepspeed_configs/zero1.json

accelerate launch -m axolotl.cli.train examples/llama-2/config.yml --deepspeed deepspeed_configs/zero1.json

2、FSDP
  • llama FSDP
fsdp:- full_shard- auto_wrap
fsdp_config:fsdp_offload_params: truefsdp_state_dict_type: FULL_STATE_DICTfsdp_transformer_layer_cls_to_wrap: LlamaDecoderLayer

3、FSDP + QLoRA

Axolotl支持使用FSDP和QLoRA进行培训,有关详细信息,请参阅这些文档。


4、权重和偏差记录

确保您的 WANDB_API_KEY 环境变量已设置(推荐),或者您使用 wandb login 登陆 wandb。

  • wandb 选项
wandb_mode:
wandb_project:
wandb_entity:
wandb_watch:
wandb_name:
wandb_log_model:

5、特殊 token

在标记器的词汇表中包含特殊的标记(如分隔符、序列结束beginning-of-sequence)非常重要。这将帮助您避免标记化问题并帮助您的模型更好地训练。您可以在axolotl中这样做:

special_tokens:bos_token: "<s>"eos_token: "</s>"unk_token: "<unk>"
tokens: # these are delimiters- "<|im_start|>"- "<|im_end|>"

当您在axolotl配置中包含这些标记时,axolotl会将这些标记添加到标记器的词汇表中。


6、Inference Playground

Axolotl允许您在交互式终端游乐场中加载模型以进行快速实验。配置文件与用于训练的配置文件相同。

根据训练的模型类型,将适当的标志传递给推理命令:

  • 预训练 LORA
python -m axolotl.cli.inference examples/your_config.yml --lora_model_dir="./lora-output-dir"
  • 全量微调
python -m axolotl.cli.inference examples/your_config.yml --base_model="./completed-model"
  • 从文件,全参数微调 w/ a prompt
cat /tmp/prompt.txt | python -m axolotl.cli.inference examples/your_config.yml \
--base_model="./completed-model" --prompter=None --load_in_8bit=True

  • 使用 gradio 托管
python -m axolotl.cli.inference examples/your_config.yml --gradio

请使用--sample_packing False,如果您打开它并收到类似于下面的错误:

RuntimeError:堆栈期望每个张量大小相等,但在条目0处得到[1,32,1,128],在条目1处得到[1,32,8,128]


7、将LORA 与基础合并

下面的命令将把你的LORA适配器与你的基本模型合并。你可以选择传递参数--lora_model_dir来指定你的LORA适配器保存的目录,否则,这将从axolotl配置文件中的output_dir中推断出来。
合并的模型保存在子目录{lora_model_dir}/merged中。

python3 -m axolotl.cli.merge_lora your_config.yml --lora_model_dir="./completed-model"

您可能需要使用 gpu_memory_limit 和/或 lora_on_cpu 配置选项来避免运行内存溢出。如果CUDA内存仍然不足,您可以尝试合并系统RAM

CUDA_VISIBLE_DEVICES="" python3 -m axolotl.cli.merge_lora ...

虽然这会很慢,但建议改用上面的配置选项。


六、常见错误 🧰

另请参阅常见问题解答和调试指南。

如果您遇到’Cuda内存溢出’错误,这意味着您的GPU在训练过程中内存溢出。以下是解决方法:


请减少以下任何内容

  • micro_batch_size
  • eval_batch_size
  • gradient_accumulation_steps
  • sequence_len

如果没有帮助,请尝试在命令中不使用深度速度和不加速(将“加速启动”替换为“python”)运行。

使用 adamw_bnb_8bit 也可以节省一些内存。

failed (exitcode: -9)

通常意味着您的系统内存用完了。同样,您应该考虑减少与VRAM用完时相同的设置。此外,考虑升级您的系统内存,这应该比GPU升级更简单。

RuntimeError:预期的标量类型Float但找到一半


尝试设置fp16: true

NotImplementedError: No operator found for memory_efficient_attention_forward


尝试关闭 xformers。

accelerate config missing


忽略它是安全的。

NCCL Timeouts during training

请参阅 NCCL 指南。


标记化不匹配 b/w 推理和训练

对于许多格式,Axolotl通过在标记字符串之后连接标记id来构造提示。连接标记id而不是对字符串进行操作的原因是为了保持对注意力掩码的精确计算。

如果您解码由axolotl构造的提示符,您可能会看到您不期望的标记之间的空格(或缺少空格),尤其是在分隔符和特殊标记周围。当您开始使用新格式时,您应该始终执行以下操作:

  1. 使用 python -m axolotl.cli.preprocess your_config.yml --debug 物化一些数据,然后使用模型的标记器解码前几行。
  2. 在推理过程中,就在您将令牌id张量传递给模型之前,将这些令牌解码回字符串。
  3. 确保#2中的推理字符串看起来与您从#1中微调的数据完全相同,包括空格和新行。如果它们不一样,请相应地调整您的推理服务器。
  4. 作为额外的故障排除步骤,您可以查看1到2之间的令牌id以确保它们相同。

训练和推理过程中的提示不一致会导致模型性能非常差,所以值得检查一下。这篇博客文章有一个具体的例子。


七、其他

调试 Axolotl

有关调试Axolotl的提示,以及使用VSCode进行调试的示例配置,请参阅此调试指南。


需要帮忙吗?🙋

加入我们的不和谐服务器,我们的社区成员可以帮助您。

需要专门的支持?请通过✉️联系我们以获取专门的支持选项。


徽章❤🏷️

用Axolotl建造一些很酷的东西?考虑在您的模型卡上添加一个徽章。

[<img src="https://raw.githubusercontent.com/axolotl-ai-cloud/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/axolotl-ai-cloud/axolotl)

在这里插入图片描述


社区展示

查看一些使用Axolotl构建的项目和模型!有想要添加到我们的社区展示中的模型吗?使用您的模型打开PR。

开放存取AI集体

  • Minotaur 13b
  • Manticore 13b
  • Hippogriff 30b

PocketDoc实验室

  • Dan’s PersonalityEngine 13b LoRA

贡献🤝

请阅读投稿指南

错误?请检查未解决问题,否则创建新问题。

非常欢迎PR!

请运行以下快速入门说明以设置env:

pip3 install -r requirements-dev.txt -r requirements-tests.txt
pre-commit install# test
pytest tests/# optional: run against all files
pre-commit run --all-files

感谢我们迄今为止的所有贡献者。通过为Axolotl做出贡献来帮助推动开源AI的进步。


2024-07-16(二)

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

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

相关文章

网站成长时间轴页面,网站发展记录页源码

一、源码描述 这是一款网站时间轴HTML源码&#xff0c;样式设计精美并且使用简单&#xff0c;主要用于记录你的网站发展历程&#xff0c;或者可以用于发布心情动态等&#xff0c;左侧年份可以折叠起来&#xff0c;页面底部是导航区域&#xff0c;可以自定义文本和链接。 二、…

Azure Repos 仓库管理

从远端仓库克隆到本地 前提:本地要安装git,并且登录了账户 1.在要放这个远程仓库的路径下,打git 然后 git clone https://.. 如果要登录验证,那就验证下 克隆完后,cd 到克隆的路径, 可以用 git branch -a //查看分支名 git status //查看代码状态 删除…

对于GPT-5在一年半后发布的期待!

首先&#xff0c;如果GPT-5真如OpenAI首席技术官米拉穆拉蒂&#xff08;Mira Murati&#xff09;在采访中所透露的那样&#xff0c;在一年半后发布&#xff0c;并在某些领域达到博士级的智能&#xff0c;这无疑将是一个令人振奋的消息。这一预测不仅反映了AI技术的快速发展&…

MPAS跨尺度、可变分辨率模式实践技术

跨尺度预测模式&#xff08;The Model for Prediction Across Scales - MPAS&#xff09;是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发&#xff0c;其由3个部分组成&#xff0c;分别称为 MPAS-A&#xff08;大气模型&#xff09;、MPAS-O&#xff08;海洋模型&…

python实例练习00001:打开文件输出文件内容

try:file input(enter the file :)with open(file, r) as f:data f.read()print(data) except FileNotFoundError:print(fthe file {file} does not exists:) 打开windows的cmd运行程序&#xff0c;效果如下&#xff1a;

vscode常用组件

1.vue-helper 启用后点击右下角注册&#xff0c;可以通过vue组件点击到源码里面 2.【Auto Close Tag】和【Auto Rename Tag】 3.setting---Auto Reveal Exclude vscode跳转node_modules下文件&#xff0c;没有切换定位到左侧菜单目录> 打开VSCode的setting配置&#xff…

非法闯入智能监测摄像机:安全守护的新利器

在当今社会&#xff0c;安全问题愈发受到重视。随着科技的进步&#xff0c;非法闯入智能监测摄像机应运而生&#xff0c;成为保护家庭和财产安全的重要工具。这种摄像机不仅具备监控功能&#xff0c;还集成了智能识别和报警系统&#xff0c;能够在第一时间内检测到潜在的入侵行…

第七天 SpringBoot与SpringCloud微服务项目交付

Spring Cloud微服务项目交付 微服务扫盲篇 微服务并没有一个官方的定义&#xff0c;想要直接描述微服务比较困难&#xff0c;我们可以通过对比传统WEB应用&#xff0c;来理解什么是微服务。 单体应用架构 如下是传统打车软件架构图&#xff1a; 这种单体应用比较适合于小项…

图像处理中的Scharr算子的原理,并附OpenCV和MATLAB示例代码

Scharr算子是图像处理中的一种边缘检测算子&#xff0c;主要用于计算图像梯度的边缘检测。与Sobel算子类似&#xff0c;Scharr算子也使用卷积核来计算图像的导数&#xff0c;但Scharr算子在精度和抗噪性方面表现更优。其原理如下&#xff1a; 原理 梯度计算 在图像处理中&…

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例

服务器存储数据恢复环境&#xff1a; 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列&#xff08;包含一块热备盘&#xff09;。 服务器存储故障&#xff1a; 该存储中的RAID5阵列1块硬盘由于未知原因离线&#xff0c;热备盘上线并开始同步数据&#xff0c;数据同步到…

Android C++系列:Linux文件系统(二)

1. VFS虚拟文件系统 Linux支持各种各样的文件系统格式&#xff0c;如ext2、ext3、reiserfs、FAT、NTFS、iso9660 等等&#xff0c;不同的磁盘分区、光盘或其它存储设备都有不同的文件系统格式&#xff0c;然而这些文件系统 都可以mount到某个目录下&#xff0c;使我们看到一个…

如何提升运维管理的精细化管理能力

在当今这个信息化的时代&#xff0c;运维管理已经成为企业IT架构中不可或缺的一环。随着企业业务的不断扩张和技术的日益复杂&#xff0c;提升运维管理的精细化管理能力显得尤为重要。精细化管理不仅能够提高企业的运营效率&#xff0c;还能有效降低运维成本&#xff0c;为企业…

最新PHP自助商城源码,彩虹商城源码

演示效果图 后台效果图 运行环境&#xff1a; Nginx 1.22.1 Mysql5.7 PHP7.4 直接访问域名即可安装 彩虹自助下单系统二次开发 拥有供货商系统 多余模板删除 保留一套商城,两套发卡 源码无后门隐患 已知存在的BUG修复 彩虹商城源码&#xff1a;下载 密码:chsc 免责声明&…

05 以物品与用户为基础个性化推荐算法的四大策略

《易经》&#xff1a;“九二&#xff1a;见龙在田&#xff0c;利见大人”。九二是指阳爻在卦中处于第二位&#xff0c;见龙指龙出现在地面上&#xff0c;开始崭露头角&#xff0c;但是仍须努力&#xff0c;应处于安于偏下的位置。 本节是模块二第一节&#xff0c;模块二讲解传…

Python中的数据结构:五彩斑斓的糖果盒

在Python编程的世界里&#xff0c;数据结构就像是一个个五彩斑斓的糖果盒&#xff0c;每一种糖果都有其独特的味道和形状。这些多姿多彩&#xff0c;形状和味道各异的糖果盒子包括了&#xff1a;List&#xff08;列表&#xff09;、Tuple&#xff08;元组&#xff09;、Diction…

如何保证数据库和redis的数据一致性

1、简介 在客户端请求数据时&#xff0c;如果能在缓存中命中数据&#xff0c;那就查询缓存&#xff0c;不用在去查询数据库&#xff0c;从而减轻数据库的压力&#xff0c;提高服务器的性能。 2、问题如何保证两者的一致性 先更新数据库在删除缓存 难点&#xff1a;如何保证…

微信小程序,订阅消息

微信小程序&#xff0c;订阅消息&#xff0c;完整流程 1.选择需要的模版 2.前端调用订阅消息 注&#xff1a;tmplIds&#xff1a;模板ID模版id,这里也可以选多个 wx.requestSubscribeMessage({tmplIds: [7UezzOrfJg_NIYdE1p*******],success (res) { console.log(res);wx.g…

一款简单的音频剪辑工具

Hello&#xff0c;大家好呀&#xff0c;我是努力搬砖的小画。 今天小画给大伙分享一款强大的音频剪辑工具--【剪画】&#xff0c;无需下载就能使用&#xff0c;支持对MP3、M4A、AAC等多种格式文件进行剪辑、分割、拼接、混音、变声、淡入淡出、音频格式转换、视频转音频、消除…

Hive 函数

分类 Hive 的函数分为两大类&#xff1a;内置函数&#xff08;Built-in-Functions&#xff09;、用户自定义函数&#xff08;User-Defined-Functions&#xff09;&#xff1b;内置函数可分为&#xff1a;数值类型函数、日期类型函数、字符串类型函数、集合函数等&#xff1b;用…

基于粒子滤波和帧差法的目标跟踪matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 帧差法 4.2 粒子滤波 4.3 粒子滤波与帧差法的结合 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 原重采样方法&#xff1a; 改进重采样方法&#xff1a; 2.算法…