# Fusão de modelos[[peft.utils.merge_utils.prune]]

O PEFT fornece vários utilitários internos para [mesclar adaptadores LoRA](../developer_guides/model_merging) com os métodos TIES e DARE.

#### peft.utils.merge_utils.prune[[peft.utils.merge_utils.prune]]

```python
peft.utils.merge_utils.prune(tensor: Tensor, density: float, method: typing.Literal['magnitude', 'random'], rescale: bool = False)
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L75)

**Parâmetros:**

tensor (`torch.Tensor`) --O tensor a ser podado.

density (`float`) --A fração de valores a serem preservados. Deve estar em [0,1].

method (`str`) --O método a ser usado para o pruning. Deve ser um dos ["magnitude", "random"].

rescale (`bool`) --Se deve reescalar o resultado para preservar o valor esperado do tensor original.

**Retorna:** `torch.Tensor`

O tensor podado.

Prune os valores dos tensors de tarefa com base no `method`.

#### peft.utils.merge_utils.calculate_majority_sign_mask[[peft.utils.merge_utils.calculate_majority_sign_mask]]

```python
peft.utils.merge_utils.calculate_majority_sign_mask(tensor: Tensor, method: typing.Literal['total', 'frequency'] = 'total')
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L103)

**Parâmetros:**

tensor (`torch.Tensor`) --O tensor do qual a máscara será obtida.

method (`str`) --O método a ser usado para obter a máscara. Deve ser um dos ["total", "frequency"].

**Retorna:** `torch.Tensor`

A máscara da maioria dos sinais.

Obtenha a máscara do sinal da maioria entre os tensores de tarefa. Os tensores de tarefa são empilhados na dimensão 0.

#### peft.utils.merge_utils.disjoint_merge[[peft.utils.merge_utils.disjoint_merge]]

```python
peft.utils.merge_utils.disjoint_merge(task_tensors: Tensor, majority_sign_mask: Tensor)
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L128)

**Parâmetros:**

task_tensors (`torch.Tensor`) --Os tensors de tarefa a serem mesclados.

majority_sign_mask (`torch.Tensor`) --A máscara do sinal da maioria entre os tensors da tarefa.

**Retorna:** `torch.Tensor`

O tensor mesclado.

Mescle os tensores de tarefa usando a mesclagem disjunta.

#### peft.utils.merge_utils.task_arithmetic[[peft.utils.merge_utils.task_arithmetic]]

```python
peft.utils.merge_utils.task_arithmetic(task_tensors: list, weights: Tensor)
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L144)

**Parâmetros:**

task_tensors(`List[torch.Tensor]`) --Os tensors de tarefa a serem mesclados.

weights (`torch.Tensor`) --Os pesos dos tensors da tarefa.

**Retorna:** `torch.Tensor`

O tensor mesclado.

Mescle os tensores da tarefa usando `task arithmetic`.

#### peft.utils.merge_utils.ties[[peft.utils.merge_utils.ties]]

```python
peft.utils.merge_utils.ties(task_tensors: list, weights: Tensor, density: float, majority_sign_method: typing.Literal['total', 'frequency'] = 'total')
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L185)

**Parâmetros:**

task_tensors(`List[torch.Tensor]`) --Os tensors de tarefa a serem mesclados.

weights (`torch.Tensor`) --Os pesos dos tensors da tarefa.

density (`float`) --A fração de valores a serem preservados. Deve estar em [0,1].

majority_sign_method (`str`) : O método a ser usado para obter a máscara de sinal da maioria. Deve ser um dos ["total", "frequency"].

**Retorna:** `torch.Tensor`

O tensor mesclado.

Mescle os tensores da tarefa usando `ties`.

#### peft.utils.merge_utils.dare_linear[[peft.utils.merge_utils.dare_linear]]

```python
peft.utils.merge_utils.dare_linear(task_tensors: list, weights: Tensor, density: float)
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L217)

**Parâmetros:**

task_tensors(`List[torch.Tensor]`) --Os tensors de tarefa a serem mesclados.

weights (`torch.Tensor`) --Os pesos dos tensors da tarefa.

density (`float`) --A fração de valores a serem preservados. Deve estar em [0,1].

**Retorna:** `torch.Tensor`

O tensor mesclado.

Mescle os tensores da tarefa usando `dare linear`.

#### peft.utils.merge_utils.dare_ties[[peft.utils.merge_utils.dare_ties]]

```python
peft.utils.merge_utils.dare_ties(task_tensors: list, weights: Tensor, density: float, majority_sign_method: typing.Literal['total', 'frequency'] = 'total')
```

[Fonte](https://github.com/huggingface/peft/blob/main/src/peft/utils/merge_utils.py#L239)

**Parâmetros:**

task_tensors(`List[torch.Tensor]`) --Os tensors de tarefa a serem mesclados.

weights (`torch.Tensor`) --Os pesos dos tensors da tarefa.

density (`float`) --A fração de valores a serem preservados. Deve estar em [0,1].

majority_sign_method (`str`) : O método a ser usado para obter a máscara de sinal da maioria. Deve ser um dos ["total", "frequency"].

**Retorna:** `torch.Tensor`

O tensor mesclado.

Mescle os tensores da tarefa usando `dare ties`.

