colossalai

Форк
0
/
test_shard_utils.py 
26 строк · 833.0 Байт
1
import torch
2
import torch.nn as nn
3

4
from colossalai.shardformer.shard.utils import set_tensors_to_none
5

6

7
class Net(nn.Module):
8
    def __init__(self) -> None:
9
        super().__init__()
10
        self.layers = nn.Sequential(nn.Linear(1, 2), nn.Linear(2, 3))
11
        self.out = nn.Linear(3, 1)
12

13

14
def test_release_layer():
15
    orig_cuda_allocated = torch.cuda.memory_allocated()
16
    model = Net().cuda()
17
    set_tensors_to_none(model, exclude={model.layers[0]})
18
    assert model.layers[1].weight is None
19
    assert model.layers[1].bias is None
20
    assert model.out.weight is None
21
    assert model.out.bias is None
22
    set_tensors_to_none(model)
23
    assert model.layers[0].weight is None
24
    assert model.layers[0].bias is None
25
    assert len(list(model.parameters())) == 0
26
    assert torch.cuda.memory_allocated() == orig_cuda_allocated
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.