morphoformer 2.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- morphoformer-2.1.3/LICENSE +21 -0
- morphoformer-2.1.3/PKG-INFO +213 -0
- morphoformer-2.1.3/README.md +192 -0
- morphoformer-2.1.3/morphoformer/__init__.py +1 -0
- morphoformer-2.1.3/morphoformer/__main__.py +3 -0
- morphoformer-2.1.3/morphoformer/cli.py +381 -0
- morphoformer-2.1.3/morphoformer/config/__init__.py +6 -0
- morphoformer-2.1.3/morphoformer/config/loader.py +89 -0
- morphoformer-2.1.3/morphoformer/config/presets.py +55 -0
- morphoformer-2.1.3/morphoformer/config/schema.py +99 -0
- morphoformer-2.1.3/morphoformer/data/__init__.py +4 -0
- morphoformer-2.1.3/morphoformer/data/dataset.py +153 -0
- morphoformer-2.1.3/morphoformer/data/download.py +177 -0
- morphoformer-2.1.3/morphoformer/data/feature_vocab.py +58 -0
- morphoformer-2.1.3/morphoformer/data/vocab.py +74 -0
- morphoformer-2.1.3/morphoformer/inference/__init__.py +2 -0
- morphoformer-2.1.3/morphoformer/inference/cache.py +29 -0
- morphoformer-2.1.3/morphoformer/inference/decode.py +75 -0
- morphoformer-2.1.3/morphoformer/modules/__init__.py +14 -0
- morphoformer-2.1.3/morphoformer/modules/adapter.py +51 -0
- morphoformer-2.1.3/morphoformer/modules/attention.py +174 -0
- morphoformer-2.1.3/morphoformer/modules/conv.py +47 -0
- morphoformer-2.1.3/morphoformer/modules/decoder.py +168 -0
- morphoformer-2.1.3/morphoformer/modules/encoder.py +118 -0
- morphoformer-2.1.3/morphoformer/modules/feedforward.py +36 -0
- morphoformer-2.1.3/morphoformer/modules/morph_encoder.py +78 -0
- morphoformer-2.1.3/morphoformer/modules/norm.py +29 -0
- morphoformer-2.1.3/morphoformer/modules/position.py +37 -0
- morphoformer-2.1.3/morphoformer/modules/registry.py +37 -0
- morphoformer-2.1.3/morphoformer/modules/transformer.py +173 -0
- morphoformer-2.1.3/morphoformer/training/__init__.py +3 -0
- morphoformer-2.1.3/morphoformer/training/memory.py +226 -0
- morphoformer-2.1.3/morphoformer/training/scheduler.py +21 -0
- morphoformer-2.1.3/morphoformer/training/trainer.py +203 -0
- morphoformer-2.1.3/morphoformer.egg-info/PKG-INFO +213 -0
- morphoformer-2.1.3/morphoformer.egg-info/SOURCES.txt +41 -0
- morphoformer-2.1.3/morphoformer.egg-info/dependency_links.txt +1 -0
- morphoformer-2.1.3/morphoformer.egg-info/entry_points.txt +2 -0
- morphoformer-2.1.3/morphoformer.egg-info/requires.txt +5 -0
- morphoformer-2.1.3/morphoformer.egg-info/top_level.txt +1 -0
- morphoformer-2.1.3/pyproject.toml +43 -0
- morphoformer-2.1.3/setup.cfg +4 -0
- morphoformer-2.1.3/setup.py +9 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 voluntasprogressus
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: morphoformer
|
|
3
|
+
Version: 2.1.3
|
|
4
|
+
Summary: MorphFormer: multilingual morphological reinflection via character-level Transformer
|
|
5
|
+
Author: voluntasprogressus
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Repository, https://github.com/voluntasprogressus/Morphological-Reinflection-Models
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
12
|
+
Classifier: Topic :: Text Processing :: Linguistic
|
|
13
|
+
Requires-Python: >=3.14
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Requires-Dist: torch>=2.0.0
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
19
|
+
Requires-Dist: ruff>=0.4.0; extra == "dev"
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
# MorphFormer v2
|
|
23
|
+
|
|
24
|
+
MorphFormer v2 - это улучшенная версия модели для мультиязычной морфологической реинфлексии. Модель основана на архитектуре Transformer с поддержкой нескольких языков и оптимизированными настройками DataLoader.
|
|
25
|
+
|
|
26
|
+
## Особенности
|
|
27
|
+
|
|
28
|
+
- **Мультиязычность**: Поддержка множества языков через language adapters
|
|
29
|
+
- **Оптимизированный DataLoader**: Настройки для максимальной производительности
|
|
30
|
+
- **Гибкая конфигурация**: TOML-конфигурации с пресетами
|
|
31
|
+
- **Модульная архитектура**: Подключаемые модули для attention, feedforward, conv и других компонентов
|
|
32
|
+
- **Поддержка различных устройств**: CPU, CUDA, ROCm, XPU, MPS
|
|
33
|
+
|
|
34
|
+
## Установка
|
|
35
|
+
|
|
36
|
+
### Установка как пакет
|
|
37
|
+
```bash
|
|
38
|
+
cd Morph_v2
|
|
39
|
+
pip install -e .
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Установка зависимостей
|
|
43
|
+
```bash
|
|
44
|
+
pip install torch tomli
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Быстрый старт
|
|
48
|
+
|
|
49
|
+
### 1. Скачать данные
|
|
50
|
+
```bash
|
|
51
|
+
morphoformer download --lang rus --out-dir data
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 2. Создать конфигурацию
|
|
55
|
+
```bash
|
|
56
|
+
# Используйте примеры конфигураций из config_examples/
|
|
57
|
+
# или создайте свою:
|
|
58
|
+
morphoformer init-config --preset medium --out config.toml
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 3. Обучить модель
|
|
62
|
+
```bash
|
|
63
|
+
morphoformer train --config config.toml --data data/rus_train.tsv
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 4. Инференс
|
|
67
|
+
```bash
|
|
68
|
+
morphoformer infer --checkpoint checkpoints/morphformer_epoch50.pt --word "тест" --morph "V;IND;PRS;3;SG" --lang rus
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Команды CLI
|
|
72
|
+
|
|
73
|
+
### Обучение
|
|
74
|
+
```bash
|
|
75
|
+
morphoformer train --config config.toml --data train.tsv [--val val.tsv] [--epochs 50] [--batch 64]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Инференс
|
|
79
|
+
```bash
|
|
80
|
+
morphoformer infer --checkpoint model.pt --word "слово" --morph "признаки;через;точку;с;запятой" [--lang rus]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Интерактивный режим
|
|
84
|
+
```bash
|
|
85
|
+
morphoformer serve --checkpoint model.pt
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Скачивание данных
|
|
89
|
+
```bash
|
|
90
|
+
morphoformer download --lang all [--out-dir data] [--merge]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Список модулей
|
|
94
|
+
```bash
|
|
95
|
+
morphoformer modules
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Создание конфигурации
|
|
99
|
+
```bash
|
|
100
|
+
morphoformer init-config --preset small|medium|large --out config.toml
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Конфигурация
|
|
104
|
+
|
|
105
|
+
Примеры конфигураций находятся в директории `config_examples/`.
|
|
106
|
+
|
|
107
|
+
### Пресеты
|
|
108
|
+
- **small.toml**: Для CPU или GPU с ограниченной памятью
|
|
109
|
+
- **medium.toml**: Баланс производительности и качества
|
|
110
|
+
- **large.toml**: Для мощных GPU с 16+ GB VRAM
|
|
111
|
+
|
|
112
|
+
### Настройки DataLoader
|
|
113
|
+
```toml
|
|
114
|
+
[data]
|
|
115
|
+
num_workers = 2 # Количество worker-процессов (0 для Windows)
|
|
116
|
+
pin_memory = true # Pinned memory для GPU
|
|
117
|
+
prefetch_factor = 2 # Предзагрузка батчей
|
|
118
|
+
persistent_workers = false # Переиспользование workers
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Структура проекта
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
morphoformer/
|
|
125
|
+
├── __init__.py
|
|
126
|
+
├── __main__.py
|
|
127
|
+
├── cli.py
|
|
128
|
+
├── config/
|
|
129
|
+
│ ├── __init__.py
|
|
130
|
+
│ ├── schema.py # Схема конфигурации
|
|
131
|
+
│ ├── loader.py # Загрузка TOML
|
|
132
|
+
│ └── presets.py # Пресеты моделей
|
|
133
|
+
├── config_examples/ # Примеры конфигураций
|
|
134
|
+
├── data/
|
|
135
|
+
│ ├── __init__.py
|
|
136
|
+
│ ├── vocab.py # Словарь символов
|
|
137
|
+
│ ├── feature_vocab.py # Словарь признаков
|
|
138
|
+
│ ├── dataset.py # Датасет
|
|
139
|
+
│ └── download.py # Загрузка данных
|
|
140
|
+
├── inference/
|
|
141
|
+
│ ├── __init__.py
|
|
142
|
+
│ ├── decode.py # Декодирование
|
|
143
|
+
│ └── cache.py # Кэш KV
|
|
144
|
+
├── modules/
|
|
145
|
+
│ ├── __init__.py
|
|
146
|
+
│ ├── transformer.py # Основная модель
|
|
147
|
+
│ ├── encoder.py # Энкодер
|
|
148
|
+
│ ├── decoder.py # Декодер
|
|
149
|
+
│ ├── registry.py # Реестр модулей
|
|
150
|
+
│ └── ... # Другие модули
|
|
151
|
+
└── training/
|
|
152
|
+
├── __init__.py
|
|
153
|
+
├── trainer.py # Тренер
|
|
154
|
+
├── scheduler.py # Планировщик LR
|
|
155
|
+
└── memory.py # Управление памятью
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Примеры использования
|
|
159
|
+
|
|
160
|
+
### Обучение с кастомными настройками
|
|
161
|
+
```bash
|
|
162
|
+
morphoformer train \
|
|
163
|
+
--config config.toml \
|
|
164
|
+
--data train.tsv \
|
|
165
|
+
--batch 32 \
|
|
166
|
+
--num-workers 2 \
|
|
167
|
+
--pin-memory true \
|
|
168
|
+
--prefetch-factor 2
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Инференс с GPU
|
|
172
|
+
```bash
|
|
173
|
+
morphoformer infer \
|
|
174
|
+
--checkpoint model.pt \
|
|
175
|
+
--word "бежать" \
|
|
176
|
+
--morph "V;IND;PRS;3;PL" \
|
|
177
|
+
--lang rus \
|
|
178
|
+
--device cuda
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Скачивание нескольких языков
|
|
182
|
+
```bash
|
|
183
|
+
morphoformer download --lang rus,deu,fra --out-dir data --merge
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Оптимизация производительности
|
|
187
|
+
|
|
188
|
+
### Для Windows
|
|
189
|
+
```toml
|
|
190
|
+
num_workers = 0 # Отключить multiprocessing
|
|
191
|
+
pin_memory = true
|
|
192
|
+
prefetch_factor = 2
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Для Linux/macOS
|
|
196
|
+
```toml
|
|
197
|
+
num_workers = 2 # Оптимально для 4-8 ядер
|
|
198
|
+
pin_memory = true
|
|
199
|
+
prefetch_factor = 2
|
|
200
|
+
persistent_workers = true
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Для мощных систем
|
|
204
|
+
```toml
|
|
205
|
+
num_workers = 4 # Для 8+ ядер
|
|
206
|
+
pin_memory = true
|
|
207
|
+
prefetch_factor = 3 # Больше предзагрузки
|
|
208
|
+
persistent_workers = true
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Лицензия
|
|
212
|
+
|
|
213
|
+
MIT
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# MorphFormer v2
|
|
2
|
+
|
|
3
|
+
MorphFormer v2 - это улучшенная версия модели для мультиязычной морфологической реинфлексии. Модель основана на архитектуре Transformer с поддержкой нескольких языков и оптимизированными настройками DataLoader.
|
|
4
|
+
|
|
5
|
+
## Особенности
|
|
6
|
+
|
|
7
|
+
- **Мультиязычность**: Поддержка множества языков через language adapters
|
|
8
|
+
- **Оптимизированный DataLoader**: Настройки для максимальной производительности
|
|
9
|
+
- **Гибкая конфигурация**: TOML-конфигурации с пресетами
|
|
10
|
+
- **Модульная архитектура**: Подключаемые модули для attention, feedforward, conv и других компонентов
|
|
11
|
+
- **Поддержка различных устройств**: CPU, CUDA, ROCm, XPU, MPS
|
|
12
|
+
|
|
13
|
+
## Установка
|
|
14
|
+
|
|
15
|
+
### Установка как пакет
|
|
16
|
+
```bash
|
|
17
|
+
cd Morph_v2
|
|
18
|
+
pip install -e .
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Установка зависимостей
|
|
22
|
+
```bash
|
|
23
|
+
pip install torch tomli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Быстрый старт
|
|
27
|
+
|
|
28
|
+
### 1. Скачать данные
|
|
29
|
+
```bash
|
|
30
|
+
morphoformer download --lang rus --out-dir data
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Создать конфигурацию
|
|
34
|
+
```bash
|
|
35
|
+
# Используйте примеры конфигураций из config_examples/
|
|
36
|
+
# или создайте свою:
|
|
37
|
+
morphoformer init-config --preset medium --out config.toml
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 3. Обучить модель
|
|
41
|
+
```bash
|
|
42
|
+
morphoformer train --config config.toml --data data/rus_train.tsv
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 4. Инференс
|
|
46
|
+
```bash
|
|
47
|
+
morphoformer infer --checkpoint checkpoints/morphformer_epoch50.pt --word "тест" --morph "V;IND;PRS;3;SG" --lang rus
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Команды CLI
|
|
51
|
+
|
|
52
|
+
### Обучение
|
|
53
|
+
```bash
|
|
54
|
+
morphoformer train --config config.toml --data train.tsv [--val val.tsv] [--epochs 50] [--batch 64]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Инференс
|
|
58
|
+
```bash
|
|
59
|
+
morphoformer infer --checkpoint model.pt --word "слово" --morph "признаки;через;точку;с;запятой" [--lang rus]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Интерактивный режим
|
|
63
|
+
```bash
|
|
64
|
+
morphoformer serve --checkpoint model.pt
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Скачивание данных
|
|
68
|
+
```bash
|
|
69
|
+
morphoformer download --lang all [--out-dir data] [--merge]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Список модулей
|
|
73
|
+
```bash
|
|
74
|
+
morphoformer modules
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Создание конфигурации
|
|
78
|
+
```bash
|
|
79
|
+
morphoformer init-config --preset small|medium|large --out config.toml
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Конфигурация
|
|
83
|
+
|
|
84
|
+
Примеры конфигураций находятся в директории `config_examples/`.
|
|
85
|
+
|
|
86
|
+
### Пресеты
|
|
87
|
+
- **small.toml**: Для CPU или GPU с ограниченной памятью
|
|
88
|
+
- **medium.toml**: Баланс производительности и качества
|
|
89
|
+
- **large.toml**: Для мощных GPU с 16+ GB VRAM
|
|
90
|
+
|
|
91
|
+
### Настройки DataLoader
|
|
92
|
+
```toml
|
|
93
|
+
[data]
|
|
94
|
+
num_workers = 2 # Количество worker-процессов (0 для Windows)
|
|
95
|
+
pin_memory = true # Pinned memory для GPU
|
|
96
|
+
prefetch_factor = 2 # Предзагрузка батчей
|
|
97
|
+
persistent_workers = false # Переиспользование workers
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Структура проекта
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
morphoformer/
|
|
104
|
+
├── __init__.py
|
|
105
|
+
├── __main__.py
|
|
106
|
+
├── cli.py
|
|
107
|
+
├── config/
|
|
108
|
+
│ ├── __init__.py
|
|
109
|
+
│ ├── schema.py # Схема конфигурации
|
|
110
|
+
│ ├── loader.py # Загрузка TOML
|
|
111
|
+
│ └── presets.py # Пресеты моделей
|
|
112
|
+
├── config_examples/ # Примеры конфигураций
|
|
113
|
+
├── data/
|
|
114
|
+
│ ├── __init__.py
|
|
115
|
+
│ ├── vocab.py # Словарь символов
|
|
116
|
+
│ ├── feature_vocab.py # Словарь признаков
|
|
117
|
+
│ ├── dataset.py # Датасет
|
|
118
|
+
│ └── download.py # Загрузка данных
|
|
119
|
+
├── inference/
|
|
120
|
+
│ ├── __init__.py
|
|
121
|
+
│ ├── decode.py # Декодирование
|
|
122
|
+
│ └── cache.py # Кэш KV
|
|
123
|
+
├── modules/
|
|
124
|
+
│ ├── __init__.py
|
|
125
|
+
│ ├── transformer.py # Основная модель
|
|
126
|
+
│ ├── encoder.py # Энкодер
|
|
127
|
+
│ ├── decoder.py # Декодер
|
|
128
|
+
│ ├── registry.py # Реестр модулей
|
|
129
|
+
│ └── ... # Другие модули
|
|
130
|
+
└── training/
|
|
131
|
+
├── __init__.py
|
|
132
|
+
├── trainer.py # Тренер
|
|
133
|
+
├── scheduler.py # Планировщик LR
|
|
134
|
+
└── memory.py # Управление памятью
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Примеры использования
|
|
138
|
+
|
|
139
|
+
### Обучение с кастомными настройками
|
|
140
|
+
```bash
|
|
141
|
+
morphoformer train \
|
|
142
|
+
--config config.toml \
|
|
143
|
+
--data train.tsv \
|
|
144
|
+
--batch 32 \
|
|
145
|
+
--num-workers 2 \
|
|
146
|
+
--pin-memory true \
|
|
147
|
+
--prefetch-factor 2
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Инференс с GPU
|
|
151
|
+
```bash
|
|
152
|
+
morphoformer infer \
|
|
153
|
+
--checkpoint model.pt \
|
|
154
|
+
--word "бежать" \
|
|
155
|
+
--morph "V;IND;PRS;3;PL" \
|
|
156
|
+
--lang rus \
|
|
157
|
+
--device cuda
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Скачивание нескольких языков
|
|
161
|
+
```bash
|
|
162
|
+
morphoformer download --lang rus,deu,fra --out-dir data --merge
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Оптимизация производительности
|
|
166
|
+
|
|
167
|
+
### Для Windows
|
|
168
|
+
```toml
|
|
169
|
+
num_workers = 0 # Отключить multiprocessing
|
|
170
|
+
pin_memory = true
|
|
171
|
+
prefetch_factor = 2
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Для Linux/macOS
|
|
175
|
+
```toml
|
|
176
|
+
num_workers = 2 # Оптимально для 4-8 ядер
|
|
177
|
+
pin_memory = true
|
|
178
|
+
prefetch_factor = 2
|
|
179
|
+
persistent_workers = true
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Для мощных систем
|
|
183
|
+
```toml
|
|
184
|
+
num_workers = 4 # Для 8+ ядер
|
|
185
|
+
pin_memory = true
|
|
186
|
+
prefetch_factor = 3 # Больше предзагрузки
|
|
187
|
+
persistent_workers = true
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Лицензия
|
|
191
|
+
|
|
192
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.1.3"
|