-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ignore.py
96 lines (76 loc) · 2.78 KB
/
ignore.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
from setuptools import setup, find_packages
VERSION = '0.0.3'
DESCRIPTION = 'A package for training and communicating with AI chatbots based on pytorch'
LONG_DESCRIPTION = """
A package with several AI classes making it easy to train data based on PyTorch.
## Initialization
To initialize:
```python
# Make sure the test and train data come from the same dataset
myai = WMLTextModelManagerOne(
model_file_name="AmazonReviewFull.pkl",
training_dataloader=WMLDataset(
datapipe=datasets.AmazonReviewFull(
split="train"
)
),
test_dataloader=WMLDataset(
datapipe=datasets.AmazonReviewFull(
split="test"
)
)
)
```
## Training
To train:
```python
myai.download_train_and_test_data()
myai.load_model_from_scratch()
myai.train()
myai.estimate_loss()
myai.create_optimizer()
myai.save_model_to_pickle()
```
## Chat
To chat:
```python
myai.download_train_and_test_data()
myai.load_model_from_file()
myai.chat_with_model()
```
## Class Initialization Properties
- `device`: Specifies whether to use CUDA, CPU, or lets it be determined by available computer hardware.
- `max_iters`: Number of iterations for the entire training run.
- `n_embd`: Number of embeddings.
- `n_head`: Number of heads for multihead attention.
- `n_layer`: Number of layers (linear, activation, output functions).
- `dropout`: Number of values to turn to zero to prevent the model from memorization.
- `model_file_name`: The name of the file to save the model to (currently supports only pickle files, so please save as .pkl).
- `reporting_loss`.
- `learning_rate`.
- `block_size`: Amount of characters in a section of text that represents 1 batch.
- `batch_size`: Amount of batches the model gets to learn in 1 iteration during the training session. A training session is like a child going through pre-K through college, and each grade is 1 iteration. At the end, the model should be able to generalize (converge) well, like an adult who can meaningfully contribute to society.
## Changelog
### v0.0.2:
- Corrected issues with the dataloader where the model_manager would not receive the training and test dataloaders.
### v0.0.3:
- Changed the default block and batch sizes so beginners can feel more tangible results.
"""
setup(
name="wml_ai_model_managers",
version=VERSION,
description=DESCRIPTION,
long_description_content_type='text/markdown',
long_description=LONG_DESCRIPTION,
author="Windmillcode",
author_email="[email protected]",
license='MIT',
packages=find_packages(),
install_requires=[],
keywords=['ai','ml','ml train','ml test','pytorch','ml text'],
classifiers= [
"Intended Audience :: Developers",
'License :: OSI Approved :: MIT License',
"Programming Language :: Python :: 3",
]
)