sprx7767 commited on
Commit
d8539db
·
verified ·
1 Parent(s): ef651c1

feat(cnn): publish eight-class weights, loader, and notebook

Browse files

Publish the selected seed-17 ordered poem CNN as the root default and cnn-eight-class package. Include the self-contained Transformers loader, loading script, updated notebook, evaluation, and source revision. Preserve all original cnn/ and byt5/ packages and their hf_model.py loader.

.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ cnn-eight-class/confusion_matrix.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,194 +1,60 @@
1
  ---
2
- language:
3
- - te
4
  license: other
5
  license_name: chandassu-citation
6
- license_link: https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/LICENSE
7
  library_name: transformers
8
  pipeline_tag: text-classification
9
- tags:
10
- - telugu
11
- - poetry
12
- - poetic-meter
13
- - cnn
14
- - byt5
15
- - safetensors
16
  ---
17
 
18
- # Chandassu Recognition
19
 
20
  **Author: Pranav Surampudi**
21
 
22
- Chandassu Recognition identifies four Telugu poetic meters:
23
- **ఉత్పలమాల · చంపకమాల · మత్తేభము · శార్దూలం**.
24
-
25
- The current CNN was trained on **NVIDIA GB10 (GX10)** using the expanded v2 corpus.
26
- The ByT5 package remains the original **NVIDIA H100 NVL** model on v1 data.
27
- This repository provides a character CNN and a ByT5 encoder classifier.
28
- Use the CNN when you need a smaller model.
29
-
30
- ## Model packages
31
-
32
- | Model | Directory | Parameters | Seed | Selected epoch |
33
- |---|---|---:|---:|---:|
34
- | Character CNN | [cnn](https://huggingface.co/sprx7767/chandassu-recognition/tree/main/cnn) | 68,484 | 73 | 58 |
35
- | ByT5 encoder | [byt5](https://huggingface.co/sprx7767/chandassu-recognition/tree/main/byt5) | 217,663,364 | 17 | 17 |
36
-
37
- Each directory contains SafeTensors weights, configuration, input encoding, calibration settings, and model metadata.
38
- Use `AutoTokenizer` and `AutoModelForSequenceClassification` to load either model in a Python environment.
39
- You can also use the project loader and web interface.
40
-
41
- [Project code and instructions](https://github.com/Pranav-20186017/chandassu_recognition)
42
-
43
- ## Architectures
44
-
45
- The CNN encodes 93 characters, plus padding and unknown tokens, with 64-dimensional embeddings.
46
- Three convolution branches use kernel sizes 3, 5, and 7.
47
- Each branch applies ReLU and masked max pooling to produce 64 features.
48
- A linear layer maps the combined 192 features to four class logits.
49
-
50
- The ByT5 model uses the encoder from [google/byt5-small](https://huggingface.co/google/byt5-small).
51
- The base revision is `68377bdc18a2ffec8a0533fef03b1c513a4dd49d`.
52
- The encoder has 12 layers and a hidden width of 1,472.
53
- Masked mean pooling and a linear classification layer produce four class logits.
54
-
55
- Both models classify individual lines.
56
- Temperature calibration adjusts the line probabilities.
57
- The mean of four line probability vectors gives the poem probabilities.
58
- The class with the highest probability is the poem prediction.
59
-
60
- [Architecture diagrams](https://github.com/Pranav-20186017/chandassu_recognition#model-architectures)
61
-
62
- ## Data and sources
63
-
64
- The poems come from [AndhraBharati](https://andhrabharati.com/) and [Telugu Wikisource](https://te.wikisource.org/).
65
- The current CNN uses **13,295 complete poems**, **53,180 lines**, and **70 retained works**
66
- from v2, which already includes v1. ByT5 continues to use v1: 11,518 poems, 46,072 lines,
67
- and 36 retained works. The CNN update does not retrain or replace ByT5.
68
-
69
- | Use | CNN v2 poems / lines | ByT5 v1 poems / lines |
70
- |---|---:|---:|
71
- | Weight training | 7,575 / 30,300 | 6,517 / 26,068 |
72
- | Temperature calibration | 908 / 3,632 | 908 / 3,632 |
73
- | Validation | 1,859 / 7,436 | 1,859 / 7,436 |
74
- | Holdout test | 2,953 / 11,812 | 2,234 / 8,936 |
75
- | Total | 13,295 / 53,180 | 11,518 / 46,072 |
76
-
77
- All original v1 split assignments are preserved. Of 1,777 new poems from 34 works,
78
- 1,058 poems from 27 works join fitting and 719 poems from seven works remain test.
79
- The new-work test allocation was frozen before training. One CNN test file combines
80
- the original 2,234 test poems and the 719 new-work test poems. Validation is unchanged.
81
- The 908 calibration poems are inside canonical train but never update model weights.
82
-
83
- Validation poem Macro F1 selects each checkpoint. Selected-checkpoint validation F1,
84
- then unweighted validation line cross-entropy, selects the released single CNN across
85
- seeds. Temperature is fitted separately for each model after checkpoint selection.
86
- Test data are excluded from fitting, vocabulary construction, selection, and calibration.
87
- All four ordered lines, work/edition families, and duplicate-linked works stay together.
88
- Authors may overlap. Source annotations and rule provenance are retained; these are
89
- not independently verified expert gold labels. Both CNN test cohorts were evaluated
90
- on earlier models: this is a fixed benchmark, not a new blind test or unseen-author study.
91
-
92
- The [v2 work catalogue](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v2/WORKS.md)
93
- records the new works and their fitting/test assignments. The complete machine-readable
94
- catalogue includes 80 collected works, of which 70 retain supervised four-class poems.
95
- The [v1 catalogue](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v1/WORKS.md)
96
- retains the original collection, including non-target and excluded material.
97
-
98
- ## Training hyperparameters
99
-
100
- | Hyperparameter | CNN | ByT5 |
101
- |---|---:|---:|
102
- | Initial learning rate | 0.0001 | 0.00003 |
103
- | Microbatch size, poems | 16 | 8 |
104
- | Effective batch size, poems | 16 | 16 |
105
- | Evaluation batch size, poems | 16 | 8 |
106
- | Maximum epochs | 60 | 32 |
107
- | Minimum epochs | 24 | 8 |
108
- | Early stopping: epochs without improvement | 12 | 8 |
109
- | Input limit per line | 256 characters | 1,024 byte tokens, including the end token |
110
- | Gradient checkpointing | Off | Off |
111
-
112
- Both models use AdamW, weight decay 0.01, dropout 0.2, and gradient clipping 1.0.
113
- ReduceLROnPlateau uses validation line cross-entropy loss without class weights.
114
- The scheduler has patience 4, multiplier 0.5, and minimum learning rate 0.000001.
115
- The H100 study selected initial CNN LR 0.0001; the expanded GX10 run reuses it for
116
- seeds 17, 42, and 73 without another rate search or nested-fold study. All three CNNs
117
- share the same frozen partitions and architecture. They start from fresh weights.
118
- This repository contains the validation-selected CNN seed 73 and unchanged ByT5 seed 17.
119
-
120
- The exported calibration temperatures are **1.401754510250526** for CNN and **1.1801772437687996** for ByT5.
121
- CNN runtime: Python 3.12.3, PyTorch 2.10.0a0+b558c986e8.nv25.11, CUDA 13.0, NVIDIA GB10, BF16.
122
- Its training checkout was clean at `f7939ccac30d14bab929ed7d9c91aa202c5a9c80`.
123
-
124
- ## Current CNN results
125
-
126
- | CNN seed | Selected epoch | Validation poem Macro F1 | Validation line CE before temperature | Temperature |
127
- |---|---:|---:|---:|---:|
128
- | 17 | 54 | 0.998596 | 0.031031 | 1.339218 |
129
- | 42 | 60 | 0.998596 | 0.031057 | 1.396669 |
130
- | 73 (released) | 58 | 0.998596 | 0.028452 | 1.401755 |
131
-
132
- Seed 73 wins the validation F1 tie through lower validation CE. Test results never
133
- select the seed. Every seed completed 60 epochs, followed by separate temperature
134
- calibration on the 908 calibration poems. Validation scores are checkpoint-selected.
135
-
136
- | Released CNN seed 73 benchmark | Poems | Correct | Poem Macro F1 | Line Macro F1 |
137
- |---|---:|---:|---:|---:|
138
- | Original v1 test | 2,234 | 2,234 | 1.000000 | 0.993992 |
139
- | Frozen new-work test | 719 | 716 | 0.996042 | 0.991346 |
140
- | Combined test | 2,953 | 2,950 | 0.999084 | 0.993420 |
141
-
142
- All three replicas and their predetermined equal-probability ensemble have the same
143
- combined-test poem score and the same three errors. Matched CPU inference with the
144
- previously released v1 CNN seed 17 produces the same poem predictions on these 2,953
145
- poems. There is **no measured poem-level gain** from this update. Combined-test line
146
- Macro F1 changes from 0.992608 (old CNN) to 0.993420 (new CNN); hardware/runtime,
147
- vocabulary, seed, and data differ, so this does not isolate the effect of corpus growth.
148
- The local three-seed ensemble line Macro F1 is 0.993592; it offers no poem-level gain.
149
- Ensemble membership and equal weights were fixed before evaluation.
150
-
151
- The returned checkpoints and native SafeTensors were compared tensor-for-tensor;
152
- file manifests, code identity, all split fingerprints, calibration assignments and
153
- checkpoint selection were verified. Mac CPU inference reproduces the test confusion
154
- matrices and F1 scores. The exported Transformers package preserves the selected weights.
155
- See the CNN directory's selection, test and verification reports.
156
-
157
- ## Original H100 study (v1), retained for comparison
158
-
159
- | Original v1 measure | Original CNN | Unchanged ByT5 |
160
- |---|---:|---:|
161
- | Cross-validation poem Macro F1, mean across three seeds | 0.997130 | 0.997137 |
162
- | Correct historical test poems, seed 17 | 2,234 / 2,234 | 2,233 / 2,234 |
163
- | Historical test poem Macro F1, seed 17 | 1.000000 | 0.999619 |
164
-
165
- These original study scores do not describe a repeated cross-validation experiment
166
- on v2. The historical test had been examined during earlier project work. Labels
167
- combine source annotations and rule-based checks; experts have not verified every label.
168
- [Original study evidence](https://github.com/Pranav-20186017/chandassu_recognition/tree/main/results/v1)
169
-
170
- ## Run inference
171
-
172
- ### Python
173
-
174
- Install the tested dependencies in your Python environment:
175
 
176
  ```bash
177
- pip install "torch==2.8.0" "transformers==4.57.6" "safetensors==0.8.0"
178
  ```
179
 
180
- Use the Transformers Auto interfaces to load the tokenizer and classifier.
181
- The tokenizer applies the same text normalization and input encoding used in training.
182
- The model returns four raw logits for each line.
183
- Apply the saved calibration temperature, then average line probabilities to classify a poem.
184
-
185
  ```python
186
  import torch
187
- from transformers import AutoModelForSequenceClassification, AutoTokenizer
 
188
 
189
  repo = "sprx7767/chandassu-recognition"
190
- options = {"subfolder": "cnn", "trust_remote_code": True}
191
- # Change "cnn" to "byt5" to load the ByT5 encoder classifier.
 
192
  tokenizer = AutoTokenizer.from_pretrained(repo, **options)
193
  model = AutoModelForSequenceClassification.from_pretrained(repo, **options).eval()
194
 
@@ -196,101 +62,114 @@ poem = """శ్రీ కైవల్య పదంబుఁ జేరుటక
196
  క్షైకారంభకు, భక్త పాలన కళా సంరంభకున్, దానవో
197
  ద్రేకస్తంభకుఁ, గేళి లోల విలసద్దృగ్జాల సంభూత నా
198
  నా కంజాత భవాండ కుంభకు, మహానందాంగనాడింభకున్."""
199
- lines = [line.strip() for line in poem.splitlines() if line.strip()]
200
- if len(lines) not in (1, 4):
201
- raise ValueError("Supply one line or a four-line poem")
202
- inputs = tokenizer(lines, padding=True, return_tensors="pt")
203
  with torch.inference_mode():
204
- logits = model(**inputs).logits
205
- line_scores = (logits.double() / model.config.calibration_temperature).softmax(dim=-1)
206
- scores = line_scores.mean(dim=0)
207
-
208
- winner = scores.argmax().item()
209
- print(model.config.id2label[winner], f"{scores[winner].item():.2%}")
210
- for index, score in enumerate(scores):
211
- print(model.config.id2label[index], f"{score.item():.2%}")
212
  ```
213
 
214
- `AutoModel.from_pretrained(repo, **options)` also loads this classifier.
215
- `trust_remote_code=True` loads the Python classes supplied in the model repository.
216
- For a fixed model version, add `"revision": "<full commit ID>"` to `options`.
217
- The example was tested with Python 3.12 and the dependency versions listed above.
218
- Input limits are 256 characters per line for CNN and 1,024 byte tokens, including the end token, for ByT5.
219
- The tokenizer rejects overlong input and does not truncate lines.
220
-
221
- Class probabilities are calibrated scores, not statistical confidence intervals.
222
- A standard text-classification pipeline applies its own softmax to line logits.
223
- Use the calculation above for calibrated poem scores.
224
- Clone this project when you need the web interface, ensembles, or training.
225
-
226
- ### Web interface
227
-
228
- Install the project and its dependencies:
229
 
230
  ```bash
231
- git clone https://github.com/Pranav-20186017/chandassu_recognition.git
232
- cd chandassu_recognition
233
- uv sync --locked --extra cpu
234
- source .venv/bin/activate
235
  ```
236
 
237
- Download and serve the CNN:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
 
239
  ```bash
240
- hf download sprx7767/chandassu-recognition \
241
- --include 'cnn/*' --local-dir models/hf
242
-
243
- python inference.py --model_dir=models/hf/cnn --strategy=single --port=8765
244
  ```
245
 
246
- For ByT5, use these commands instead:
247
-
248
- ```bash
249
- hf download sprx7767/chandassu-recognition \
250
- --include 'byt5/*' --local-dir models/hf
251
-
252
- python inference.py --model_dir=models/hf/byt5 --strategy=single --port=8765
253
- ```
254
-
255
- Open [http://127.0.0.1:8765](http://127.0.0.1:8765).
256
- Paste a single line or a four-line poem.
257
- The interface displays the meter, class probabilities, and line predictions.
258
- It supports light and dark themes.
259
- The API endpoint is `POST /api/predict` with a JSON request containing `text`.
260
-
261
- You can also train additional models with different seeds and hyperparameters.
262
- Use `--model_dirs` and `--strategy=ensemble` to load them together.
263
- Each ensemble requires distinct seeds from one model family.
264
-
265
- ## Limitations
266
-
267
- Use these models to classify the four listed meters.
268
- They can assign high probabilities to poems from other meters.
269
- A high probability does not establish that an input belongs to a supported class.
270
- Class probabilities and score ranges are not statistical confidence intervals.
271
- The models do not produce syllable divisions, Guru/Laghu patterns, or gaṇa sequences.
272
- Performance on new works, different spellings, and damaged text can differ from the reported results.
273
 
274
  ## License and citation
275
 
276
- Project-owned material uses the [Chandassu citation license](https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/LICENSE).
277
- Cite Chandassu Recognition when you use the covered code or dataset material.
278
- Earlier Apache-2.0 permissions remain in effect.
279
- The ByT5 base encoder retains its Apache-2.0 license.
280
-
281
- Poems, editions, transcriptions, and source annotations retain their original rights and terms.
282
- Source rights have not been independently verified for every edition.
283
- Preserve poem authors and source links when you share data.
284
- See the [dataset rights statement](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/LICENSE.md).
285
-
286
- ```bibtex
287
- @misc{pranav2026chandassu,
288
- author = {Pranav Surampudi},
289
- title = {Chandassu Recognition: Telugu Poetic Meter Classification},
290
- year = {2026},
291
- howpublished = {\url{https://github.com/Pranav-20186017/chandassu_recognition}},
292
- note = {Code, dataset annotations, and trained-model results}
293
- }
294
- ```
295
-
296
- [Citation metadata](https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/CITATION.cff)
 
1
  ---
2
+ language: [te]
 
3
  license: other
4
  license_name: chandassu-citation
5
+ license_link: LICENSE
6
  library_name: transformers
7
  pipeline_tag: text-classification
8
+ tags: [telugu, poetry, poetic-meter, cnn, eight-class, safetensors]
 
 
 
 
 
 
9
  ---
10
 
11
+ # Chandassu Recognition — eight-class poem CNN
12
 
13
  **Author: Pranav Surampudi**
14
 
15
+ The default model is the new **eight-class ordered poem CNN**, trained from scratch
16
+ on the original four vruttas plus ఆటవెలది, తేటగీతి, కందము and సీసము.
17
+ **Test poem Macro F1: 94.84% · accuracy: 97.90%** on 5,282 held-out poems.
18
+ Ataveladi is the weakest class (69.34% F1); inspect the class-specific results below.
19
+ This is a raw-text classifier with uncalibrated scores, not a formal prosody verifier.
20
+
21
+ ## Packages and loader
22
+
23
+ | Package | Location | Output | Status |
24
+ |---|---|---|---|
25
+ | New eight-class CNN, seed 17 | Root, or `cnn-eight-class/` | Eight raw logits per complete poem | Current default |
26
+ | Original four-class CNN | `cnn/` | Four raw logits per line | Preserved |
27
+ | Original ByT5 encoder | `byt5/` | Four raw logits per line | Preserved; no retraining |
28
+
29
+ `hf_poem.py` supplies the self-contained new tokenizer, config and model classes.
30
+ `hf_model.py` and all original `cnn/` and `byt5/` files remain unchanged. The
31
+ [original four-class card](legacy-four-class/README.md) retains their detailed
32
+ architecture, calibration, results and usage. Do not mix their label spaces in an ensemble.
33
+
34
+ [Open the updated notebook](notebook.ipynb) or use
35
+ [Colab's Hugging Face URL](https://colab.research.google.com/github/Pranav-20186017/chandassu_recognition/blob/main/notebook.ipynb).
36
+ It defaults to the new model, pins one resolved revision for all loaders, and
37
+ retains an optional original-model example. Published execution outputs are cleared.
38
+
39
+ ## Python loading
40
+
41
+ Tested with Python 3.12, PyTorch 2.8.0, Transformers 4.57.6, SafeTensors 0.8.0 and
42
+ huggingface-hub 0.36.2. The exported loader requires only PyTorch, Transformers and
43
+ the standard library; no project checkout, ByT5 download or login is needed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  ```bash
46
+ pip install "torch==2.8.0" "transformers==4.57.6" "safetensors==0.8.0" "huggingface-hub==0.36.2"
47
  ```
48
 
 
 
 
 
 
49
  ```python
50
  import torch
51
+ from huggingface_hub import HfApi
52
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
53
 
54
  repo = "sprx7767/chandassu-recognition"
55
+ revision = HfApi().model_info(repo, token=False).sha # resolve once; keep this commit
56
+ options = {"revision": revision, "trust_remote_code": True, "token": False}
57
+ # Optional: options["subfolder"] = "cnn-eight-class"
58
  tokenizer = AutoTokenizer.from_pretrained(repo, **options)
59
  model = AutoModelForSequenceClassification.from_pretrained(repo, **options).eval()
60
 
 
62
  క్షైకారంభకు, భక్త పాలన కళా సంరంభకున్, దానవో
63
  ద్రేకస్తంభకుఁ, గేళి లోల విలసద్దృగ్జాల సంభూత నా
64
  నా కంజాత భవాండ కుంభకు, మహానందాంగనాడింభకున్."""
65
+ inputs = tokenizer(poem, padding=True, return_tensors="pt")
 
 
 
66
  with torch.inference_mode():
67
+ scores = model(**inputs).logits.double().softmax(-1)[0]
68
+ print(model.config.id2label[int(scores.argmax())])
69
+ for i in scores.argsort(descending=True).tolist():
70
+ print(model.config.id2label[i], f"{float(scores[i]):.2%}")
 
 
 
 
71
  ```
72
 
73
+ `trust_remote_code=True` loads the inspectable `hf_poem.py` from the pinned commit.
74
+ Use `AutoModel` or `AutoModelForSequenceClassification`; both load the same classifier.
75
+ The [loading script](load_hf_model.py) reads a complete UTF-8 poem text file:
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  ```bash
78
+ python load_hf_model.py --poem poem.txt --revision FULL_HF_COMMIT
 
 
 
79
  ```
80
 
81
+ ### Whole-poem input contract
82
+
83
+ - Pass one complete newline-separated poem string, or a list of complete poem strings.
84
+ - Four full ordered pādas are required for the general eight-class prediction.
85
+ - Eight Seesamu body half-lines are paired into four full body pādas. Twelve lines
86
+ mean eight body half-lines plus four closing geeti lines; the closing geeti is excluded.
87
+ - An eight-line input means body half-lines, not four full body pādas plus four geeti lines.
88
+ - Maximum 512 characters per full pāda; overlong inputs raise rather than truncate.
89
+ - Token tensors have shape `[batch, 4, tokens]`; logits have shape `[batch, 8]`.
90
+ - Scores are uncalibrated. There are no independent per-line scores or line probabilities to average.
91
+ - A standard line-level text-classification pipeline is unsupported; use the Auto interfaces above.
92
+
93
+ The original four-class models still support one line or a four-line poem with their
94
+ original tokenizers and temperature-calibrated line averaging; see the preserved card.
95
+
96
+ ## Architecture and training
97
+
98
+ The 266,056-parameter CNN shares 64-wide character embeddings and convolution
99
+ branches (kernels 3, 5, 7) across all four ordered pādas. Each branch uses masked
100
+ max and mean pooling. The four vectors are concatenated in order and passed to a
101
+ 128-unit classification head. The saved weights are unchanged by export.
102
+ No source IDs, labels, rule scores, closing geeti, or intermediate prosody features
103
+ enter the model. The vocabulary is fitted only on optimization data.
104
+
105
+ Fresh seed 17; AdamW at 0.001; weight decay 0.01; batch 32 poems; dropout 0.2;
106
+ gradient clip 1; square-root inverse-frequency class weights from fit only.
107
+ Up to 40 epochs, minimum 16, early-stopping patience 8. ReduceLROnPlateau monitors
108
+ unweighted validation poem CE (patience 3, factor 0.5, floor 1e-6).
109
+ Validation **poem Macro F1** selects checkpoints, with unweighted poem CE for ties.
110
+ Epoch **11** was selected after **19** completed epochs; validation Macro F1 was
111
+ **86.14%**. Training used CPU/fp32; ByT5 was parked. The 1,558 reserved calibration
112
+ poems were unused, so scores must not be described as calibrated confidence.
113
+
114
+ ## Data and results
115
+
116
+ Data v3 contains **23,029 complete poems from 99 works**. It includes every v2
117
+ poem with its existing role preserved. Original target classes retain IDs 0–3;
118
+ new classes use IDs 4–7 in the order listed below.
119
+
120
+ | Class | Fit | Validation | Reserved | Test | Test F1 |
121
+ |---|---:|---:|---:|---:|---:|
122
+ | ఉత్పలమాల | 2,215 | 585 | 324 | 996 | 99.75% |
123
+ | చంపకమాల | 2,501 | 648 | 276 | 759 | 99.67% |
124
+ | మత్తేభము | 1,789 | 423 | 194 | 733 | 99.80% |
125
+ | శార్దూలం | 1,070 | 203 | 114 | 465 | 99.78% |
126
+ | ఆటవెలది | 289 | 1,092 | 75 | 152 | 69.34% |
127
+ | తేటగీతి | 943 | 209 | 10 | 640 | 92.27% |
128
+ | కందము | 2,571 | 721 | 435 | 1,071 | 99.63% |
129
+ | సీసము body | 680 | 250 | 130 | 466 | 98.50% |
130
+ | **Total** | **12,058** | **4,131** | **1,558** | **5,282** | **Macro F1 94.84%** |
131
+
132
+ On the same 2,953 original-label v2 test poems, four-label retention Macro F1 is
133
+ 99.81% (all eight prediction classes still available), versus 99.91% for the
134
+ installed original four-class CNN. This diagnostic comparison does not establish
135
+ future-source equivalence, and the old classifier cannot recognize the new labels.
136
+
137
+ Whole poems, works, edition families and exact-duplicate-linked works stay together.
138
+ Seesamu closures are included in isolation checks even though they are not features.
139
+ The exact-duplicate screen is not proof against fuzzy duplicates or paraphrases.
140
+ Authors can overlap across roles. Vemana dominates Ataveladi validation, while its
141
+ fit set has only 289 poems across seven works. Source annotations are not expert gold;
142
+ the test includes the previously inspected v2 benchmark. It is not wholly blind or
143
+ an unseen-author evaluation. No test metric selected the checkpoint, recipe or split.
144
+
145
+ One pre-test trial was stopped to exclude 23 new records with identifiable source
146
+ corruption; it is kept locally as discarded audit evidence. The reported fit uses
147
+ the same fixed seed and recipe, with no test-informed tuning.
148
+
149
+ [Complete reports and figures](https://github.com/Pranav-20186017/chandassu_recognition/tree/main/results/v3) ·
150
+ [Dataset](https://github.com/Pranav-20186017/chandassu_recognition/tree/main/data/v3) ·
151
+ [Sources and rules](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/SOURCES.md) ·
152
+ [All works](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v3/WORKS.md)
153
+
154
+ ## Existing web interface
155
+
156
+ Clone the [project](https://github.com/Pranav-20186017/chandassu_recognition) and install
157
+ with `uv sync --locked --extra cpu`. Download and serve the new package:
158
 
159
  ```bash
160
+ hf download sprx7767/chandassu-recognition --include 'cnn-eight-class/*' --local-dir models/hf
161
+ python inference.py --model_dir models/hf/cnn-eight-class
 
 
162
  ```
163
 
164
+ Open <http://127.0.0.1:8765>. The appearance is preserved. The eight-class option
165
+ reports joint poem scores, while original packages can be loaded alongside it as
166
+ separate dropdown strategies. Only compatible original models participate in their
167
+ legacy ensemble. The local API is `POST /api/predict` with a `text` field.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
 
169
  ## License and citation
170
 
171
+ Project-owned code and weights follow the [Chandassu citation license](LICENSE).
172
+ Earlier Apache-2.0 permissions remain in effect; the retained ByT5 base encoder is
173
+ Apache-2.0. Poems, editions, transcriptions and annotations retain their source rights;
174
+ these have not been independently cleared for every edition. Preserve authors and
175
+ source links. See the project's dataset rights statement and [CITATION.cff](CITATION.cff).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cnn-eight-class/CITATION.cff ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cff-version: 1.2.0
2
+ message: "Cite this project when you use its code or dataset. See LICENSE for the citation requirement."
3
+ title: "Chandassu Recognition: Telugu Poetic Meter Classification"
4
+ authors:
5
+ - family-names: "Surampudi"
6
+ given-names: "Pranav"
7
+ type: software
8
+ version: "1.0.0"
9
+ date-released: "2026-10-11"
10
+ url: "https://github.com/Pranav-20186017/chandassu_recognition"
11
+ repository-code: "https://github.com/Pranav-20186017/chandassu_recognition"
12
+ license-url: "https://github.com/Pranav-20186017/chandassu_recognition/blob/main/LICENSE"
13
+ keywords:
14
+ - Telugu
15
+ - poetic meter
16
+ - CNN
17
+ - ByT5
18
+ - dataset
cnn-eight-class/LICENSE ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Chandassu Recognition Citation License, Version 1.0
2
+ SPDX-License-Identifier: LicenseRef-Chandassu-Citation
3
+ Copyright 2026 Pranav Surampudi
4
+
5
+ 1. Scope
6
+
7
+ These terms apply to project-owned code, documentation, dataset organization,
8
+ project-created annotations, and new project contributions in this revision.
9
+ They apply only to rights that the project copyright holder can grant.
10
+ Third-party poems, editions, transcriptions, annotations, software, and base
11
+ model weights retain their respective rights and licenses. No permission for
12
+ those materials is granted by this license. See data/LICENSE.md and NOTICE.
13
+
14
+ 2. Permission
15
+
16
+ You may use, reproduce, modify, and distribute the covered project material,
17
+ including for commercial purposes, subject to the citation requirements below
18
+ and the Apache License, Version 2.0, reproduced below. For covered material,
19
+ the citation requirements are additional conditions of this custom license.
20
+ This license is not the unmodified Apache License, Version 2.0.
21
+
22
+ 3. Required citation
23
+
24
+ Every use of covered project code or covered dataset material must retain this
25
+ credit in the user's project documentation:
26
+
27
+ Pranav Surampudi (2026). Chandassu Recognition: Telugu Poetic Meter Classification.
28
+ https://github.com/Pranav-20186017/chandassu_recognition
29
+
30
+ If the use produces a publication, report, application, model, or dataset,
31
+ include that citation in its references, credits, or accompanying documentation.
32
+ Private use must retain the citation in internal project documentation.
33
+ The citation must identify the version or commit used when available.
34
+ CITATION.cff and the README BibTeX entry provide the citation details.
35
+ Do not represent this requirement as optional or remove it from redistributed
36
+ covered material. A citation does not imply endorsement by the project author.
37
+
38
+ 4. Redistribution and source attribution
39
+
40
+ Include this license and the applicable NOTICE with distributed covered
41
+ material and derivative works. Preserve third-party copyright notices,
42
+ licenses, poem authors, work titles, and source links. Project citation does
43
+ not replace attribution or permission required by a third-party source.
44
+
45
+ 5. Earlier releases and third-party rights
46
+
47
+ Material previously received under Apache-2.0 remains usable under that
48
+ license. This revision does not revoke permissions already granted for earlier
49
+ releases. Reused material that independently remains available under an earlier
50
+ license retains those permissions. These additional terms govern the new
51
+ project contributions and rights granted under this custom revision.
52
+
53
+ The underlying Apache terms, including their patent provisions, warranty
54
+ disclaimer, and limitation of liability, follow.
55
+
56
+ Apache License
57
+ Version 2.0, January 2004
58
+ http://www.apache.org/licenses/
59
+
60
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
61
+
62
+ 1. Definitions.
63
+
64
+ "License" shall mean the terms and conditions for use, reproduction,
65
+ and distribution as defined by Sections 1 through 9 of this document.
66
+
67
+ "Licensor" shall mean the copyright owner or entity authorized by
68
+ the copyright owner that is granting the License.
69
+
70
+ "Legal Entity" shall mean the union of the acting entity and all
71
+ other entities that control, are controlled by, or are under common
72
+ control with that entity. For the purposes of this definition,
73
+ "control" means (i) the power, direct or indirect, to cause the
74
+ direction or management of such entity, whether by contract or
75
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
76
+ outstanding shares, or (iii) beneficial ownership of such entity.
77
+
78
+ "You" (or "Your") shall mean an individual or Legal Entity
79
+ exercising permissions granted by this License.
80
+
81
+ "Source" form shall mean the preferred form for making modifications,
82
+ including but not limited to software source code, documentation
83
+ source, and configuration files.
84
+
85
+ "Object" form shall mean any form resulting from mechanical
86
+ transformation or translation of a Source form, including but
87
+ not limited to compiled object code, generated documentation,
88
+ and conversions to other media types.
89
+
90
+ "Work" shall mean the work of authorship, whether in Source or
91
+ Object form, made available under the License, as indicated by a
92
+ copyright notice that is included in or attached to the work
93
+ (an example is provided in the Appendix below).
94
+
95
+ "Derivative Works" shall mean any work, whether in Source or Object
96
+ form, that is based on (or derived from) the Work and for which the
97
+ editorial revisions, annotations, elaborations, or other modifications
98
+ represent, as a whole, an original work of authorship. For the purposes
99
+ of this License, Derivative Works shall not include works that remain
100
+ separable from, or merely link (or bind by name) to the interfaces of,
101
+ the Work and Derivative Works thereof.
102
+
103
+ "Contribution" shall mean any work of authorship, including
104
+ the original version of the Work and any modifications or additions
105
+ to that Work or Derivative Works thereof, that is intentionally
106
+ submitted to Licensor for inclusion in the Work by the copyright owner
107
+ or by an individual or Legal Entity authorized to submit on behalf of
108
+ the copyright owner. For the purposes of this definition, "submitted"
109
+ means any form of electronic, verbal, or written communication sent
110
+ to the Licensor or its representatives, including but not limited to
111
+ communication on electronic mailing lists, source code control systems,
112
+ and issue tracking systems that are managed by, or on behalf of, the
113
+ Licensor for the purpose of discussing and improving the Work, but
114
+ excluding communication that is conspicuously marked or otherwise
115
+ designated in writing by the copyright owner as "Not a Contribution."
116
+
117
+ "Contributor" shall mean Licensor and any individual or Legal Entity
118
+ on behalf of whom a Contribution has been received by Licensor and
119
+ subsequently incorporated within the Work.
120
+
121
+ 2. Grant of Copyright License. Subject to the terms and conditions of
122
+ this License, each Contributor hereby grants to You a perpetual,
123
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
124
+ copyright license to reproduce, prepare Derivative Works of,
125
+ publicly display, publicly perform, sublicense, and distribute the
126
+ Work and such Derivative Works in Source or Object form.
127
+
128
+ 3. Grant of Patent License. Subject to the terms and conditions of
129
+ this License, each Contributor hereby grants to You a perpetual,
130
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
131
+ (except as stated in this section) patent license to make, have made,
132
+ use, offer to sell, sell, import, and otherwise transfer the Work,
133
+ where such license applies only to those patent claims licensable
134
+ by such Contributor that are necessarily infringed by their
135
+ Contribution(s) alone or by combination of their Contribution(s)
136
+ with the Work to which such Contribution(s) was submitted. If You
137
+ institute patent litigation against any entity (including a
138
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
139
+ or a Contribution incorporated within the Work constitutes direct
140
+ or contributory patent infringement, then any patent licenses
141
+ granted to You under this License for that Work shall terminate
142
+ as of the date such litigation is filed.
143
+
144
+ 4. Redistribution. You may reproduce and distribute copies of the
145
+ Work or Derivative Works thereof in any medium, with or without
146
+ modifications, and in Source or Object form, provided that You
147
+ meet the following conditions:
148
+
149
+ (a) You must give any other recipients of the Work or
150
+ Derivative Works a copy of this License; and
151
+
152
+ (b) You must cause any modified files to carry prominent notices
153
+ stating that You changed the files; and
154
+
155
+ (c) You must retain, in the Source form of any Derivative Works
156
+ that You distribute, all copyright, patent, trademark, and
157
+ attribution notices from the Source form of the Work,
158
+ excluding those notices that do not pertain to any part of
159
+ the Derivative Works; and
160
+
161
+ (d) If the Work includes a "NOTICE" text file as part of its
162
+ distribution, then any Derivative Works that You distribute must
163
+ include a readable copy of the attribution notices contained
164
+ within such NOTICE file, excluding those notices that do not
165
+ pertain to any part of the Derivative Works, in at least one
166
+ of the following places: within a NOTICE text file distributed
167
+ as part of the Derivative Works; within the Source form or
168
+ documentation, if provided along with the Derivative Works; or,
169
+ within a display generated by the Derivative Works, if and
170
+ wherever such third-party notices normally appear. The contents
171
+ of the NOTICE file are for informational purposes only and
172
+ do not modify the License. You may add Your own attribution
173
+ notices within Derivative Works that You distribute, alongside
174
+ or as an addendum to the NOTICE text from the Work, provided
175
+ that such additional attribution notices cannot be construed
176
+ as modifying the License.
177
+
178
+ You may add Your own copyright statement to Your modifications and
179
+ may provide additional or different license terms and conditions
180
+ for use, reproduction, or distribution of Your modifications, or
181
+ for any such Derivative Works as a whole, provided Your use,
182
+ reproduction, and distribution of the Work otherwise complies with
183
+ the conditions stated in this License.
184
+
185
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
186
+ any Contribution intentionally submitted for inclusion in the Work
187
+ by You to the Licensor shall be under the terms and conditions of
188
+ this License, without any additional terms or conditions.
189
+ Notwithstanding the above, nothing herein shall supersede or modify
190
+ the terms of any separate license agreement you may have executed
191
+ with Licensor regarding such Contributions.
192
+
193
+ 6. Trademarks. This License does not grant permission to use the trade
194
+ names, trademarks, service marks, or product names of the Licensor,
195
+ except as required for reasonable and customary use in describing the
196
+ origin of the Work and reproducing the content of the NOTICE file.
197
+
198
+ 7. Disclaimer of Warranty. Unless required by applicable law or
199
+ agreed to in writing, Licensor provides the Work (and each
200
+ Contributor provides its Contributions) on an "AS IS" BASIS,
201
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
202
+ implied, including, without limitation, any warranties or conditions
203
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
204
+ PARTICULAR PURPOSE. You are solely responsible for determining the
205
+ appropriateness of using or redistributing the Work and assume any
206
+ risks associated with Your exercise of permissions under this License.
207
+
208
+ 8. Limitation of Liability. In no event and under no legal theory,
209
+ whether in tort (including negligence), contract, or otherwise,
210
+ unless required by applicable law (such as deliberate and grossly
211
+ negligent acts) or agreed to in writing, shall any Contributor be
212
+ liable to You for damages, including any direct, indirect, special,
213
+ incidental, or consequential damages of any character arising as a
214
+ result of this License or out of the use or inability to use the
215
+ Work (including but not limited to damages for loss of goodwill,
216
+ work stoppage, computer failure or malfunction, or any and all
217
+ other commercial damages or losses), even if such Contributor
218
+ has been advised of the possibility of such damages.
219
+
220
+ 9. Accepting Warranty or Additional Liability. While redistributing
221
+ the Work or Derivative Works thereof, You may choose to offer,
222
+ and charge a fee for, acceptance of support, warranty, indemnity,
223
+ or other liability obligations and/or rights consistent with this
224
+ License. However, in accepting such obligations, You may act only
225
+ on Your own behalf and on Your sole responsibility, not on behalf
226
+ of any other Contributor, and only if You agree to indemnify,
227
+ defend, and hold each Contributor harmless for any liability
228
+ incurred by, or claims asserted against, such Contributor by reason
229
+ of your accepting any such warranty or additional liability.
230
+
231
+ END OF TERMS AND CONDITIONS
232
+
233
+ APPENDIX: How to apply the Apache License to your work.
234
+
235
+ To apply the Apache License to your work, attach the following
236
+ boilerplate notice, with the fields enclosed by brackets "[]"
237
+ replaced with your own identifying information. (Don't include
238
+ the brackets!) The text should be enclosed in the appropriate
239
+ comment syntax for the file format. We also recommend that a
240
+ file or class name and description of purpose be included on the
241
+ same "printed page" as the copyright notice for easier
242
+ identification within third-party archives.
243
+
244
+ Copyright [yyyy] [name of copyright owner]
245
+
246
+ Licensed under the Apache License, Version 2.0 (the "License");
247
+ you may not use this file except in compliance with the License.
248
+ You may obtain a copy of the License at
249
+
250
+ http://www.apache.org/licenses/LICENSE-2.0
251
+
252
+ Unless required by applicable law or agreed to in writing, software
253
+ distributed under the License is distributed on an "AS IS" BASIS,
254
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
255
+ See the License for the specific language governing permissions and
256
+ limitations under the License.
cnn-eight-class/LICENSES/Apache-2.0.txt ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
cnn-eight-class/LICENSES/LicenseRef-Chandassu-Citation.txt ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Chandassu Recognition Citation License, Version 1.0
2
+ SPDX-License-Identifier: LicenseRef-Chandassu-Citation
3
+ Copyright 2026 Pranav Surampudi
4
+
5
+ 1. Scope
6
+
7
+ These terms apply to project-owned code, documentation, dataset organization,
8
+ project-created annotations, and new project contributions in this revision.
9
+ They apply only to rights that the project copyright holder can grant.
10
+ Third-party poems, editions, transcriptions, annotations, software, and base
11
+ model weights retain their respective rights and licenses. No permission for
12
+ those materials is granted by this license. See data/LICENSE.md and NOTICE.
13
+
14
+ 2. Permission
15
+
16
+ You may use, reproduce, modify, and distribute the covered project material,
17
+ including for commercial purposes, subject to the citation requirements below
18
+ and the Apache License, Version 2.0, reproduced below. For covered material,
19
+ the citation requirements are additional conditions of this custom license.
20
+ This license is not the unmodified Apache License, Version 2.0.
21
+
22
+ 3. Required citation
23
+
24
+ Every use of covered project code or covered dataset material must retain this
25
+ credit in the user's project documentation:
26
+
27
+ Pranav Surampudi (2026). Chandassu Recognition: Telugu Poetic Meter Classification.
28
+ https://github.com/Pranav-20186017/chandassu_recognition
29
+
30
+ If the use produces a publication, report, application, model, or dataset,
31
+ include that citation in its references, credits, or accompanying documentation.
32
+ Private use must retain the citation in internal project documentation.
33
+ The citation must identify the version or commit used when available.
34
+ CITATION.cff and the README BibTeX entry provide the citation details.
35
+ Do not represent this requirement as optional or remove it from redistributed
36
+ covered material. A citation does not imply endorsement by the project author.
37
+
38
+ 4. Redistribution and source attribution
39
+
40
+ Include this license and the applicable NOTICE with distributed covered
41
+ material and derivative works. Preserve third-party copyright notices,
42
+ licenses, poem authors, work titles, and source links. Project citation does
43
+ not replace attribution or permission required by a third-party source.
44
+
45
+ 5. Earlier releases and third-party rights
46
+
47
+ Material previously received under Apache-2.0 remains usable under that
48
+ license. This revision does not revoke permissions already granted for earlier
49
+ releases. Reused material that independently remains available under an earlier
50
+ license retains those permissions. These additional terms govern the new
51
+ project contributions and rights granted under this custom revision.
52
+
53
+ The underlying Apache terms, including their patent provisions, warranty
54
+ disclaimer, and limitation of liability, follow.
55
+
56
+ Apache License
57
+ Version 2.0, January 2004
58
+ http://www.apache.org/licenses/
59
+
60
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
61
+
62
+ 1. Definitions.
63
+
64
+ "License" shall mean the terms and conditions for use, reproduction,
65
+ and distribution as defined by Sections 1 through 9 of this document.
66
+
67
+ "Licensor" shall mean the copyright owner or entity authorized by
68
+ the copyright owner that is granting the License.
69
+
70
+ "Legal Entity" shall mean the union of the acting entity and all
71
+ other entities that control, are controlled by, or are under common
72
+ control with that entity. For the purposes of this definition,
73
+ "control" means (i) the power, direct or indirect, to cause the
74
+ direction or management of such entity, whether by contract or
75
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
76
+ outstanding shares, or (iii) beneficial ownership of such entity.
77
+
78
+ "You" (or "Your") shall mean an individual or Legal Entity
79
+ exercising permissions granted by this License.
80
+
81
+ "Source" form shall mean the preferred form for making modifications,
82
+ including but not limited to software source code, documentation
83
+ source, and configuration files.
84
+
85
+ "Object" form shall mean any form resulting from mechanical
86
+ transformation or translation of a Source form, including but
87
+ not limited to compiled object code, generated documentation,
88
+ and conversions to other media types.
89
+
90
+ "Work" shall mean the work of authorship, whether in Source or
91
+ Object form, made available under the License, as indicated by a
92
+ copyright notice that is included in or attached to the work
93
+ (an example is provided in the Appendix below).
94
+
95
+ "Derivative Works" shall mean any work, whether in Source or Object
96
+ form, that is based on (or derived from) the Work and for which the
97
+ editorial revisions, annotations, elaborations, or other modifications
98
+ represent, as a whole, an original work of authorship. For the purposes
99
+ of this License, Derivative Works shall not include works that remain
100
+ separable from, or merely link (or bind by name) to the interfaces of,
101
+ the Work and Derivative Works thereof.
102
+
103
+ "Contribution" shall mean any work of authorship, including
104
+ the original version of the Work and any modifications or additions
105
+ to that Work or Derivative Works thereof, that is intentionally
106
+ submitted to Licensor for inclusion in the Work by the copyright owner
107
+ or by an individual or Legal Entity authorized to submit on behalf of
108
+ the copyright owner. For the purposes of this definition, "submitted"
109
+ means any form of electronic, verbal, or written communication sent
110
+ to the Licensor or its representatives, including but not limited to
111
+ communication on electronic mailing lists, source code control systems,
112
+ and issue tracking systems that are managed by, or on behalf of, the
113
+ Licensor for the purpose of discussing and improving the Work, but
114
+ excluding communication that is conspicuously marked or otherwise
115
+ designated in writing by the copyright owner as "Not a Contribution."
116
+
117
+ "Contributor" shall mean Licensor and any individual or Legal Entity
118
+ on behalf of whom a Contribution has been received by Licensor and
119
+ subsequently incorporated within the Work.
120
+
121
+ 2. Grant of Copyright License. Subject to the terms and conditions of
122
+ this License, each Contributor hereby grants to You a perpetual,
123
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
124
+ copyright license to reproduce, prepare Derivative Works of,
125
+ publicly display, publicly perform, sublicense, and distribute the
126
+ Work and such Derivative Works in Source or Object form.
127
+
128
+ 3. Grant of Patent License. Subject to the terms and conditions of
129
+ this License, each Contributor hereby grants to You a perpetual,
130
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
131
+ (except as stated in this section) patent license to make, have made,
132
+ use, offer to sell, sell, import, and otherwise transfer the Work,
133
+ where such license applies only to those patent claims licensable
134
+ by such Contributor that are necessarily infringed by their
135
+ Contribution(s) alone or by combination of their Contribution(s)
136
+ with the Work to which such Contribution(s) was submitted. If You
137
+ institute patent litigation against any entity (including a
138
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
139
+ or a Contribution incorporated within the Work constitutes direct
140
+ or contributory patent infringement, then any patent licenses
141
+ granted to You under this License for that Work shall terminate
142
+ as of the date such litigation is filed.
143
+
144
+ 4. Redistribution. You may reproduce and distribute copies of the
145
+ Work or Derivative Works thereof in any medium, with or without
146
+ modifications, and in Source or Object form, provided that You
147
+ meet the following conditions:
148
+
149
+ (a) You must give any other recipients of the Work or
150
+ Derivative Works a copy of this License; and
151
+
152
+ (b) You must cause any modified files to carry prominent notices
153
+ stating that You changed the files; and
154
+
155
+ (c) You must retain, in the Source form of any Derivative Works
156
+ that You distribute, all copyright, patent, trademark, and
157
+ attribution notices from the Source form of the Work,
158
+ excluding those notices that do not pertain to any part of
159
+ the Derivative Works; and
160
+
161
+ (d) If the Work includes a "NOTICE" text file as part of its
162
+ distribution, then any Derivative Works that You distribute must
163
+ include a readable copy of the attribution notices contained
164
+ within such NOTICE file, excluding those notices that do not
165
+ pertain to any part of the Derivative Works, in at least one
166
+ of the following places: within a NOTICE text file distributed
167
+ as part of the Derivative Works; within the Source form or
168
+ documentation, if provided along with the Derivative Works; or,
169
+ within a display generated by the Derivative Works, if and
170
+ wherever such third-party notices normally appear. The contents
171
+ of the NOTICE file are for informational purposes only and
172
+ do not modify the License. You may add Your own attribution
173
+ notices within Derivative Works that You distribute, alongside
174
+ or as an addendum to the NOTICE text from the Work, provided
175
+ that such additional attribution notices cannot be construed
176
+ as modifying the License.
177
+
178
+ You may add Your own copyright statement to Your modifications and
179
+ may provide additional or different license terms and conditions
180
+ for use, reproduction, or distribution of Your modifications, or
181
+ for any such Derivative Works as a whole, provided Your use,
182
+ reproduction, and distribution of the Work otherwise complies with
183
+ the conditions stated in this License.
184
+
185
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
186
+ any Contribution intentionally submitted for inclusion in the Work
187
+ by You to the Licensor shall be under the terms and conditions of
188
+ this License, without any additional terms or conditions.
189
+ Notwithstanding the above, nothing herein shall supersede or modify
190
+ the terms of any separate license agreement you may have executed
191
+ with Licensor regarding such Contributions.
192
+
193
+ 6. Trademarks. This License does not grant permission to use the trade
194
+ names, trademarks, service marks, or product names of the Licensor,
195
+ except as required for reasonable and customary use in describing the
196
+ origin of the Work and reproducing the content of the NOTICE file.
197
+
198
+ 7. Disclaimer of Warranty. Unless required by applicable law or
199
+ agreed to in writing, Licensor provides the Work (and each
200
+ Contributor provides its Contributions) on an "AS IS" BASIS,
201
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
202
+ implied, including, without limitation, any warranties or conditions
203
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
204
+ PARTICULAR PURPOSE. You are solely responsible for determining the
205
+ appropriateness of using or redistributing the Work and assume any
206
+ risks associated with Your exercise of permissions under this License.
207
+
208
+ 8. Limitation of Liability. In no event and under no legal theory,
209
+ whether in tort (including negligence), contract, or otherwise,
210
+ unless required by applicable law (such as deliberate and grossly
211
+ negligent acts) or agreed to in writing, shall any Contributor be
212
+ liable to You for damages, including any direct, indirect, special,
213
+ incidental, or consequential damages of any character arising as a
214
+ result of this License or out of the use or inability to use the
215
+ Work (including but not limited to damages for loss of goodwill,
216
+ work stoppage, computer failure or malfunction, or any and all
217
+ other commercial damages or losses), even if such Contributor
218
+ has been advised of the possibility of such damages.
219
+
220
+ 9. Accepting Warranty or Additional Liability. While redistributing
221
+ the Work or Derivative Works thereof, You may choose to offer,
222
+ and charge a fee for, acceptance of support, warranty, indemnity,
223
+ or other liability obligations and/or rights consistent with this
224
+ License. However, in accepting such obligations, You may act only
225
+ on Your own behalf and on Your sole responsibility, not on behalf
226
+ of any other Contributor, and only if You agree to indemnify,
227
+ defend, and hold each Contributor harmless for any liability
228
+ incurred by, or claims asserted against, such Contributor by reason
229
+ of your accepting any such warranty or additional liability.
230
+
231
+ END OF TERMS AND CONDITIONS
232
+
233
+ APPENDIX: How to apply the Apache License to your work.
234
+
235
+ To apply the Apache License to your work, attach the following
236
+ boilerplate notice, with the fields enclosed by brackets "[]"
237
+ replaced with your own identifying information. (Don't include
238
+ the brackets!) The text should be enclosed in the appropriate
239
+ comment syntax for the file format. We also recommend that a
240
+ file or class name and description of purpose be included on the
241
+ same "printed page" as the copyright notice for easier
242
+ identification within third-party archives.
243
+
244
+ Copyright [yyyy] [name of copyright owner]
245
+
246
+ Licensed under the Apache License, Version 2.0 (the "License");
247
+ you may not use this file except in compliance with the License.
248
+ You may obtain a copy of the License at
249
+
250
+ http://www.apache.org/licenses/LICENSE-2.0
251
+
252
+ Unless required by applicable law or agreed to in writing, software
253
+ distributed under the License is distributed on an "AS IS" BASIS,
254
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
255
+ See the License for the specific language governing permissions and
256
+ limitations under the License.
cnn-eight-class/NOTICE ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Chandassu Recognition
2
+ Copyright 2026 Pranav Surampudi
3
+
4
+ Project-owned material in this revision uses LicenseRef-Chandassu-Citation.
5
+ See LICENSE for the required citation and the complete terms.
6
+ Earlier Apache-2.0 permissions remain in effect for earlier releases.
7
+
8
+ Required credit:
9
+ Pranav Surampudi (2026). Chandassu Recognition: Telugu Poetic Meter Classification.
10
+ https://github.com/Pranav-20186017/chandassu_recognition
11
+
12
+ ByT5 base encoder weights originate from google/byt5-small and retain their
13
+ Apache-2.0 license. Its text is in LICENSES/Apache-2.0.txt.
14
+ Prepared poems, editions, transcriptions, and source annotations retain their
15
+ source rights. See data/LICENSE.md and data/v1/works.json.
cnn-eight-class/README.md ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: te
3
+ license: other
4
+ license_name: chandassu-citation
5
+ license_link: LICENSE
6
+ library_name: transformers
7
+ pipeline_tag: text-classification
8
+ tags: [telugu, poetry, metre, cnn, eight-class]
9
+ ---
10
+ # Eight-class ordered poem CNN
11
+
12
+ Fresh seed-17 CNN, selected at epoch 11. Test poem Macro F1 **94.84%**;
13
+ accuracy **97.90%**. Ataveladi F1 **69.34%** is the principal weakness.
14
+
15
+ Use `AutoTokenizer` and `AutoModelForSequenceClassification` with
16
+ `subfolder="cnn-eight-class"` and `trust_remote_code=True`. Pass a complete
17
+ newline-separated poem to the tokenizer, not individual lines. Tensors have shape
18
+ `[batch, 4 ordered padas, tokens]`; output is one eight-class logit vector per poem.
19
+ Scores are **uncalibrated**. Do not average these logits as line predictions.
20
+
21
+ Four full padas, eight Seesamu body half-lines, or eight body half-lines plus four
22
+ closing geeti lines are supported. The closing geeti never enters the CNN.
23
+ Maximum length is 512 characters per full pada; input is never silently truncated.
24
+ A batch is a list of complete poem strings. Standard line-level pipelines are
25
+ unsupported; use the Auto interfaces and explicit whole-poem inputs.
26
+
27
+ The native project loader and `inference.py` also support this exact package.
28
+ See the [main model card](https://huggingface.co/sprx7767/chandassu-recognition)
29
+ for usage, eight-label mapping, evaluation, source limitations and citation terms.
cnn-eight-class/config.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architecture": "ordered_poem_cnn_v1",
3
+ "architectures": [
4
+ "ChandassuPoemCNNForSequenceClassification"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "hf_poem.ChandassuPoemCNNConfig",
8
+ "AutoModel": "hf_poem.ChandassuPoemCNNForSequenceClassification",
9
+ "AutoModelForSequenceClassification": "hf_poem.ChandassuPoemCNNForSequenceClassification"
10
+ },
11
+ "calibrated": false,
12
+ "dropout": 0.2,
13
+ "id2label": {
14
+ "0": "ఉత్పలమాల",
15
+ "1": "చంపకమాల",
16
+ "2": "మత్తేభము",
17
+ "3": "శార్దూలం",
18
+ "4": "ఆటవెలది",
19
+ "5": "తేటగీతి",
20
+ "6": "కందము",
21
+ "7": "సీసము"
22
+ },
23
+ "kernel_sizes": [
24
+ 3,
25
+ 5,
26
+ 7
27
+ ],
28
+ "label2id": {
29
+ "ఆటవెలది": 4,
30
+ "ఉత్పలమాల": 0,
31
+ "కందము": 6,
32
+ "చంపకమాల": 1,
33
+ "తేటగీతి": 5,
34
+ "మత్తేభము": 2,
35
+ "శార్దూలం": 3,
36
+ "సీసము": 7
37
+ },
38
+ "labels": [
39
+ "ఉత్పలమాల",
40
+ "చంపకమాల",
41
+ "మత్తేభము",
42
+ "శార్దూలం",
43
+ "ఆటవెలది",
44
+ "తేటగీతి",
45
+ "కందము",
46
+ "సీసము"
47
+ ],
48
+ "max_tokens": 512,
49
+ "model_type": "chandassu_poem_cnn",
50
+ "pad_token_id": 0,
51
+ "prediction_unit": "poem",
52
+ "representation": "Four ordered padas; Seesamu body only",
53
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
54
+ "seed": 17,
55
+ "temperature": 1.0,
56
+ "training_data_manifest": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
57
+ "vocab_size": 104,
58
+ "width": 64
59
+ }
cnn-eight-class/confusion_matrix.png ADDED

Git LFS Details

  • SHA256: 9156031106982e7fc465c7f961bccf9dc46e69b9dbc2a9d569175cc579db0b70
  • Pointer size: 131 Bytes
  • Size of remote file: 109 kB
cnn-eight-class/evaluation.json ADDED
@@ -0,0 +1,2590 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cohorts": {
3
+ "new_source_annotation": {
4
+ "accuracy": 0.9553456419063976,
5
+ "class_order": [
6
+ "ఉత్పలమాల",
7
+ "చంపకమాల",
8
+ "మత్తేభము",
9
+ "శార్దూలం",
10
+ "ఆటవెలది",
11
+ "తేటగీతి",
12
+ "కందము",
13
+ "సీసము"
14
+ ],
15
+ "confusion_matrix": [
16
+ [
17
+ 0,
18
+ 0,
19
+ 0,
20
+ 0,
21
+ 0,
22
+ 0,
23
+ 0,
24
+ 0
25
+ ],
26
+ [
27
+ 0,
28
+ 0,
29
+ 0,
30
+ 0,
31
+ 0,
32
+ 0,
33
+ 0,
34
+ 0
35
+ ],
36
+ [
37
+ 0,
38
+ 0,
39
+ 0,
40
+ 0,
41
+ 0,
42
+ 0,
43
+ 0,
44
+ 0
45
+ ],
46
+ [
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0,
51
+ 0,
52
+ 0,
53
+ 0,
54
+ 0
55
+ ],
56
+ [
57
+ 0,
58
+ 0,
59
+ 0,
60
+ 0,
61
+ 95,
62
+ 57,
63
+ 0,
64
+ 0
65
+ ],
66
+ [
67
+ 0,
68
+ 0,
69
+ 0,
70
+ 0,
71
+ 27,
72
+ 603,
73
+ 4,
74
+ 6
75
+ ],
76
+ [
77
+ 0,
78
+ 0,
79
+ 0,
80
+ 1,
81
+ 0,
82
+ 2,
83
+ 1068,
84
+ 0
85
+ ],
86
+ [
87
+ 1,
88
+ 0,
89
+ 1,
90
+ 0,
91
+ 0,
92
+ 5,
93
+ 0,
94
+ 459
95
+ ]
96
+ ],
97
+ "cross_entropy": 0.11322719603776932,
98
+ "macro_f1": 0.4498655653565343,
99
+ "observations": 2329,
100
+ "per_class": {
101
+ "accuracy": 0.9553456419063976,
102
+ "macro avg": {
103
+ "f1-score": 0.4498655653565343,
104
+ "precision": 0.4582627414390156,
105
+ "recall": 0.4436706150405441,
106
+ "support": 2329.0
107
+ },
108
+ "weighted avg": {
109
+ "f1-score": 0.954460858783415,
110
+ "precision": 0.9548914506238121,
111
+ "recall": 0.9553456419063976,
112
+ "support": 2329.0
113
+ },
114
+ "ఆటవెలది": {
115
+ "f1-score": 0.6934306569343066,
116
+ "precision": 0.7786885245901639,
117
+ "recall": 0.625,
118
+ "support": 152.0
119
+ },
120
+ "ఉత్పలమాల": {
121
+ "f1-score": 0.0,
122
+ "precision": 0.0,
123
+ "recall": 0.0,
124
+ "support": 0.0
125
+ },
126
+ "కందము": {
127
+ "f1-score": 0.9967335510965936,
128
+ "precision": 0.996268656716418,
129
+ "recall": 0.9971988795518207,
130
+ "support": 1071.0
131
+ },
132
+ "చంపకమాల": {
133
+ "f1-score": 0.0,
134
+ "precision": 0.0,
135
+ "recall": 0.0,
136
+ "support": 0.0
137
+ },
138
+ "తేటగీతి": {
139
+ "f1-score": 0.9227237949502678,
140
+ "precision": 0.904047976011994,
141
+ "recall": 0.9421875,
142
+ "support": 640.0
143
+ },
144
+ "మత్తేభము": {
145
+ "f1-score": 0.0,
146
+ "precision": 0.0,
147
+ "recall": 0.0,
148
+ "support": 0.0
149
+ },
150
+ "శార్దూలం": {
151
+ "f1-score": 0.0,
152
+ "precision": 0.0,
153
+ "recall": 0.0,
154
+ "support": 0.0
155
+ },
156
+ "సీసము": {
157
+ "f1-score": 0.9860365198711063,
158
+ "precision": 0.9870967741935484,
159
+ "recall": 0.9849785407725322,
160
+ "support": 466.0
161
+ }
162
+ }
163
+ },
164
+ "v2_existing": {
165
+ "accuracy": 0.9976295292922451,
166
+ "class_order": [
167
+ "ఉత్పలమాల",
168
+ "చంపకమాల",
169
+ "మత్తేభము",
170
+ "శార్దూలం",
171
+ "ఆటవెలది",
172
+ "తేటగీతి",
173
+ "కందము",
174
+ "సీసము"
175
+ ],
176
+ "confusion_matrix": [
177
+ [
178
+ 994,
179
+ 2,
180
+ 0,
181
+ 0,
182
+ 0,
183
+ 0,
184
+ 0,
185
+ 0
186
+ ],
187
+ [
188
+ 1,
189
+ 756,
190
+ 1,
191
+ 0,
192
+ 0,
193
+ 0,
194
+ 1,
195
+ 0
196
+ ],
197
+ [
198
+ 0,
199
+ 0,
200
+ 732,
201
+ 0,
202
+ 0,
203
+ 0,
204
+ 0,
205
+ 1
206
+ ],
207
+ [
208
+ 1,
209
+ 0,
210
+ 0,
211
+ 464,
212
+ 0,
213
+ 0,
214
+ 0,
215
+ 0
216
+ ],
217
+ [
218
+ 0,
219
+ 0,
220
+ 0,
221
+ 0,
222
+ 0,
223
+ 0,
224
+ 0,
225
+ 0
226
+ ],
227
+ [
228
+ 0,
229
+ 0,
230
+ 0,
231
+ 0,
232
+ 0,
233
+ 0,
234
+ 0,
235
+ 0
236
+ ],
237
+ [
238
+ 0,
239
+ 0,
240
+ 0,
241
+ 0,
242
+ 0,
243
+ 0,
244
+ 0,
245
+ 0
246
+ ],
247
+ [
248
+ 0,
249
+ 0,
250
+ 0,
251
+ 0,
252
+ 0,
253
+ 0,
254
+ 0,
255
+ 0
256
+ ]
257
+ ],
258
+ "cross_entropy": 0.020885592326521873,
259
+ "macro_f1": 0.49903191327759144,
260
+ "observations": 2953,
261
+ "per_class": {
262
+ "accuracy": 0.9976295292922451,
263
+ "macro avg": {
264
+ "f1-score": 0.49903191327759144,
265
+ "precision": 0.49924864862047835,
266
+ "recall": 0.4988155755733623,
267
+ "support": 2953.0
268
+ },
269
+ "weighted avg": {
270
+ "f1-score": 0.9979674276320403,
271
+ "precision": 0.9983059131315858,
272
+ "recall": 0.9976295292922451,
273
+ "support": 2953.0
274
+ },
275
+ "ఆటవెలది": {
276
+ "f1-score": 0.0,
277
+ "precision": 0.0,
278
+ "recall": 0.0,
279
+ "support": 0.0
280
+ },
281
+ "ఉత్పలమాల": {
282
+ "f1-score": 0.9979919678714859,
283
+ "precision": 0.9979919678714859,
284
+ "recall": 0.9979919678714859,
285
+ "support": 996.0
286
+ },
287
+ "కందము": {
288
+ "f1-score": 0.0,
289
+ "precision": 0.0,
290
+ "recall": 0.0,
291
+ "support": 0.0
292
+ },
293
+ "చంపకమాల": {
294
+ "f1-score": 0.996704021094265,
295
+ "precision": 0.9973614775725593,
296
+ "recall": 0.9960474308300395,
297
+ "support": 759.0
298
+ },
299
+ "తేటగీతి": {
300
+ "f1-score": 0.0,
301
+ "precision": 0.0,
302
+ "recall": 0.0,
303
+ "support": 0.0
304
+ },
305
+ "మత్తేభము": {
306
+ "f1-score": 0.9986357435197817,
307
+ "precision": 0.9986357435197817,
308
+ "recall": 0.9986357435197817,
309
+ "support": 733.0
310
+ },
311
+ "శార్దూలం": {
312
+ "f1-score": 0.9989235737351991,
313
+ "precision": 1.0,
314
+ "recall": 0.9978494623655914,
315
+ "support": 465.0
316
+ },
317
+ "సీసము": {
318
+ "f1-score": 0.0,
319
+ "precision": 0.0,
320
+ "recall": 0.0,
321
+ "support": 0.0
322
+ }
323
+ }
324
+ }
325
+ },
326
+ "original_four_label_retention": {
327
+ "accuracy": 0.9976295292922451,
328
+ "macro_f1": 0.9980638265551829,
329
+ "observations": 2953
330
+ },
331
+ "per_work": {
332
+ "అహల్యాసంక్రందనము": {
333
+ "accuracy": 0.9693593314763231,
334
+ "class_order": [
335
+ "ఉత్పలమాల",
336
+ "చంపకమాల",
337
+ "మత్తేభము",
338
+ "శార్దూలం",
339
+ "ఆటవెలది",
340
+ "తేటగీతి",
341
+ "కందము",
342
+ "సీసము"
343
+ ],
344
+ "confusion_matrix": [
345
+ [
346
+ 88,
347
+ 1,
348
+ 0,
349
+ 0,
350
+ 0,
351
+ 0,
352
+ 0,
353
+ 0
354
+ ],
355
+ [
356
+ 0,
357
+ 67,
358
+ 1,
359
+ 0,
360
+ 0,
361
+ 0,
362
+ 1,
363
+ 0
364
+ ],
365
+ [
366
+ 0,
367
+ 0,
368
+ 17,
369
+ 0,
370
+ 0,
371
+ 0,
372
+ 0,
373
+ 0
374
+ ],
375
+ [
376
+ 0,
377
+ 0,
378
+ 0,
379
+ 11,
380
+ 0,
381
+ 0,
382
+ 0,
383
+ 0
384
+ ],
385
+ [
386
+ 0,
387
+ 0,
388
+ 0,
389
+ 0,
390
+ 1,
391
+ 1,
392
+ 0,
393
+ 0
394
+ ],
395
+ [
396
+ 0,
397
+ 0,
398
+ 0,
399
+ 0,
400
+ 0,
401
+ 12,
402
+ 4,
403
+ 0
404
+ ],
405
+ [
406
+ 0,
407
+ 0,
408
+ 0,
409
+ 1,
410
+ 0,
411
+ 0,
412
+ 98,
413
+ 0
414
+ ],
415
+ [
416
+ 0,
417
+ 0,
418
+ 0,
419
+ 0,
420
+ 0,
421
+ 2,
422
+ 0,
423
+ 54
424
+ ]
425
+ ],
426
+ "cross_entropy": 0.1297415941953659,
427
+ "macro_f1": 0.9116722761751024,
428
+ "observations": 359,
429
+ "per_class": {
430
+ "accuracy": 0.9693593314763231,
431
+ "macro avg": {
432
+ "f1-score": 0.9116722761751024,
433
+ "precision": 0.9497326924297227,
434
+ "recall": 0.8954954052352684,
435
+ "support": 359.0
436
+ },
437
+ "weighted avg": {
438
+ "f1-score": 0.9687573964088945,
439
+ "precision": 0.9696890188407173,
440
+ "recall": 0.9693593314763231,
441
+ "support": 359.0
442
+ },
443
+ "ఆటవెలది": {
444
+ "f1-score": 0.6666666666666666,
445
+ "precision": 1.0,
446
+ "recall": 0.5,
447
+ "support": 2.0
448
+ },
449
+ "ఉత్పలమాల": {
450
+ "f1-score": 0.9943502824858758,
451
+ "precision": 1.0,
452
+ "recall": 0.9887640449438202,
453
+ "support": 89.0
454
+ },
455
+ "కందము": {
456
+ "f1-score": 0.9702970297029703,
457
+ "precision": 0.9514563106796117,
458
+ "recall": 0.98989898989899,
459
+ "support": 99.0
460
+ },
461
+ "చంపకమాల": {
462
+ "f1-score": 0.9781021897810219,
463
+ "precision": 0.9852941176470589,
464
+ "recall": 0.9710144927536232,
465
+ "support": 69.0
466
+ },
467
+ "తేటగీతి": {
468
+ "f1-score": 0.7741935483870968,
469
+ "precision": 0.8,
470
+ "recall": 0.75,
471
+ "support": 16.0
472
+ },
473
+ "మత్తేభము": {
474
+ "f1-score": 0.9714285714285714,
475
+ "precision": 0.9444444444444444,
476
+ "recall": 1.0,
477
+ "support": 17.0
478
+ },
479
+ "శార్దూలం": {
480
+ "f1-score": 0.9565217391304348,
481
+ "precision": 0.9166666666666666,
482
+ "recall": 1.0,
483
+ "support": 11.0
484
+ },
485
+ "సీసము": {
486
+ "f1-score": 0.9818181818181818,
487
+ "precision": 1.0,
488
+ "recall": 0.9642857142857143,
489
+ "support": 56.0
490
+ }
491
+ }
492
+ },
493
+ "ఆంధ్ర పురాణము": {
494
+ "accuracy": 0.9826635145784082,
495
+ "class_order": [
496
+ "ఉత్పలమాల",
497
+ "చంపకమాల",
498
+ "మత్తేభము",
499
+ "శార్దూలం",
500
+ "ఆటవెలది",
501
+ "తేటగీతి",
502
+ "కందము",
503
+ "సీసము"
504
+ ],
505
+ "confusion_matrix": [
506
+ [
507
+ 264,
508
+ 0,
509
+ 0,
510
+ 0,
511
+ 0,
512
+ 0,
513
+ 0,
514
+ 0
515
+ ],
516
+ [
517
+ 0,
518
+ 288,
519
+ 0,
520
+ 0,
521
+ 0,
522
+ 0,
523
+ 0,
524
+ 0
525
+ ],
526
+ [
527
+ 0,
528
+ 0,
529
+ 364,
530
+ 0,
531
+ 0,
532
+ 0,
533
+ 0,
534
+ 0
535
+ ],
536
+ [
537
+ 0,
538
+ 0,
539
+ 0,
540
+ 110,
541
+ 0,
542
+ 0,
543
+ 0,
544
+ 0
545
+ ],
546
+ [
547
+ 0,
548
+ 0,
549
+ 0,
550
+ 0,
551
+ 53,
552
+ 22,
553
+ 0,
554
+ 0
555
+ ],
556
+ [
557
+ 0,
558
+ 0,
559
+ 0,
560
+ 0,
561
+ 0,
562
+ 0,
563
+ 0,
564
+ 0
565
+ ],
566
+ [
567
+ 0,
568
+ 0,
569
+ 0,
570
+ 0,
571
+ 0,
572
+ 0,
573
+ 168,
574
+ 0
575
+ ],
576
+ [
577
+ 0,
578
+ 0,
579
+ 0,
580
+ 0,
581
+ 0,
582
+ 0,
583
+ 0,
584
+ 0
585
+ ]
586
+ ],
587
+ "cross_entropy": 0.045060791075229645,
588
+ "macro_f1": 0.728515625,
589
+ "observations": 1269,
590
+ "per_class": {
591
+ "accuracy": 0.9826635145784082,
592
+ "macro avg": {
593
+ "f1-score": 0.728515625,
594
+ "precision": 0.75,
595
+ "recall": 0.7133333333333334,
596
+ "support": 1269.0
597
+ },
598
+ "weighted avg": {
599
+ "f1-score": 0.989841903073286,
600
+ "precision": 1.0,
601
+ "recall": 0.9826635145784082,
602
+ "support": 1269.0
603
+ },
604
+ "ఆటవెలది": {
605
+ "f1-score": 0.828125,
606
+ "precision": 1.0,
607
+ "recall": 0.7066666666666667,
608
+ "support": 75.0
609
+ },
610
+ "ఉత్పలమాల": {
611
+ "f1-score": 1.0,
612
+ "precision": 1.0,
613
+ "recall": 1.0,
614
+ "support": 264.0
615
+ },
616
+ "కందము": {
617
+ "f1-score": 1.0,
618
+ "precision": 1.0,
619
+ "recall": 1.0,
620
+ "support": 168.0
621
+ },
622
+ "చంపకమాల": {
623
+ "f1-score": 1.0,
624
+ "precision": 1.0,
625
+ "recall": 1.0,
626
+ "support": 288.0
627
+ },
628
+ "తేటగీతి": {
629
+ "f1-score": 0.0,
630
+ "precision": 0.0,
631
+ "recall": 0.0,
632
+ "support": 0.0
633
+ },
634
+ "మత్తేభము": {
635
+ "f1-score": 1.0,
636
+ "precision": 1.0,
637
+ "recall": 1.0,
638
+ "support": 364.0
639
+ },
640
+ "శార్దూలం": {
641
+ "f1-score": 1.0,
642
+ "precision": 1.0,
643
+ "recall": 1.0,
644
+ "support": 110.0
645
+ },
646
+ "సీసము": {
647
+ "f1-score": 0.0,
648
+ "precision": 0.0,
649
+ "recall": 0.0,
650
+ "support": 0.0
651
+ }
652
+ }
653
+ },
654
+ "ఉద్దండరాయశతకము": {
655
+ "accuracy": 1.0,
656
+ "class_order": [
657
+ "ఉత్పలమాల",
658
+ "చంపకమాల",
659
+ "మత్తేభము",
660
+ "శార్దూలం",
661
+ "ఆటవెలది",
662
+ "తేటగీతి",
663
+ "కందము",
664
+ "సీసము"
665
+ ],
666
+ "confusion_matrix": [
667
+ [
668
+ 0,
669
+ 0,
670
+ 0,
671
+ 0,
672
+ 0,
673
+ 0,
674
+ 0,
675
+ 0
676
+ ],
677
+ [
678
+ 0,
679
+ 0,
680
+ 0,
681
+ 0,
682
+ 0,
683
+ 0,
684
+ 0,
685
+ 0
686
+ ],
687
+ [
688
+ 0,
689
+ 0,
690
+ 2,
691
+ 0,
692
+ 0,
693
+ 0,
694
+ 0,
695
+ 0
696
+ ],
697
+ [
698
+ 0,
699
+ 0,
700
+ 0,
701
+ 0,
702
+ 0,
703
+ 0,
704
+ 0,
705
+ 0
706
+ ],
707
+ [
708
+ 0,
709
+ 0,
710
+ 0,
711
+ 0,
712
+ 0,
713
+ 0,
714
+ 0,
715
+ 0
716
+ ],
717
+ [
718
+ 0,
719
+ 0,
720
+ 0,
721
+ 0,
722
+ 0,
723
+ 0,
724
+ 0,
725
+ 0
726
+ ],
727
+ [
728
+ 0,
729
+ 0,
730
+ 0,
731
+ 0,
732
+ 0,
733
+ 0,
734
+ 0,
735
+ 0
736
+ ],
737
+ [
738
+ 0,
739
+ 0,
740
+ 0,
741
+ 0,
742
+ 0,
743
+ 0,
744
+ 0,
745
+ 0
746
+ ]
747
+ ],
748
+ "cross_entropy": 0.002044523600488901,
749
+ "macro_f1": 0.125,
750
+ "observations": 2,
751
+ "per_class": {
752
+ "accuracy": 1.0,
753
+ "macro avg": {
754
+ "f1-score": 0.125,
755
+ "precision": 0.125,
756
+ "recall": 0.125,
757
+ "support": 2.0
758
+ },
759
+ "weighted avg": {
760
+ "f1-score": 1.0,
761
+ "precision": 1.0,
762
+ "recall": 1.0,
763
+ "support": 2.0
764
+ },
765
+ "ఆటవెలది": {
766
+ "f1-score": 0.0,
767
+ "precision": 0.0,
768
+ "recall": 0.0,
769
+ "support": 0.0
770
+ },
771
+ "ఉత్పలమాల": {
772
+ "f1-score": 0.0,
773
+ "precision": 0.0,
774
+ "recall": 0.0,
775
+ "support": 0.0
776
+ },
777
+ "కందము": {
778
+ "f1-score": 0.0,
779
+ "precision": 0.0,
780
+ "recall": 0.0,
781
+ "support": 0.0
782
+ },
783
+ "చంపకమాల": {
784
+ "f1-score": 0.0,
785
+ "precision": 0.0,
786
+ "recall": 0.0,
787
+ "support": 0.0
788
+ },
789
+ "తేటగీతి": {
790
+ "f1-score": 0.0,
791
+ "precision": 0.0,
792
+ "recall": 0.0,
793
+ "support": 0.0
794
+ },
795
+ "మత్తేభము": {
796
+ "f1-score": 1.0,
797
+ "precision": 1.0,
798
+ "recall": 1.0,
799
+ "support": 2.0
800
+ },
801
+ "శార్దూలం": {
802
+ "f1-score": 0.0,
803
+ "precision": 0.0,
804
+ "recall": 0.0,
805
+ "support": 0.0
806
+ },
807
+ "సీసము": {
808
+ "f1-score": 0.0,
809
+ "precision": 0.0,
810
+ "recall": 0.0,
811
+ "support": 0.0
812
+ }
813
+ }
814
+ },
815
+ "క్రీడాభిరామము": {
816
+ "accuracy": 0.9414893617021277,
817
+ "class_order": [
818
+ "ఉత్పలమాల",
819
+ "చంపకమాల",
820
+ "మత్తేభము",
821
+ "శార్దూలం",
822
+ "ఆటవెలది",
823
+ "తేటగీతి",
824
+ "కందము",
825
+ "సీసము"
826
+ ],
827
+ "confusion_matrix": [
828
+ [
829
+ 31,
830
+ 0,
831
+ 0,
832
+ 0,
833
+ 0,
834
+ 0,
835
+ 0,
836
+ 0
837
+ ],
838
+ [
839
+ 0,
840
+ 12,
841
+ 0,
842
+ 0,
843
+ 0,
844
+ 0,
845
+ 0,
846
+ 0
847
+ ],
848
+ [
849
+ 0,
850
+ 0,
851
+ 20,
852
+ 0,
853
+ 0,
854
+ 0,
855
+ 0,
856
+ 0
857
+ ],
858
+ [
859
+ 0,
860
+ 0,
861
+ 0,
862
+ 18,
863
+ 0,
864
+ 0,
865
+ 0,
866
+ 0
867
+ ],
868
+ [
869
+ 0,
870
+ 0,
871
+ 0,
872
+ 0,
873
+ 4,
874
+ 6,
875
+ 0,
876
+ 0
877
+ ],
878
+ [
879
+ 0,
880
+ 0,
881
+ 0,
882
+ 0,
883
+ 4,
884
+ 28,
885
+ 0,
886
+ 0
887
+ ],
888
+ [
889
+ 0,
890
+ 0,
891
+ 0,
892
+ 0,
893
+ 0,
894
+ 1,
895
+ 29,
896
+ 0
897
+ ],
898
+ [
899
+ 0,
900
+ 0,
901
+ 0,
902
+ 0,
903
+ 0,
904
+ 0,
905
+ 0,
906
+ 35
907
+ ]
908
+ ],
909
+ "cross_entropy": 0.13173219561576843,
910
+ "macro_f1": 0.9079145234280575,
911
+ "observations": 188,
912
+ "per_class": {
913
+ "accuracy": 0.9414893617021277,
914
+ "macro avg": {
915
+ "f1-score": 0.9079145234280575,
916
+ "precision": 0.9125,
917
+ "recall": 0.9052083333333334,
918
+ "support": 188.0
919
+ },
920
+ "weighted avg": {
921
+ "f1-score": 0.9397991410898386,
922
+ "precision": 0.9393617021276596,
923
+ "recall": 0.9414893617021277,
924
+ "support": 188.0
925
+ },
926
+ "ఆటవెలది": {
927
+ "f1-score": 0.4444444444444444,
928
+ "precision": 0.5,
929
+ "recall": 0.4,
930
+ "support": 10.0
931
+ },
932
+ "ఉత్పలమాల": {
933
+ "f1-score": 1.0,
934
+ "precision": 1.0,
935
+ "recall": 1.0,
936
+ "support": 31.0
937
+ },
938
+ "కందము": {
939
+ "f1-score": 0.9830508474576272,
940
+ "precision": 1.0,
941
+ "recall": 0.9666666666666667,
942
+ "support": 30.0
943
+ },
944
+ "చంపకమాల": {
945
+ "f1-score": 1.0,
946
+ "precision": 1.0,
947
+ "recall": 1.0,
948
+ "support": 12.0
949
+ },
950
+ "తేటగీతి": {
951
+ "f1-score": 0.835820895522388,
952
+ "precision": 0.8,
953
+ "recall": 0.875,
954
+ "support": 32.0
955
+ },
956
+ "మత్తేభము": {
957
+ "f1-score": 1.0,
958
+ "precision": 1.0,
959
+ "recall": 1.0,
960
+ "support": 20.0
961
+ },
962
+ "శార్దూలం": {
963
+ "f1-score": 1.0,
964
+ "precision": 1.0,
965
+ "recall": 1.0,
966
+ "support": 18.0
967
+ },
968
+ "సీసము": {
969
+ "f1-score": 1.0,
970
+ "precision": 1.0,
971
+ "recall": 1.0,
972
+ "support": 35.0
973
+ }
974
+ }
975
+ },
976
+ "పాండవోద్యోగము": {
977
+ "accuracy": 1.0,
978
+ "class_order": [
979
+ "ఉత్పలమాల",
980
+ "చంపకమాల",
981
+ "మత్తేభము",
982
+ "శార్దూలం",
983
+ "ఆటవెలది",
984
+ "తేటగీతి",
985
+ "కందము",
986
+ "సీసము"
987
+ ],
988
+ "confusion_matrix": [
989
+ [
990
+ 1,
991
+ 0,
992
+ 0,
993
+ 0,
994
+ 0,
995
+ 0,
996
+ 0,
997
+ 0
998
+ ],
999
+ [
1000
+ 0,
1001
+ 1,
1002
+ 0,
1003
+ 0,
1004
+ 0,
1005
+ 0,
1006
+ 0,
1007
+ 0
1008
+ ],
1009
+ [
1010
+ 0,
1011
+ 0,
1012
+ 1,
1013
+ 0,
1014
+ 0,
1015
+ 0,
1016
+ 0,
1017
+ 0
1018
+ ],
1019
+ [
1020
+ 0,
1021
+ 0,
1022
+ 0,
1023
+ 3,
1024
+ 0,
1025
+ 0,
1026
+ 0,
1027
+ 0
1028
+ ],
1029
+ [
1030
+ 0,
1031
+ 0,
1032
+ 0,
1033
+ 0,
1034
+ 0,
1035
+ 0,
1036
+ 0,
1037
+ 0
1038
+ ],
1039
+ [
1040
+ 0,
1041
+ 0,
1042
+ 0,
1043
+ 0,
1044
+ 0,
1045
+ 0,
1046
+ 0,
1047
+ 0
1048
+ ],
1049
+ [
1050
+ 0,
1051
+ 0,
1052
+ 0,
1053
+ 0,
1054
+ 0,
1055
+ 0,
1056
+ 0,
1057
+ 0
1058
+ ],
1059
+ [
1060
+ 0,
1061
+ 0,
1062
+ 0,
1063
+ 0,
1064
+ 0,
1065
+ 0,
1066
+ 0,
1067
+ 0
1068
+ ]
1069
+ ],
1070
+ "cross_entropy": 0.0031931486446410418,
1071
+ "macro_f1": 0.5,
1072
+ "observations": 6,
1073
+ "per_class": {
1074
+ "accuracy": 1.0,
1075
+ "macro avg": {
1076
+ "f1-score": 0.5,
1077
+ "precision": 0.5,
1078
+ "recall": 0.5,
1079
+ "support": 6.0
1080
+ },
1081
+ "weighted avg": {
1082
+ "f1-score": 1.0,
1083
+ "precision": 1.0,
1084
+ "recall": 1.0,
1085
+ "support": 6.0
1086
+ },
1087
+ "ఆటవెలది": {
1088
+ "f1-score": 0.0,
1089
+ "precision": 0.0,
1090
+ "recall": 0.0,
1091
+ "support": 0.0
1092
+ },
1093
+ "ఉత్పలమాల": {
1094
+ "f1-score": 1.0,
1095
+ "precision": 1.0,
1096
+ "recall": 1.0,
1097
+ "support": 1.0
1098
+ },
1099
+ "కందము": {
1100
+ "f1-score": 0.0,
1101
+ "precision": 0.0,
1102
+ "recall": 0.0,
1103
+ "support": 0.0
1104
+ },
1105
+ "చంపకమాల": {
1106
+ "f1-score": 1.0,
1107
+ "precision": 1.0,
1108
+ "recall": 1.0,
1109
+ "support": 1.0
1110
+ },
1111
+ "తేటగీతి": {
1112
+ "f1-score": 0.0,
1113
+ "precision": 0.0,
1114
+ "recall": 0.0,
1115
+ "support": 0.0
1116
+ },
1117
+ "మత్తేభము": {
1118
+ "f1-score": 1.0,
1119
+ "precision": 1.0,
1120
+ "recall": 1.0,
1121
+ "support": 1.0
1122
+ },
1123
+ "శార్దూలం": {
1124
+ "f1-score": 1.0,
1125
+ "precision": 1.0,
1126
+ "recall": 1.0,
1127
+ "support": 3.0
1128
+ },
1129
+ "సీసము": {
1130
+ "f1-score": 0.0,
1131
+ "precision": 0.0,
1132
+ "recall": 0.0,
1133
+ "support": 0.0
1134
+ }
1135
+ }
1136
+ },
1137
+ "పాండురంగమాహాత్మ్యము": {
1138
+ "accuracy": 0.9817295980511571,
1139
+ "class_order": [
1140
+ "ఉత్పలమాల",
1141
+ "చంపకమాల",
1142
+ "మత్తేభము",
1143
+ "శార్దూలం",
1144
+ "ఆటవెలది",
1145
+ "తేటగీతి",
1146
+ "కందము",
1147
+ "సీసము"
1148
+ ],
1149
+ "confusion_matrix": [
1150
+ [
1151
+ 160,
1152
+ 1,
1153
+ 0,
1154
+ 0,
1155
+ 0,
1156
+ 0,
1157
+ 0,
1158
+ 0
1159
+ ],
1160
+ [
1161
+ 0,
1162
+ 94,
1163
+ 0,
1164
+ 0,
1165
+ 0,
1166
+ 0,
1167
+ 0,
1168
+ 0
1169
+ ],
1170
+ [
1171
+ 0,
1172
+ 0,
1173
+ 58,
1174
+ 0,
1175
+ 0,
1176
+ 0,
1177
+ 0,
1178
+ 0
1179
+ ],
1180
+ [
1181
+ 0,
1182
+ 0,
1183
+ 0,
1184
+ 74,
1185
+ 0,
1186
+ 0,
1187
+ 0,
1188
+ 0
1189
+ ],
1190
+ [
1191
+ 0,
1192
+ 0,
1193
+ 0,
1194
+ 0,
1195
+ 1,
1196
+ 6,
1197
+ 0,
1198
+ 0
1199
+ ],
1200
+ [
1201
+ 0,
1202
+ 0,
1203
+ 0,
1204
+ 0,
1205
+ 5,
1206
+ 115,
1207
+ 0,
1208
+ 1
1209
+ ],
1210
+ [
1211
+ 0,
1212
+ 0,
1213
+ 0,
1214
+ 0,
1215
+ 0,
1216
+ 0,
1217
+ 198,
1218
+ 0
1219
+ ],
1220
+ [
1221
+ 1,
1222
+ 0,
1223
+ 1,
1224
+ 0,
1225
+ 0,
1226
+ 0,
1227
+ 0,
1228
+ 106
1229
+ ]
1230
+ ],
1231
+ "cross_entropy": 0.05469725653529167,
1232
+ "macro_f1": 0.8837820868315399,
1233
+ "observations": 821,
1234
+ "per_class": {
1235
+ "accuracy": 0.9817295980511571,
1236
+ "macro avg": {
1237
+ "f1-score": 0.8837820868315399,
1238
+ "precision": 0.8842559308698211,
1239
+ "recall": 0.8835675834193621,
1240
+ "support": 821.0
1241
+ },
1242
+ "weighted avg": {
1243
+ "f1-score": 0.9812142086962924,
1244
+ "precision": 0.9807366581493374,
1245
+ "recall": 0.9817295980511571,
1246
+ "support": 821.0
1247
+ },
1248
+ "ఆటవెలది": {
1249
+ "f1-score": 0.15384615384615385,
1250
+ "precision": 0.16666666666666666,
1251
+ "recall": 0.14285714285714285,
1252
+ "support": 7.0
1253
+ },
1254
+ "ఉత్పలమాల": {
1255
+ "f1-score": 0.9937888198757764,
1256
+ "precision": 0.9937888198757764,
1257
+ "recall": 0.9937888198757764,
1258
+ "support": 161.0
1259
+ },
1260
+ "కందము": {
1261
+ "f1-score": 1.0,
1262
+ "precision": 1.0,
1263
+ "recall": 1.0,
1264
+ "support": 198.0
1265
+ },
1266
+ "చంపకమాల": {
1267
+ "f1-score": 0.9947089947089947,
1268
+ "precision": 0.9894736842105263,
1269
+ "recall": 1.0,
1270
+ "support": 94.0
1271
+ },
1272
+ "తేటగీతి": {
1273
+ "f1-score": 0.9504132231404959,
1274
+ "precision": 0.9504132231404959,
1275
+ "recall": 0.9504132231404959,
1276
+ "support": 121.0
1277
+ },
1278
+ "మత్తేభము": {
1279
+ "f1-score": 0.9914529914529915,
1280
+ "precision": 0.9830508474576272,
1281
+ "recall": 1.0,
1282
+ "support": 58.0
1283
+ },
1284
+ "శార్దూలం": {
1285
+ "f1-score": 1.0,
1286
+ "precision": 1.0,
1287
+ "recall": 1.0,
1288
+ "support": 74.0
1289
+ },
1290
+ "సీసము": {
1291
+ "f1-score": 0.986046511627907,
1292
+ "precision": 0.9906542056074766,
1293
+ "recall": 0.9814814814814815,
1294
+ "support": 108.0
1295
+ }
1296
+ }
1297
+ },
1298
+ "పార్థసారథిశతకము": {
1299
+ "accuracy": 1.0,
1300
+ "class_order": [
1301
+ "ఉత్పలమాల",
1302
+ "చంపకమాల",
1303
+ "మత్తేభము",
1304
+ "శార్దూలం",
1305
+ "ఆటవెలది",
1306
+ "తేటగీతి",
1307
+ "కందము",
1308
+ "సీసము"
1309
+ ],
1310
+ "confusion_matrix": [
1311
+ [
1312
+ 1,
1313
+ 0,
1314
+ 0,
1315
+ 0,
1316
+ 0,
1317
+ 0,
1318
+ 0,
1319
+ 0
1320
+ ],
1321
+ [
1322
+ 0,
1323
+ 0,
1324
+ 0,
1325
+ 0,
1326
+ 0,
1327
+ 0,
1328
+ 0,
1329
+ 0
1330
+ ],
1331
+ [
1332
+ 0,
1333
+ 0,
1334
+ 0,
1335
+ 0,
1336
+ 0,
1337
+ 0,
1338
+ 0,
1339
+ 0
1340
+ ],
1341
+ [
1342
+ 0,
1343
+ 0,
1344
+ 0,
1345
+ 0,
1346
+ 0,
1347
+ 0,
1348
+ 0,
1349
+ 0
1350
+ ],
1351
+ [
1352
+ 0,
1353
+ 0,
1354
+ 0,
1355
+ 0,
1356
+ 0,
1357
+ 0,
1358
+ 0,
1359
+ 0
1360
+ ],
1361
+ [
1362
+ 0,
1363
+ 0,
1364
+ 0,
1365
+ 0,
1366
+ 0,
1367
+ 0,
1368
+ 0,
1369
+ 0
1370
+ ],
1371
+ [
1372
+ 0,
1373
+ 0,
1374
+ 0,
1375
+ 0,
1376
+ 0,
1377
+ 0,
1378
+ 1,
1379
+ 0
1380
+ ],
1381
+ [
1382
+ 0,
1383
+ 0,
1384
+ 0,
1385
+ 0,
1386
+ 0,
1387
+ 0,
1388
+ 0,
1389
+ 0
1390
+ ]
1391
+ ],
1392
+ "cross_entropy": 3.6419573007151484e-05,
1393
+ "macro_f1": 0.25,
1394
+ "observations": 2,
1395
+ "per_class": {
1396
+ "accuracy": 1.0,
1397
+ "macro avg": {
1398
+ "f1-score": 0.25,
1399
+ "precision": 0.25,
1400
+ "recall": 0.25,
1401
+ "support": 2.0
1402
+ },
1403
+ "weighted avg": {
1404
+ "f1-score": 1.0,
1405
+ "precision": 1.0,
1406
+ "recall": 1.0,
1407
+ "support": 2.0
1408
+ },
1409
+ "ఆటవెలది": {
1410
+ "f1-score": 0.0,
1411
+ "precision": 0.0,
1412
+ "recall": 0.0,
1413
+ "support": 0.0
1414
+ },
1415
+ "ఉత్పలమాల": {
1416
+ "f1-score": 1.0,
1417
+ "precision": 1.0,
1418
+ "recall": 1.0,
1419
+ "support": 1.0
1420
+ },
1421
+ "కందము": {
1422
+ "f1-score": 1.0,
1423
+ "precision": 1.0,
1424
+ "recall": 1.0,
1425
+ "support": 1.0
1426
+ },
1427
+ "చంపకమాల": {
1428
+ "f1-score": 0.0,
1429
+ "precision": 0.0,
1430
+ "recall": 0.0,
1431
+ "support": 0.0
1432
+ },
1433
+ "తేటగీతి": {
1434
+ "f1-score": 0.0,
1435
+ "precision": 0.0,
1436
+ "recall": 0.0,
1437
+ "support": 0.0
1438
+ },
1439
+ "మత్తేభము": {
1440
+ "f1-score": 0.0,
1441
+ "precision": 0.0,
1442
+ "recall": 0.0,
1443
+ "support": 0.0
1444
+ },
1445
+ "శార్దూలం": {
1446
+ "f1-score": 0.0,
1447
+ "precision": 0.0,
1448
+ "recall": 0.0,
1449
+ "support": 0.0
1450
+ },
1451
+ "సీసము": {
1452
+ "f1-score": 0.0,
1453
+ "precision": 0.0,
1454
+ "recall": 0.0,
1455
+ "support": 0.0
1456
+ }
1457
+ }
1458
+ },
1459
+ "ప్రభావతీప్రద్యుమ్నము": {
1460
+ "accuracy": 0.9688073394495413,
1461
+ "class_order": [
1462
+ "ఉత్పలమాల",
1463
+ "చంపకమాల",
1464
+ "మత్తేభము",
1465
+ "శార్దూలం",
1466
+ "ఆటవెలది",
1467
+ "తేటగీతి",
1468
+ "కందము",
1469
+ "సీసము"
1470
+ ],
1471
+ "confusion_matrix": [
1472
+ [
1473
+ 77,
1474
+ 0,
1475
+ 0,
1476
+ 0,
1477
+ 0,
1478
+ 0,
1479
+ 0,
1480
+ 0
1481
+ ],
1482
+ [
1483
+ 0,
1484
+ 78,
1485
+ 0,
1486
+ 0,
1487
+ 0,
1488
+ 0,
1489
+ 0,
1490
+ 0
1491
+ ],
1492
+ [
1493
+ 0,
1494
+ 0,
1495
+ 22,
1496
+ 0,
1497
+ 0,
1498
+ 0,
1499
+ 0,
1500
+ 0
1501
+ ],
1502
+ [
1503
+ 0,
1504
+ 0,
1505
+ 0,
1506
+ 20,
1507
+ 0,
1508
+ 0,
1509
+ 0,
1510
+ 0
1511
+ ],
1512
+ [
1513
+ 0,
1514
+ 0,
1515
+ 0,
1516
+ 0,
1517
+ 20,
1518
+ 10,
1519
+ 0,
1520
+ 0
1521
+ ],
1522
+ [
1523
+ 0,
1524
+ 0,
1525
+ 0,
1526
+ 0,
1527
+ 6,
1528
+ 61,
1529
+ 0,
1530
+ 0
1531
+ ],
1532
+ [
1533
+ 0,
1534
+ 0,
1535
+ 0,
1536
+ 0,
1537
+ 0,
1538
+ 1,
1539
+ 187,
1540
+ 0
1541
+ ],
1542
+ [
1543
+ 0,
1544
+ 0,
1545
+ 0,
1546
+ 0,
1547
+ 0,
1548
+ 0,
1549
+ 0,
1550
+ 63
1551
+ ]
1552
+ ],
1553
+ "cross_entropy": 0.08157116174697876,
1554
+ "macro_f1": 0.9486646111682082,
1555
+ "observations": 545,
1556
+ "per_class": {
1557
+ "accuracy": 0.9688073394495413,
1558
+ "macro avg": {
1559
+ "f1-score": 0.9486646111682082,
1560
+ "precision": 0.9520566239316239,
1561
+ "recall": 0.9464744098655657,
1562
+ "support": 545.0
1563
+ },
1564
+ "weighted avg": {
1565
+ "f1-score": 0.9683174192493974,
1566
+ "precision": 0.9685152513134165,
1567
+ "recall": 0.9688073394495413,
1568
+ "support": 545.0
1569
+ },
1570
+ "ఆటవెలది": {
1571
+ "f1-score": 0.7142857142857143,
1572
+ "precision": 0.7692307692307693,
1573
+ "recall": 0.6666666666666666,
1574
+ "support": 30.0
1575
+ },
1576
+ "ఉత్పలమాల": {
1577
+ "f1-score": 1.0,
1578
+ "precision": 1.0,
1579
+ "recall": 1.0,
1580
+ "support": 77.0
1581
+ },
1582
+ "కందము": {
1583
+ "f1-score": 0.9973333333333333,
1584
+ "precision": 1.0,
1585
+ "recall": 0.9946808510638298,
1586
+ "support": 188.0
1587
+ },
1588
+ "చంపకమాల": {
1589
+ "f1-score": 1.0,
1590
+ "precision": 1.0,
1591
+ "recall": 1.0,
1592
+ "support": 78.0
1593
+ },
1594
+ "తేటగీతి": {
1595
+ "f1-score": 0.8776978417266187,
1596
+ "precision": 0.8472222222222222,
1597
+ "recall": 0.9104477611940298,
1598
+ "support": 67.0
1599
+ },
1600
+ "మత్తేభము": {
1601
+ "f1-score": 1.0,
1602
+ "precision": 1.0,
1603
+ "recall": 1.0,
1604
+ "support": 22.0
1605
+ },
1606
+ "శార్దూలం": {
1607
+ "f1-score": 1.0,
1608
+ "precision": 1.0,
1609
+ "recall": 1.0,
1610
+ "support": 20.0
1611
+ },
1612
+ "సీసము": {
1613
+ "f1-score": 1.0,
1614
+ "precision": 1.0,
1615
+ "recall": 1.0,
1616
+ "support": 63.0
1617
+ }
1618
+ }
1619
+ },
1620
+ "రాజశేఖరశతకము": {
1621
+ "accuracy": 1.0,
1622
+ "class_order": [
1623
+ "ఉత్పలమాల",
1624
+ "చంపకమాల",
1625
+ "మత్తేభము",
1626
+ "శార్దూలం",
1627
+ "ఆటవెలది",
1628
+ "తేటగీతి",
1629
+ "కందము",
1630
+ "సీసము"
1631
+ ],
1632
+ "confusion_matrix": [
1633
+ [
1634
+ 43,
1635
+ 0,
1636
+ 0,
1637
+ 0,
1638
+ 0,
1639
+ 0,
1640
+ 0,
1641
+ 0
1642
+ ],
1643
+ [
1644
+ 0,
1645
+ 54,
1646
+ 0,
1647
+ 0,
1648
+ 0,
1649
+ 0,
1650
+ 0,
1651
+ 0
1652
+ ],
1653
+ [
1654
+ 0,
1655
+ 0,
1656
+ 0,
1657
+ 0,
1658
+ 0,
1659
+ 0,
1660
+ 0,
1661
+ 0
1662
+ ],
1663
+ [
1664
+ 0,
1665
+ 0,
1666
+ 0,
1667
+ 0,
1668
+ 0,
1669
+ 0,
1670
+ 0,
1671
+ 0
1672
+ ],
1673
+ [
1674
+ 0,
1675
+ 0,
1676
+ 0,
1677
+ 0,
1678
+ 0,
1679
+ 0,
1680
+ 0,
1681
+ 0
1682
+ ],
1683
+ [
1684
+ 0,
1685
+ 0,
1686
+ 0,
1687
+ 0,
1688
+ 0,
1689
+ 0,
1690
+ 0,
1691
+ 0
1692
+ ],
1693
+ [
1694
+ 0,
1695
+ 0,
1696
+ 0,
1697
+ 0,
1698
+ 0,
1699
+ 0,
1700
+ 0,
1701
+ 0
1702
+ ],
1703
+ [
1704
+ 0,
1705
+ 0,
1706
+ 0,
1707
+ 0,
1708
+ 0,
1709
+ 0,
1710
+ 0,
1711
+ 0
1712
+ ]
1713
+ ],
1714
+ "cross_entropy": 0.010708725079894066,
1715
+ "macro_f1": 0.25,
1716
+ "observations": 97,
1717
+ "per_class": {
1718
+ "accuracy": 1.0,
1719
+ "macro avg": {
1720
+ "f1-score": 0.25,
1721
+ "precision": 0.25,
1722
+ "recall": 0.25,
1723
+ "support": 97.0
1724
+ },
1725
+ "weighted avg": {
1726
+ "f1-score": 1.0,
1727
+ "precision": 1.0,
1728
+ "recall": 1.0,
1729
+ "support": 97.0
1730
+ },
1731
+ "ఆటవెలది": {
1732
+ "f1-score": 0.0,
1733
+ "precision": 0.0,
1734
+ "recall": 0.0,
1735
+ "support": 0.0
1736
+ },
1737
+ "ఉత్పలమాల": {
1738
+ "f1-score": 1.0,
1739
+ "precision": 1.0,
1740
+ "recall": 1.0,
1741
+ "support": 43.0
1742
+ },
1743
+ "కందము": {
1744
+ "f1-score": 0.0,
1745
+ "precision": 0.0,
1746
+ "recall": 0.0,
1747
+ "support": 0.0
1748
+ },
1749
+ "చంపకమాల": {
1750
+ "f1-score": 1.0,
1751
+ "precision": 1.0,
1752
+ "recall": 1.0,
1753
+ "support": 54.0
1754
+ },
1755
+ "తేటగీతి": {
1756
+ "f1-score": 0.0,
1757
+ "precision": 0.0,
1758
+ "recall": 0.0,
1759
+ "support": 0.0
1760
+ },
1761
+ "మత్తేభము": {
1762
+ "f1-score": 0.0,
1763
+ "precision": 0.0,
1764
+ "recall": 0.0,
1765
+ "support": 0.0
1766
+ },
1767
+ "శార్దూలం": {
1768
+ "f1-score": 0.0,
1769
+ "precision": 0.0,
1770
+ "recall": 0.0,
1771
+ "support": 0.0
1772
+ },
1773
+ "సీసము": {
1774
+ "f1-score": 0.0,
1775
+ "precision": 0.0,
1776
+ "recall": 0.0,
1777
+ "support": 0.0
1778
+ }
1779
+ }
1780
+ },
1781
+ "శృంగారనైషధము": {
1782
+ "accuracy": 0.9823182711198428,
1783
+ "class_order": [
1784
+ "ఉత్పలమాల",
1785
+ "చంపకమాల",
1786
+ "మత్తేభము",
1787
+ "శార్దూలం",
1788
+ "ఆటవెలది",
1789
+ "తేటగీతి",
1790
+ "కందము",
1791
+ "సీసము"
1792
+ ],
1793
+ "confusion_matrix": [
1794
+ [
1795
+ 154,
1796
+ 0,
1797
+ 0,
1798
+ 0,
1799
+ 0,
1800
+ 0,
1801
+ 0,
1802
+ 0
1803
+ ],
1804
+ [
1805
+ 0,
1806
+ 81,
1807
+ 0,
1808
+ 0,
1809
+ 0,
1810
+ 0,
1811
+ 0,
1812
+ 0
1813
+ ],
1814
+ [
1815
+ 0,
1816
+ 0,
1817
+ 83,
1818
+ 0,
1819
+ 0,
1820
+ 0,
1821
+ 0,
1822
+ 0
1823
+ ],
1824
+ [
1825
+ 0,
1826
+ 0,
1827
+ 0,
1828
+ 58,
1829
+ 0,
1830
+ 0,
1831
+ 0,
1832
+ 0
1833
+ ],
1834
+ [
1835
+ 0,
1836
+ 0,
1837
+ 0,
1838
+ 0,
1839
+ 5,
1840
+ 7,
1841
+ 0,
1842
+ 0
1843
+ ],
1844
+ [
1845
+ 0,
1846
+ 0,
1847
+ 0,
1848
+ 0,
1849
+ 7,
1850
+ 333,
1851
+ 0,
1852
+ 4
1853
+ ],
1854
+ [
1855
+ 0,
1856
+ 0,
1857
+ 0,
1858
+ 0,
1859
+ 0,
1860
+ 0,
1861
+ 169,
1862
+ 0
1863
+ ],
1864
+ [
1865
+ 0,
1866
+ 0,
1867
+ 0,
1868
+ 0,
1869
+ 0,
1870
+ 0,
1871
+ 0,
1872
+ 117
1873
+ ]
1874
+ ],
1875
+ "cross_entropy": 0.04816024750471115,
1876
+ "macro_f1": 0.9216930193129884,
1877
+ "observations": 1018,
1878
+ "per_class": {
1879
+ "accuracy": 0.9823182711198428,
1880
+ "macro avg": {
1881
+ "f1-score": 0.9216930193129884,
1882
+ "precision": 0.9203775725166099,
1883
+ "recall": 0.9230862403100775,
1884
+ "support": 1018.0
1885
+ },
1886
+ "weighted avg": {
1887
+ "f1-score": 0.9822995892597551,
1888
+ "precision": 0.9823672676461515,
1889
+ "recall": 0.9823182711198428,
1890
+ "support": 1018.0
1891
+ },
1892
+ "ఆటవెలది": {
1893
+ "f1-score": 0.4166666666666667,
1894
+ "precision": 0.4166666666666667,
1895
+ "recall": 0.4166666666666667,
1896
+ "support": 12.0
1897
+ },
1898
+ "ఉత్పలమాల": {
1899
+ "f1-score": 1.0,
1900
+ "precision": 1.0,
1901
+ "recall": 1.0,
1902
+ "support": 154.0
1903
+ },
1904
+ "కందము": {
1905
+ "f1-score": 1.0,
1906
+ "precision": 1.0,
1907
+ "recall": 1.0,
1908
+ "support": 169.0
1909
+ },
1910
+ "చంపకమాల": {
1911
+ "f1-score": 1.0,
1912
+ "precision": 1.0,
1913
+ "recall": 1.0,
1914
+ "support": 81.0
1915
+ },
1916
+ "తేటగీతి": {
1917
+ "f1-score": 0.9736842105263158,
1918
+ "precision": 0.9794117647058823,
1919
+ "recall": 0.9680232558139535,
1920
+ "support": 344.0
1921
+ },
1922
+ "మత్తేభము": {
1923
+ "f1-score": 1.0,
1924
+ "precision": 1.0,
1925
+ "recall": 1.0,
1926
+ "support": 83.0
1927
+ },
1928
+ "శార్దూలం": {
1929
+ "f1-score": 1.0,
1930
+ "precision": 1.0,
1931
+ "recall": 1.0,
1932
+ "support": 58.0
1933
+ },
1934
+ "సీసము": {
1935
+ "f1-score": 0.9831932773109243,
1936
+ "precision": 0.9669421487603306,
1937
+ "recall": 1.0,
1938
+ "support": 117.0
1939
+ }
1940
+ }
1941
+ },
1942
+ "శ్రీకాళహస్తిమాహాత్మ్య��ు": {
1943
+ "accuracy": 0.9791976225854383,
1944
+ "class_order": [
1945
+ "ఉత్పలమాల",
1946
+ "చంపకమాల",
1947
+ "మత్తేభము",
1948
+ "శార్దూలం",
1949
+ "ఆటవెలది",
1950
+ "తేటగీతి",
1951
+ "కందము",
1952
+ "సీసము"
1953
+ ],
1954
+ "confusion_matrix": [
1955
+ [
1956
+ 113,
1957
+ 0,
1958
+ 0,
1959
+ 0,
1960
+ 0,
1961
+ 0,
1962
+ 0,
1963
+ 0
1964
+ ],
1965
+ [
1966
+ 1,
1967
+ 51,
1968
+ 0,
1969
+ 0,
1970
+ 0,
1971
+ 0,
1972
+ 0,
1973
+ 0
1974
+ ],
1975
+ [
1976
+ 0,
1977
+ 0,
1978
+ 61,
1979
+ 0,
1980
+ 0,
1981
+ 0,
1982
+ 0,
1983
+ 0
1984
+ ],
1985
+ [
1986
+ 1,
1987
+ 0,
1988
+ 0,
1989
+ 94,
1990
+ 0,
1991
+ 0,
1992
+ 0,
1993
+ 0
1994
+ ],
1995
+ [
1996
+ 0,
1997
+ 0,
1998
+ 0,
1999
+ 0,
2000
+ 10,
2001
+ 5,
2002
+ 0,
2003
+ 0
2004
+ ],
2005
+ [
2006
+ 0,
2007
+ 0,
2008
+ 0,
2009
+ 0,
2010
+ 3,
2011
+ 41,
2012
+ 0,
2013
+ 1
2014
+ ],
2015
+ [
2016
+ 0,
2017
+ 0,
2018
+ 0,
2019
+ 0,
2020
+ 0,
2021
+ 0,
2022
+ 212,
2023
+ 0
2024
+ ],
2025
+ [
2026
+ 0,
2027
+ 0,
2028
+ 0,
2029
+ 0,
2030
+ 0,
2031
+ 3,
2032
+ 0,
2033
+ 77
2034
+ ]
2035
+ ],
2036
+ "cross_entropy": 0.07342611253261566,
2037
+ "macro_f1": 0.9421922513927228,
2038
+ "observations": 673,
2039
+ "per_class": {
2040
+ "accuracy": 0.9791976225854383,
2041
+ "macro avg": {
2042
+ "f1-score": 0.9421922513927228,
2043
+ "precision": 0.9469692057424977,
2044
+ "recall": 0.9388150865946918,
2045
+ "support": 673.0
2046
+ },
2047
+ "weighted avg": {
2048
+ "f1-score": 0.9791167317470618,
2049
+ "precision": 0.9794957865468142,
2050
+ "recall": 0.9791976225854383,
2051
+ "support": 673.0
2052
+ },
2053
+ "ఆటవెలది": {
2054
+ "f1-score": 0.7142857142857143,
2055
+ "precision": 0.7692307692307693,
2056
+ "recall": 0.6666666666666666,
2057
+ "support": 15.0
2058
+ },
2059
+ "ఉత్పలమాల": {
2060
+ "f1-score": 0.9912280701754386,
2061
+ "precision": 0.9826086956521739,
2062
+ "recall": 1.0,
2063
+ "support": 113.0
2064
+ },
2065
+ "కందము": {
2066
+ "f1-score": 1.0,
2067
+ "precision": 1.0,
2068
+ "recall": 1.0,
2069
+ "support": 212.0
2070
+ },
2071
+ "చంపకమాల": {
2072
+ "f1-score": 0.9902912621359223,
2073
+ "precision": 1.0,
2074
+ "recall": 0.9807692307692307,
2075
+ "support": 52.0
2076
+ },
2077
+ "తేటగీతి": {
2078
+ "f1-score": 0.8723404255319149,
2079
+ "precision": 0.8367346938775511,
2080
+ "recall": 0.9111111111111111,
2081
+ "support": 45.0
2082
+ },
2083
+ "మత్తేభము": {
2084
+ "f1-score": 1.0,
2085
+ "precision": 1.0,
2086
+ "recall": 1.0,
2087
+ "support": 61.0
2088
+ },
2089
+ "శార్దూలం": {
2090
+ "f1-score": 0.9947089947089947,
2091
+ "precision": 1.0,
2092
+ "recall": 0.9894736842105263,
2093
+ "support": 95.0
2094
+ },
2095
+ "సీసము": {
2096
+ "f1-score": 0.9746835443037974,
2097
+ "precision": 0.9871794871794872,
2098
+ "recall": 0.9625,
2099
+ "support": 80.0
2100
+ }
2101
+ }
2102
+ },
2103
+ "సీతాపతిశతకము": {
2104
+ "accuracy": 0.9905660377358491,
2105
+ "class_order": [
2106
+ "ఉత్పలమాల",
2107
+ "చంపకమాల",
2108
+ "మత్తేభము",
2109
+ "శార్దూలం",
2110
+ "ఆటవెలది",
2111
+ "తేటగీతి",
2112
+ "కందము",
2113
+ "సీసము"
2114
+ ],
2115
+ "confusion_matrix": [
2116
+ [
2117
+ 0,
2118
+ 0,
2119
+ 0,
2120
+ 0,
2121
+ 0,
2122
+ 0,
2123
+ 0,
2124
+ 0
2125
+ ],
2126
+ [
2127
+ 0,
2128
+ 0,
2129
+ 0,
2130
+ 0,
2131
+ 0,
2132
+ 0,
2133
+ 0,
2134
+ 0
2135
+ ],
2136
+ [
2137
+ 0,
2138
+ 0,
2139
+ 72,
2140
+ 0,
2141
+ 0,
2142
+ 0,
2143
+ 0,
2144
+ 1
2145
+ ],
2146
+ [
2147
+ 0,
2148
+ 0,
2149
+ 0,
2150
+ 33,
2151
+ 0,
2152
+ 0,
2153
+ 0,
2154
+ 0
2155
+ ],
2156
+ [
2157
+ 0,
2158
+ 0,
2159
+ 0,
2160
+ 0,
2161
+ 0,
2162
+ 0,
2163
+ 0,
2164
+ 0
2165
+ ],
2166
+ [
2167
+ 0,
2168
+ 0,
2169
+ 0,
2170
+ 0,
2171
+ 0,
2172
+ 0,
2173
+ 0,
2174
+ 0
2175
+ ],
2176
+ [
2177
+ 0,
2178
+ 0,
2179
+ 0,
2180
+ 0,
2181
+ 0,
2182
+ 0,
2183
+ 0,
2184
+ 0
2185
+ ],
2186
+ [
2187
+ 0,
2188
+ 0,
2189
+ 0,
2190
+ 0,
2191
+ 0,
2192
+ 0,
2193
+ 0,
2194
+ 0
2195
+ ]
2196
+ ],
2197
+ "cross_entropy": 0.028355775400996208,
2198
+ "macro_f1": 0.24913793103448276,
2199
+ "observations": 106,
2200
+ "per_class": {
2201
+ "accuracy": 0.9905660377358491,
2202
+ "macro avg": {
2203
+ "f1-score": 0.24913793103448276,
2204
+ "precision": 0.25,
2205
+ "recall": 0.2482876712328767,
2206
+ "support": 106.0
2207
+ },
2208
+ "weighted avg": {
2209
+ "f1-score": 0.9952504879635654,
2210
+ "precision": 1.0,
2211
+ "recall": 0.9905660377358491,
2212
+ "support": 106.0
2213
+ },
2214
+ "ఆటవెలది": {
2215
+ "f1-score": 0.0,
2216
+ "precision": 0.0,
2217
+ "recall": 0.0,
2218
+ "support": 0.0
2219
+ },
2220
+ "ఉత్పలమాల": {
2221
+ "f1-score": 0.0,
2222
+ "precision": 0.0,
2223
+ "recall": 0.0,
2224
+ "support": 0.0
2225
+ },
2226
+ "కందము": {
2227
+ "f1-score": 0.0,
2228
+ "precision": 0.0,
2229
+ "recall": 0.0,
2230
+ "support": 0.0
2231
+ },
2232
+ "చంపకమాల": {
2233
+ "f1-score": 0.0,
2234
+ "precision": 0.0,
2235
+ "recall": 0.0,
2236
+ "support": 0.0
2237
+ },
2238
+ "తేటగీతి": {
2239
+ "f1-score": 0.0,
2240
+ "precision": 0.0,
2241
+ "recall": 0.0,
2242
+ "support": 0.0
2243
+ },
2244
+ "మత్తేభము": {
2245
+ "f1-score": 0.993103448275862,
2246
+ "precision": 1.0,
2247
+ "recall": 0.9863013698630136,
2248
+ "support": 73.0
2249
+ },
2250
+ "శార్దూలం": {
2251
+ "f1-score": 1.0,
2252
+ "precision": 1.0,
2253
+ "recall": 1.0,
2254
+ "support": 33.0
2255
+ },
2256
+ "సీసము": {
2257
+ "f1-score": 0.0,
2258
+ "precision": 0.0,
2259
+ "recall": 0.0,
2260
+ "support": 0.0
2261
+ }
2262
+ }
2263
+ },
2264
+ "హరవిలాసము": {
2265
+ "accuracy": 0.9897959183673469,
2266
+ "class_order": [
2267
+ "ఉత్పలమాల",
2268
+ "చంపకమాల",
2269
+ "మత్తేభము",
2270
+ "శార్దూలం",
2271
+ "ఆటవెలది",
2272
+ "తేటగీతి",
2273
+ "కందము",
2274
+ "సీసము"
2275
+ ],
2276
+ "confusion_matrix": [
2277
+ [
2278
+ 62,
2279
+ 0,
2280
+ 0,
2281
+ 0,
2282
+ 0,
2283
+ 0,
2284
+ 0,
2285
+ 0
2286
+ ],
2287
+ [
2288
+ 0,
2289
+ 30,
2290
+ 0,
2291
+ 0,
2292
+ 0,
2293
+ 0,
2294
+ 0,
2295
+ 0
2296
+ ],
2297
+ [
2298
+ 0,
2299
+ 0,
2300
+ 32,
2301
+ 0,
2302
+ 0,
2303
+ 0,
2304
+ 0,
2305
+ 0
2306
+ ],
2307
+ [
2308
+ 0,
2309
+ 0,
2310
+ 0,
2311
+ 43,
2312
+ 0,
2313
+ 0,
2314
+ 0,
2315
+ 0
2316
+ ],
2317
+ [
2318
+ 0,
2319
+ 0,
2320
+ 0,
2321
+ 0,
2322
+ 1,
2323
+ 0,
2324
+ 0,
2325
+ 0
2326
+ ],
2327
+ [
2328
+ 0,
2329
+ 0,
2330
+ 0,
2331
+ 0,
2332
+ 2,
2333
+ 13,
2334
+ 0,
2335
+ 0
2336
+ ],
2337
+ [
2338
+ 0,
2339
+ 0,
2340
+ 0,
2341
+ 0,
2342
+ 0,
2343
+ 0,
2344
+ 6,
2345
+ 0
2346
+ ],
2347
+ [
2348
+ 0,
2349
+ 0,
2350
+ 0,
2351
+ 0,
2352
+ 0,
2353
+ 0,
2354
+ 0,
2355
+ 7
2356
+ ]
2357
+ ],
2358
+ "cross_entropy": 0.025422723963856697,
2359
+ "macro_f1": 0.9285714285714286,
2360
+ "observations": 196,
2361
+ "per_class": {
2362
+ "accuracy": 0.9897959183673469,
2363
+ "macro avg": {
2364
+ "f1-score": 0.9285714285714286,
2365
+ "precision": 0.9166666666666666,
2366
+ "recall": 0.9833333333333334,
2367
+ "support": 196.0
2368
+ },
2369
+ "weighted avg": {
2370
+ "f1-score": 0.9919825072886298,
2371
+ "precision": 0.9965986394557823,
2372
+ "recall": 0.9897959183673469,
2373
+ "support": 196.0
2374
+ },
2375
+ "ఆటవెలది": {
2376
+ "f1-score": 0.5,
2377
+ "precision": 0.3333333333333333,
2378
+ "recall": 1.0,
2379
+ "support": 1.0
2380
+ },
2381
+ "ఉత్పలమాల": {
2382
+ "f1-score": 1.0,
2383
+ "precision": 1.0,
2384
+ "recall": 1.0,
2385
+ "support": 62.0
2386
+ },
2387
+ "కందము": {
2388
+ "f1-score": 1.0,
2389
+ "precision": 1.0,
2390
+ "recall": 1.0,
2391
+ "support": 6.0
2392
+ },
2393
+ "చంపకమాల": {
2394
+ "f1-score": 1.0,
2395
+ "precision": 1.0,
2396
+ "recall": 1.0,
2397
+ "support": 30.0
2398
+ },
2399
+ "తేటగీతి": {
2400
+ "f1-score": 0.9285714285714286,
2401
+ "precision": 1.0,
2402
+ "recall": 0.8666666666666667,
2403
+ "support": 15.0
2404
+ },
2405
+ "మత్తేభము": {
2406
+ "f1-score": 1.0,
2407
+ "precision": 1.0,
2408
+ "recall": 1.0,
2409
+ "support": 32.0
2410
+ },
2411
+ "శార్దూలం": {
2412
+ "f1-score": 1.0,
2413
+ "precision": 1.0,
2414
+ "recall": 1.0,
2415
+ "support": 43.0
2416
+ },
2417
+ "సీసము": {
2418
+ "f1-score": 1.0,
2419
+ "precision": 1.0,
2420
+ "recall": 1.0,
2421
+ "support": 7.0
2422
+ }
2423
+ }
2424
+ }
2425
+ },
2426
+ "poem": {
2427
+ "accuracy": 0.9789852328663385,
2428
+ "class_order": [
2429
+ "ఉత్పలమాల",
2430
+ "చంపకమాల",
2431
+ "మత్తేభము",
2432
+ "శార్దూలం",
2433
+ "ఆటవెలది",
2434
+ "తేటగీతి",
2435
+ "కందము",
2436
+ "సీసము"
2437
+ ],
2438
+ "confusion_matrix": [
2439
+ [
2440
+ 994,
2441
+ 2,
2442
+ 0,
2443
+ 0,
2444
+ 0,
2445
+ 0,
2446
+ 0,
2447
+ 0
2448
+ ],
2449
+ [
2450
+ 1,
2451
+ 756,
2452
+ 1,
2453
+ 0,
2454
+ 0,
2455
+ 0,
2456
+ 1,
2457
+ 0
2458
+ ],
2459
+ [
2460
+ 0,
2461
+ 0,
2462
+ 732,
2463
+ 0,
2464
+ 0,
2465
+ 0,
2466
+ 0,
2467
+ 1
2468
+ ],
2469
+ [
2470
+ 1,
2471
+ 0,
2472
+ 0,
2473
+ 464,
2474
+ 0,
2475
+ 0,
2476
+ 0,
2477
+ 0
2478
+ ],
2479
+ [
2480
+ 0,
2481
+ 0,
2482
+ 0,
2483
+ 0,
2484
+ 95,
2485
+ 57,
2486
+ 0,
2487
+ 0
2488
+ ],
2489
+ [
2490
+ 0,
2491
+ 0,
2492
+ 0,
2493
+ 0,
2494
+ 27,
2495
+ 603,
2496
+ 4,
2497
+ 6
2498
+ ],
2499
+ [
2500
+ 0,
2501
+ 0,
2502
+ 0,
2503
+ 1,
2504
+ 0,
2505
+ 2,
2506
+ 1068,
2507
+ 0
2508
+ ],
2509
+ [
2510
+ 1,
2511
+ 0,
2512
+ 1,
2513
+ 0,
2514
+ 0,
2515
+ 5,
2516
+ 0,
2517
+ 459
2518
+ ]
2519
+ ],
2520
+ "cross_entropy": 0.0616019144654274,
2521
+ "macro_f1": 0.9484251702907207,
2522
+ "observations": 5282,
2523
+ "per_class": {
2524
+ "accuracy": 0.9789852328663385,
2525
+ "macro avg": {
2526
+ "f1-score": 0.9484251702907207,
2527
+ "precision": 0.9565665407931538,
2528
+ "recall": 0.9424861906139064,
2529
+ "support": 5282.0
2530
+ },
2531
+ "weighted avg": {
2532
+ "f1-score": 0.9783129588908124,
2533
+ "precision": 0.978221085829263,
2534
+ "recall": 0.9789852328663385,
2535
+ "support": 5282.0
2536
+ },
2537
+ "ఆటవెలది": {
2538
+ "f1-score": 0.6934306569343066,
2539
+ "precision": 0.7786885245901639,
2540
+ "recall": 0.625,
2541
+ "support": 152.0
2542
+ },
2543
+ "ఉత్పలమాల": {
2544
+ "f1-score": 0.997491219267436,
2545
+ "precision": 0.9969909729187563,
2546
+ "recall": 0.9979919678714859,
2547
+ "support": 996.0
2548
+ },
2549
+ "కందము": {
2550
+ "f1-score": 0.996268656716418,
2551
+ "precision": 0.9953401677539608,
2552
+ "recall": 0.9971988795518207,
2553
+ "support": 1071.0
2554
+ },
2555
+ "చంపకమాల": {
2556
+ "f1-score": 0.996704021094265,
2557
+ "precision": 0.9973614775725593,
2558
+ "recall": 0.9960474308300395,
2559
+ "support": 759.0
2560
+ },
2561
+ "తేటగీతి": {
2562
+ "f1-score": 0.9227237949502678,
2563
+ "precision": 0.904047976011994,
2564
+ "recall": 0.9421875,
2565
+ "support": 640.0
2566
+ },
2567
+ "మత్తేభము": {
2568
+ "f1-score": 0.9979550102249489,
2569
+ "precision": 0.997275204359673,
2570
+ "recall": 0.9986357435197817,
2571
+ "support": 733.0
2572
+ },
2573
+ "శార్దూలం": {
2574
+ "f1-score": 0.9978494623655914,
2575
+ "precision": 0.9978494623655914,
2576
+ "recall": 0.9978494623655914,
2577
+ "support": 465.0
2578
+ },
2579
+ "సీసము": {
2580
+ "f1-score": 0.9849785407725322,
2581
+ "precision": 0.9849785407725322,
2582
+ "recall": 0.9849785407725322,
2583
+ "support": 466.0
2584
+ }
2585
+ }
2586
+ },
2587
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
2588
+ "scope": "Historical v2 benchmark plus new-label held-out works; source annotations, not expert gold; no claim of blind historical test, calibration, rule verification or unseen-author generalization",
2589
+ "selected_before_test": true
2590
+ }
cnn-eight-class/export_verification.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "complete_test_confusion_matrix_preserved": true,
3
+ "project_required_by_hf_loader": false,
4
+ "root_and_subfolder_exact_logits": true,
5
+ "test_accuracy": 0.9789852328663385,
6
+ "test_macro_f1": 0.9484251702907207,
7
+ "test_poems": 5282,
8
+ "validation_used_for_selection": true,
9
+ "weight_sha256": "cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb",
10
+ "weights_unchanged": true
11
+ }
cnn-eight-class/hf_poem.py ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Standalone Transformers loading for the ordered eight-class poem CNN.
2
+
3
+ Copyright 2026 Pranav Surampudi. SPDX-License-Identifier: LicenseRef-Chandassu-Citation
4
+ Depends only on PyTorch, Transformers and the standard library.
5
+ """
6
+
7
+ import json
8
+ import shutil
9
+ import unicodedata
10
+ from pathlib import Path
11
+
12
+ import torch
13
+ from torch import nn
14
+ from transformers import BatchEncoding, PretrainedConfig, PreTrainedModel, PreTrainedTokenizer
15
+ from transformers.modeling_outputs import SequenceClassifierOutput
16
+
17
+ LABELS = ["ఉత్పలమాల", "చంపకమాల", "మత్తేభము", "శార్దూలం", "ఆటవెలది", "తేటగీతి", "కందము", "సీసము"]
18
+
19
+
20
+ class ChandassuPoemCNNConfig(PretrainedConfig):
21
+ model_type = "chandassu_poem_cnn"
22
+
23
+ def __init__(self, vocab_size=2, width=64, kernel_sizes=None, dropout=0.2, labels=None, max_tokens=512, **kwargs):
24
+ labels = LABELS if labels is None else labels
25
+ if labels != LABELS:
26
+ raise ValueError("Requires the eight trained labels in their saved order")
27
+ kwargs.setdefault("id2label", dict(enumerate(labels)))
28
+ kwargs.setdefault("label2id", {label: i for i, label in enumerate(labels)})
29
+ kwargs.setdefault("pad_token_id", 0)
30
+ super().__init__(**kwargs)
31
+ self.labels = labels
32
+ self.vocab_size = vocab_size
33
+ self.width = width
34
+ self.kernel_sizes = kernel_sizes or [3, 5, 7]
35
+ self.dropout = dropout
36
+ self.max_tokens = max_tokens
37
+ self.architecture = "ordered_poem_cnn_v1"
38
+ self.calibrated = False
39
+ self.prediction_unit = "poem"
40
+ self.temperature = 1.0
41
+
42
+
43
+ def normalize(text):
44
+ return " ".join(unicodedata.normalize("NFC", text).replace("\ufeff", "").split())
45
+
46
+
47
+ class ChandassuPoemTokenizer(PreTrainedTokenizer):
48
+ """Whole-poem tokenizer: tensors have shape [batch, 4 ordered padas, tokens].
49
+
50
+ Pass one newline-separated poem string or a batch of complete poem strings.
51
+ Four full padas, eight Seesamu body half-lines, and 8+4 Seesamu layouts are
52
+ supported. In the latter case only the first eight body half-lines are used.
53
+ """
54
+
55
+ vocab_files_names = {"vocabulary_file": "vocabulary.json"}
56
+ model_input_names = ["input_ids", "attention_mask"]
57
+
58
+ def __init__(self, vocabulary_file, **kwargs):
59
+ self.vocabulary_file = str(vocabulary_file)
60
+ saved = json.loads(Path(vocabulary_file).read_text())
61
+ if (
62
+ not saved
63
+ or any(not isinstance(c, str) or len(c) != 1 for c in saved)
64
+ or any(type(i) is not int for i in saved.values())
65
+ or sorted(saved.values()) != list(range(2, len(saved) + 2))
66
+ ):
67
+ raise ValueError("Invalid character vocabulary")
68
+ self.tokens = {"[PAD]": 0, "[UNK]": 1, **saved}
69
+ self.reverse_tokens = {i: c for c, i in self.tokens.items()}
70
+ self.limit = kwargs.get("model_max_length", 512)
71
+ kwargs.setdefault("model_max_length", self.limit)
72
+ kwargs.setdefault("pad_token", "[PAD]")
73
+ kwargs.setdefault("unk_token", "[UNK]")
74
+ kwargs.setdefault("padding_side", "right")
75
+ super().__init__(**kwargs)
76
+
77
+ @property
78
+ def vocab_size(self):
79
+ return len(self.tokens)
80
+
81
+ def get_vocab(self):
82
+ return dict(self.tokens, **self.added_tokens_encoder)
83
+
84
+ def tokenize(self, text, **kwargs):
85
+ text = normalize(text)
86
+ if not text or len(text) > self.limit:
87
+ raise ValueError(f"Pada length outside 1..{self.limit}; no truncation")
88
+ return list(text)
89
+
90
+ def _tokenize(self, text):
91
+ return self.tokenize(text)
92
+
93
+ def _convert_token_to_id(self, token):
94
+ return self.tokens.get(token, 1)
95
+
96
+ def _convert_id_to_token(self, index):
97
+ return self.reverse_tokens.get(index, "[UNK]")
98
+
99
+ def convert_tokens_to_string(self, tokens):
100
+ return "".join(tokens)
101
+
102
+ def __call__(
103
+ self, text, text_pair=None, padding=True, truncation=False, max_length=None, return_tensors="pt", **kwargs
104
+ ):
105
+ if text_pair is not None:
106
+ raise ValueError("Text pairs are unsupported; supply a complete poem")
107
+ if truncation not in (None, False, "do_not_truncate"):
108
+ raise ValueError("Truncation is unsupported; supply complete padas")
109
+ if return_tensors not in (None, "pt"):
110
+ raise ValueError("Use return_tensors='pt' or None")
111
+ if kwargs.get("is_split_into_words") or kwargs.get("stride") or kwargs.get("return_overflowing_tokens"):
112
+ raise ValueError("Split words, stride and overflowing chunks cannot represent a complete poem")
113
+ if self.padding_side != "right" or kwargs.get("padding_side", "right") != "right":
114
+ raise ValueError("The trained CNN requires right padding")
115
+ poems = [text] if isinstance(text, str) else text
116
+ if not isinstance(poems, (list, tuple)) or not poems or any(not isinstance(p, str) for p in poems):
117
+ raise ValueError("Supply a poem string or a list of complete poem strings")
118
+ encoded = []
119
+ for poem in poems:
120
+ lines = [normalize(t) for t in poem.splitlines() if normalize(t)]
121
+ if len(lines) not in {4, 8, 12}:
122
+ raise ValueError(
123
+ "Supply four full ordered padas, or eight Seesamu body half-lines "
124
+ "optionally followed by four closing geeti lines"
125
+ )
126
+ if len(lines) != 4:
127
+ lines = [" ".join(lines[i : i + 2]) for i in range(0, 8, 2)]
128
+ encoded.append([[self.tokens.get(c, 1) for c in self.tokenize(line)] for line in lines])
129
+ longest = max(len(line) for poem in encoded for line in poem)
130
+ if max_length is not None and (type(max_length) is not int or max_length < longest):
131
+ raise ValueError("max_length cannot truncate a complete pada")
132
+ if padding in {False, None, "do_not_pad"}:
133
+ if return_tensors is not None and any(len(line) != longest for poem in encoded for line in poem):
134
+ raise ValueError("Use padding=True for mixed-length padas in a tensor batch")
135
+ length = None
136
+ elif padding in {True, "longest", "max_length"}:
137
+ length = (max_length or self.limit) if padding == "max_length" else longest
138
+ else:
139
+ raise ValueError("Unsupported padding mode")
140
+ if length is not None:
141
+ encoded = [[line + [0] * (length - len(line)) for line in poem] for poem in encoded]
142
+ masks = [[[int(t != 0) for t in line] for line in poem] for poem in encoded]
143
+ output = {"input_ids": encoded, "attention_mask": masks}
144
+ if return_tensors == "pt":
145
+ output = {k: torch.tensor(v, dtype=torch.long) for k, v in output.items()}
146
+ return BatchEncoding(output)
147
+
148
+ def encode(self, text, **kwargs):
149
+ return self(text, **dict(kwargs, return_tensors=None))["input_ids"][0]
150
+
151
+ def save_vocabulary(self, save_directory, filename_prefix=None):
152
+ path = Path(save_directory) / ((filename_prefix + "-" if filename_prefix else "") + "vocabulary.json")
153
+ if path.resolve() != Path(self.vocabulary_file).resolve():
154
+ shutil.copyfile(self.vocabulary_file, path)
155
+ return (str(path),)
156
+
157
+
158
+ class ChandassuPoemCNNForSequenceClassification(PreTrainedModel):
159
+ """One uncalibrated eight-class logit vector per complete poem."""
160
+
161
+ config_class = ChandassuPoemCNNConfig
162
+
163
+ def __init__(self, config):
164
+ super().__init__(config)
165
+ self.embedding = nn.Embedding(config.vocab_size, config.width, padding_idx=0)
166
+ self.dropout = nn.Dropout(config.dropout)
167
+ self.convolutions = nn.ModuleList(
168
+ [nn.Conv1d(config.width, config.width, k, padding=k // 2) for k in config.kernel_sizes]
169
+ )
170
+ features = 2 * config.width * len(config.kernel_sizes)
171
+ self.classifier = nn.Sequential(
172
+ nn.Linear(4 * features, 128), nn.ReLU(), nn.Dropout(config.dropout), nn.Linear(128, len(config.labels))
173
+ )
174
+ self.post_init()
175
+
176
+ def forward(self, input_ids, attention_mask=None, labels=None, return_dict=None, **kwargs):
177
+ if input_ids.ndim != 3 or input_ids.shape[1] != 4:
178
+ raise ValueError("Expected [batch, 4 ordered padas, tokens]; tokenize complete poems")
179
+ valid = input_ids.ne(0)
180
+ if not valid.any(2).all():
181
+ raise ValueError("Empty pada")
182
+ if attention_mask is not None and not torch.equal(attention_mask.bool(), valid):
183
+ raise ValueError("Attention mask must match non-padding token IDs")
184
+ batch = input_ids.shape[0]
185
+ flat = input_ids.reshape(-1, input_ids.shape[-1])
186
+ mask = flat.ne(0)
187
+ x = self.dropout(self.embedding(flat).masked_fill(~mask.unsqueeze(-1), 0)).transpose(1, 2)
188
+ features = []
189
+ for conv in self.convolutions:
190
+ h = torch.relu(conv(x))
191
+ maximum = h.masked_fill(~mask.unsqueeze(1), float("-inf")).amax(2)
192
+ mean = h.masked_fill(~mask.unsqueeze(1), 0).sum(2) / mask.sum(1, keepdim=True)
193
+ features.extend([maximum, mean])
194
+ logits = self.classifier(self.dropout(torch.cat(features, 1).reshape(batch, -1)))
195
+ loss = nn.functional.cross_entropy(logits, labels) if labels is not None else None
196
+ if return_dict is False or (return_dict is None and not self.config.use_return_dict):
197
+ return (loss, logits) if loss is not None else (logits,)
198
+ return SequenceClassifierOutput(loss=loss, logits=logits)
cnn-eight-class/learning_curves.png ADDED
cnn-eight-class/manifest.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": {
3
+ "config.json": "d56b49a05f27342b5ffa9d64f7f027ab5577bf2e0c02b7f23a7206d5cb7dd226",
4
+ "hf_poem.py": "685586f749074598d619d29c1d1262c30c3d69a00ac39d1f7539e5423d627a23",
5
+ "metadata.json": "7ea85e4fae87b5a4dc795f448fc48c84b67bcbaf6995cb5def3a6f13d3af6473",
6
+ "model.safetensors": "cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb",
7
+ "tokenizer_config.json": "7a8ae5c27b87d81efacd44f49195cb0840bb0eccb41d73f14c360aa9a0bfbfd8",
8
+ "vocabulary.json": "650d957aa33d5e39a0a4cdd8c024002519f029ab183a944156132b24363a7b51"
9
+ }
10
+ }
cnn-eight-class/metadata.json ADDED
@@ -0,0 +1,2884 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "result.json": {
3
+ "calibrated": false,
4
+ "checkpoint_sha256": "903ff6f991ef20df7600fc5b93ff8608079c0864b38915c0f6d312b6cdfc29b5",
5
+ "epochs_run": 19,
6
+ "parameter_count": 266056,
7
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
8
+ "selected_epoch": 11,
9
+ "selection_metrics": {
10
+ "accuracy": 0.8378116678770273,
11
+ "class_order": [
12
+ "ఉత్పలమాల",
13
+ "చంపకమాల",
14
+ "మత్తేభము",
15
+ "శార్దూలం",
16
+ "ఆటవెలది",
17
+ "తేటగీతి",
18
+ "కందము",
19
+ "సీసము"
20
+ ],
21
+ "confusion_matrix": [
22
+ [
23
+ 581,
24
+ 1,
25
+ 1,
26
+ 0,
27
+ 0,
28
+ 0,
29
+ 1,
30
+ 1
31
+ ],
32
+ [
33
+ 0,
34
+ 648,
35
+ 0,
36
+ 0,
37
+ 0,
38
+ 0,
39
+ 0,
40
+ 0
41
+ ],
42
+ [
43
+ 0,
44
+ 1,
45
+ 422,
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0
51
+ ],
52
+ [
53
+ 0,
54
+ 0,
55
+ 0,
56
+ 203,
57
+ 0,
58
+ 0,
59
+ 0,
60
+ 0
61
+ ],
62
+ [
63
+ 0,
64
+ 0,
65
+ 0,
66
+ 0,
67
+ 474,
68
+ 568,
69
+ 49,
70
+ 1
71
+ ],
72
+ [
73
+ 0,
74
+ 0,
75
+ 0,
76
+ 0,
77
+ 18,
78
+ 189,
79
+ 2,
80
+ 0
81
+ ],
82
+ [
83
+ 0,
84
+ 1,
85
+ 0,
86
+ 0,
87
+ 3,
88
+ 7,
89
+ 710,
90
+ 0
91
+ ],
92
+ [
93
+ 0,
94
+ 1,
95
+ 0,
96
+ 0,
97
+ 0,
98
+ 15,
99
+ 0,
100
+ 234
101
+ ]
102
+ ],
103
+ "cross_entropy": 0.5203068852424622,
104
+ "macro_f1": 0.8614443219668197,
105
+ "observations": 4131,
106
+ "per_class": {
107
+ "accuracy": 0.8378116678770273,
108
+ "macro avg": {
109
+ "f1-score": 0.8614443219668197,
110
+ "precision": 0.889372427243273,
111
+ "recall": 0.9062392366322556,
112
+ "support": 4131.0
113
+ },
114
+ "weighted avg": {
115
+ "f1-score": 0.851460290667382,
116
+ "precision": 0.9368394675424521,
117
+ "recall": 0.8378116678770273,
118
+ "support": 4131.0
119
+ },
120
+ "ఆటవెలది": {
121
+ "f1-score": 0.5973534971644613,
122
+ "precision": 0.9575757575757575,
123
+ "recall": 0.4340659340659341,
124
+ "support": 1092.0
125
+ },
126
+ "ఉత్పలమాల": {
127
+ "f1-score": 0.9965694682675815,
128
+ "precision": 1.0,
129
+ "recall": 0.9931623931623932,
130
+ "support": 585.0
131
+ },
132
+ "కందము": {
133
+ "f1-score": 0.9575185434929198,
134
+ "precision": 0.931758530183727,
135
+ "recall": 0.984743411927878,
136
+ "support": 721.0
137
+ },
138
+ "చంపకమాల": {
139
+ "f1-score": 0.9969230769230769,
140
+ "precision": 0.9938650306748467,
141
+ "recall": 1.0,
142
+ "support": 648.0
143
+ },
144
+ "తేటగీతి": {
145
+ "f1-score": 0.3825910931174089,
146
+ "precision": 0.24261874197689345,
147
+ "recall": 0.9043062200956937,
148
+ "support": 209.0
149
+ },
150
+ "మత్తేభము": {
151
+ "f1-score": 0.9976359338061466,
152
+ "precision": 0.9976359338061466,
153
+ "recall": 0.9976359338061466,
154
+ "support": 423.0
155
+ },
156
+ "శార్దూలం": {
157
+ "f1-score": 1.0,
158
+ "precision": 1.0,
159
+ "recall": 1.0,
160
+ "support": 203.0
161
+ },
162
+ "సీసము": {
163
+ "f1-score": 0.9629629629629629,
164
+ "precision": 0.9915254237288136,
165
+ "recall": 0.936,
166
+ "support": 250.0
167
+ }
168
+ }
169
+ },
170
+ "test_used_for_selection": false,
171
+ "validation_scores_are_checkpoint_selected": true
172
+ },
173
+ "run.json": {
174
+ "contract": {
175
+ "calibration": "None: retained calibration works remain reserved and unused in this experiment",
176
+ "config": {
177
+ "batch_poems": 32,
178
+ "cpu_threads": 4,
179
+ "device": "auto",
180
+ "dropout": 0.2,
181
+ "epochs": 40,
182
+ "gradient_clip": 1.0,
183
+ "kernel_sizes": [
184
+ 3,
185
+ 5,
186
+ 7
187
+ ],
188
+ "learning_rate": 0.001,
189
+ "lr_factor": 0.5,
190
+ "lr_patience": 3,
191
+ "max_tokens": 512,
192
+ "min_lr": 1e-06,
193
+ "minimum_epochs": 16,
194
+ "patience": 8,
195
+ "precision": "auto",
196
+ "seed": 17,
197
+ "weight_decay": 0.01,
198
+ "width": 64
199
+ },
200
+ "data_manifest": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
201
+ "implementation": {
202
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/expanded.py": "ed8305f104a72351f19a2065f7f082770cb6f213e99082a0d45c21ee11d5fe98",
203
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/models/encoding.py": "70a6bd8bcfc21db275df7def32b95e276d8cf5de3c6f35d532b7d16bad560425",
204
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/training/runtime.py": "48abda5bc519ebea24b6bffb5d47fbba68bdb7617fc5ef3da3e4b847a8ff7c01",
205
+ "/Users/pranav/code/chandassu_recognition/train_cnn_expanded.py": "a07a1ec920f80282ca1ba0e44cc959c7dcac9e9aebc28467e1325aee19238532"
206
+ },
207
+ "initialization": "Fresh random initialization; all eight labels together",
208
+ "runtime": {
209
+ "cross_backend_bitwise_identity": false,
210
+ "cuda": null,
211
+ "device": "cpu",
212
+ "gpu": null,
213
+ "precision": "fp32",
214
+ "python": "3.12.10",
215
+ "torch": "2.8.0",
216
+ "versions": {
217
+ "numpy": "1.26.4",
218
+ "scikit-learn": "1.6.1",
219
+ "scipy": "1.15.3",
220
+ "transformers": "4.57.6"
221
+ }
222
+ },
223
+ "selection": "Validation poem Macro F1, unweighted poem CE tie-break",
224
+ "test_used_for_selection": false
225
+ },
226
+ "counts": {
227
+ "calibration": {
228
+ "classes": {
229
+ "ఆటవెలది": 75,
230
+ "ఉత్పలమాల": 324,
231
+ "కందము": 435,
232
+ "చంపకమాల": 276,
233
+ "తేటగీతి": 10,
234
+ "మత్తేభము": 194,
235
+ "శార్దూలం": 114,
236
+ "సీసము": 130
237
+ },
238
+ "lines": 6232,
239
+ "poems": 1558,
240
+ "works": 4
241
+ },
242
+ "fit": {
243
+ "classes": {
244
+ "ఆటవెలది": 289,
245
+ "ఉత్పలమాల": 2215,
246
+ "కందము": 2571,
247
+ "చంపకమాల": 2501,
248
+ "తేటగీతి": 943,
249
+ "మత్తేభము": 1789,
250
+ "శార్దూలం": 1070,
251
+ "సీసము": 680
252
+ },
253
+ "lines": 48232,
254
+ "poems": 12058,
255
+ "works": 73
256
+ },
257
+ "selection": {
258
+ "classes": {
259
+ "ఆటవెలది": 1092,
260
+ "ఉత్పలమాల": 585,
261
+ "కందము": 721,
262
+ "చంపకమాల": 648,
263
+ "తేటగీతి": 209,
264
+ "మత్తేభము": 423,
265
+ "శార్దూలం": 203,
266
+ "సీసము": 250
267
+ },
268
+ "lines": 16524,
269
+ "poems": 4131,
270
+ "works": 9
271
+ },
272
+ "test": {
273
+ "classes": {
274
+ "ఆటవెలది": 152,
275
+ "ఉత్పలమాల": 996,
276
+ "కందము": 1071,
277
+ "చంపకమాల": 759,
278
+ "తేటగీతి": 640,
279
+ "మత్తేభము": 733,
280
+ "శార్దూలం": 465,
281
+ "సీసము": 466
282
+ },
283
+ "lines": 21128,
284
+ "poems": 5282,
285
+ "works": 13
286
+ }
287
+ },
288
+ "git": {
289
+ "dirty": true,
290
+ "revision": "41c48bf737f322207cdf261adeb098f7ac4b1056"
291
+ },
292
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255"
293
+ },
294
+ "test.json": {
295
+ "cohorts": {
296
+ "new_source_annotation": {
297
+ "accuracy": 0.9553456419063976,
298
+ "class_order": [
299
+ "ఉత్పలమాల",
300
+ "చంపకమాల",
301
+ "మత్తేభము",
302
+ "శార్దూలం",
303
+ "ఆటవెలది",
304
+ "తేటగీతి",
305
+ "కందము",
306
+ "సీసము"
307
+ ],
308
+ "confusion_matrix": [
309
+ [
310
+ 0,
311
+ 0,
312
+ 0,
313
+ 0,
314
+ 0,
315
+ 0,
316
+ 0,
317
+ 0
318
+ ],
319
+ [
320
+ 0,
321
+ 0,
322
+ 0,
323
+ 0,
324
+ 0,
325
+ 0,
326
+ 0,
327
+ 0
328
+ ],
329
+ [
330
+ 0,
331
+ 0,
332
+ 0,
333
+ 0,
334
+ 0,
335
+ 0,
336
+ 0,
337
+ 0
338
+ ],
339
+ [
340
+ 0,
341
+ 0,
342
+ 0,
343
+ 0,
344
+ 0,
345
+ 0,
346
+ 0,
347
+ 0
348
+ ],
349
+ [
350
+ 0,
351
+ 0,
352
+ 0,
353
+ 0,
354
+ 95,
355
+ 57,
356
+ 0,
357
+ 0
358
+ ],
359
+ [
360
+ 0,
361
+ 0,
362
+ 0,
363
+ 0,
364
+ 27,
365
+ 603,
366
+ 4,
367
+ 6
368
+ ],
369
+ [
370
+ 0,
371
+ 0,
372
+ 0,
373
+ 1,
374
+ 0,
375
+ 2,
376
+ 1068,
377
+ 0
378
+ ],
379
+ [
380
+ 1,
381
+ 0,
382
+ 1,
383
+ 0,
384
+ 0,
385
+ 5,
386
+ 0,
387
+ 459
388
+ ]
389
+ ],
390
+ "cross_entropy": 0.11322719603776932,
391
+ "macro_f1": 0.4498655653565343,
392
+ "observations": 2329,
393
+ "per_class": {
394
+ "accuracy": 0.9553456419063976,
395
+ "macro avg": {
396
+ "f1-score": 0.4498655653565343,
397
+ "precision": 0.4582627414390156,
398
+ "recall": 0.4436706150405441,
399
+ "support": 2329.0
400
+ },
401
+ "weighted avg": {
402
+ "f1-score": 0.954460858783415,
403
+ "precision": 0.9548914506238121,
404
+ "recall": 0.9553456419063976,
405
+ "support": 2329.0
406
+ },
407
+ "ఆటవెలది": {
408
+ "f1-score": 0.6934306569343066,
409
+ "precision": 0.7786885245901639,
410
+ "recall": 0.625,
411
+ "support": 152.0
412
+ },
413
+ "ఉత్పలమాల": {
414
+ "f1-score": 0.0,
415
+ "precision": 0.0,
416
+ "recall": 0.0,
417
+ "support": 0.0
418
+ },
419
+ "కందము": {
420
+ "f1-score": 0.9967335510965936,
421
+ "precision": 0.996268656716418,
422
+ "recall": 0.9971988795518207,
423
+ "support": 1071.0
424
+ },
425
+ "చంపకమాల": {
426
+ "f1-score": 0.0,
427
+ "precision": 0.0,
428
+ "recall": 0.0,
429
+ "support": 0.0
430
+ },
431
+ "తేటగీతి": {
432
+ "f1-score": 0.9227237949502678,
433
+ "precision": 0.904047976011994,
434
+ "recall": 0.9421875,
435
+ "support": 640.0
436
+ },
437
+ "మత్తేభము": {
438
+ "f1-score": 0.0,
439
+ "precision": 0.0,
440
+ "recall": 0.0,
441
+ "support": 0.0
442
+ },
443
+ "శార్దూలం": {
444
+ "f1-score": 0.0,
445
+ "precision": 0.0,
446
+ "recall": 0.0,
447
+ "support": 0.0
448
+ },
449
+ "సీసము": {
450
+ "f1-score": 0.9860365198711063,
451
+ "precision": 0.9870967741935484,
452
+ "recall": 0.9849785407725322,
453
+ "support": 466.0
454
+ }
455
+ }
456
+ },
457
+ "v2_existing": {
458
+ "accuracy": 0.9976295292922451,
459
+ "class_order": [
460
+ "ఉత్పలమాల",
461
+ "చంపకమాల",
462
+ "మత్తేభము",
463
+ "శార్దూలం",
464
+ "ఆటవెలది",
465
+ "తేటగీతి",
466
+ "కందము",
467
+ "సీసము"
468
+ ],
469
+ "confusion_matrix": [
470
+ [
471
+ 994,
472
+ 2,
473
+ 0,
474
+ 0,
475
+ 0,
476
+ 0,
477
+ 0,
478
+ 0
479
+ ],
480
+ [
481
+ 1,
482
+ 756,
483
+ 1,
484
+ 0,
485
+ 0,
486
+ 0,
487
+ 1,
488
+ 0
489
+ ],
490
+ [
491
+ 0,
492
+ 0,
493
+ 732,
494
+ 0,
495
+ 0,
496
+ 0,
497
+ 0,
498
+ 1
499
+ ],
500
+ [
501
+ 1,
502
+ 0,
503
+ 0,
504
+ 464,
505
+ 0,
506
+ 0,
507
+ 0,
508
+ 0
509
+ ],
510
+ [
511
+ 0,
512
+ 0,
513
+ 0,
514
+ 0,
515
+ 0,
516
+ 0,
517
+ 0,
518
+ 0
519
+ ],
520
+ [
521
+ 0,
522
+ 0,
523
+ 0,
524
+ 0,
525
+ 0,
526
+ 0,
527
+ 0,
528
+ 0
529
+ ],
530
+ [
531
+ 0,
532
+ 0,
533
+ 0,
534
+ 0,
535
+ 0,
536
+ 0,
537
+ 0,
538
+ 0
539
+ ],
540
+ [
541
+ 0,
542
+ 0,
543
+ 0,
544
+ 0,
545
+ 0,
546
+ 0,
547
+ 0,
548
+ 0
549
+ ]
550
+ ],
551
+ "cross_entropy": 0.020885592326521873,
552
+ "macro_f1": 0.49903191327759144,
553
+ "observations": 2953,
554
+ "per_class": {
555
+ "accuracy": 0.9976295292922451,
556
+ "macro avg": {
557
+ "f1-score": 0.49903191327759144,
558
+ "precision": 0.49924864862047835,
559
+ "recall": 0.4988155755733623,
560
+ "support": 2953.0
561
+ },
562
+ "weighted avg": {
563
+ "f1-score": 0.9979674276320403,
564
+ "precision": 0.9983059131315858,
565
+ "recall": 0.9976295292922451,
566
+ "support": 2953.0
567
+ },
568
+ "ఆటవెలది": {
569
+ "f1-score": 0.0,
570
+ "precision": 0.0,
571
+ "recall": 0.0,
572
+ "support": 0.0
573
+ },
574
+ "ఉత్పలమాల": {
575
+ "f1-score": 0.9979919678714859,
576
+ "precision": 0.9979919678714859,
577
+ "recall": 0.9979919678714859,
578
+ "support": 996.0
579
+ },
580
+ "కందము": {
581
+ "f1-score": 0.0,
582
+ "precision": 0.0,
583
+ "recall": 0.0,
584
+ "support": 0.0
585
+ },
586
+ "చంపకమాల": {
587
+ "f1-score": 0.996704021094265,
588
+ "precision": 0.9973614775725593,
589
+ "recall": 0.9960474308300395,
590
+ "support": 759.0
591
+ },
592
+ "తేటగీతి": {
593
+ "f1-score": 0.0,
594
+ "precision": 0.0,
595
+ "recall": 0.0,
596
+ "support": 0.0
597
+ },
598
+ "మత్తేభము": {
599
+ "f1-score": 0.9986357435197817,
600
+ "precision": 0.9986357435197817,
601
+ "recall": 0.9986357435197817,
602
+ "support": 733.0
603
+ },
604
+ "శార్దూలం": {
605
+ "f1-score": 0.9989235737351991,
606
+ "precision": 1.0,
607
+ "recall": 0.9978494623655914,
608
+ "support": 465.0
609
+ },
610
+ "సీసము": {
611
+ "f1-score": 0.0,
612
+ "precision": 0.0,
613
+ "recall": 0.0,
614
+ "support": 0.0
615
+ }
616
+ }
617
+ }
618
+ },
619
+ "original_four_label_retention": {
620
+ "accuracy": 0.9976295292922451,
621
+ "macro_f1": 0.9980638265551829,
622
+ "observations": 2953
623
+ },
624
+ "per_work": {
625
+ "అహల్యాసంక్రందనము": {
626
+ "accuracy": 0.9693593314763231,
627
+ "class_order": [
628
+ "ఉత్పలమాల",
629
+ "చంపకమాల",
630
+ "మత్తేభము",
631
+ "శార్దూలం",
632
+ "ఆటవెలది",
633
+ "తేటగీతి",
634
+ "కందము",
635
+ "సీసము"
636
+ ],
637
+ "confusion_matrix": [
638
+ [
639
+ 88,
640
+ 1,
641
+ 0,
642
+ 0,
643
+ 0,
644
+ 0,
645
+ 0,
646
+ 0
647
+ ],
648
+ [
649
+ 0,
650
+ 67,
651
+ 1,
652
+ 0,
653
+ 0,
654
+ 0,
655
+ 1,
656
+ 0
657
+ ],
658
+ [
659
+ 0,
660
+ 0,
661
+ 17,
662
+ 0,
663
+ 0,
664
+ 0,
665
+ 0,
666
+ 0
667
+ ],
668
+ [
669
+ 0,
670
+ 0,
671
+ 0,
672
+ 11,
673
+ 0,
674
+ 0,
675
+ 0,
676
+ 0
677
+ ],
678
+ [
679
+ 0,
680
+ 0,
681
+ 0,
682
+ 0,
683
+ 1,
684
+ 1,
685
+ 0,
686
+ 0
687
+ ],
688
+ [
689
+ 0,
690
+ 0,
691
+ 0,
692
+ 0,
693
+ 0,
694
+ 12,
695
+ 4,
696
+ 0
697
+ ],
698
+ [
699
+ 0,
700
+ 0,
701
+ 0,
702
+ 1,
703
+ 0,
704
+ 0,
705
+ 98,
706
+ 0
707
+ ],
708
+ [
709
+ 0,
710
+ 0,
711
+ 0,
712
+ 0,
713
+ 0,
714
+ 2,
715
+ 0,
716
+ 54
717
+ ]
718
+ ],
719
+ "cross_entropy": 0.1297415941953659,
720
+ "macro_f1": 0.9116722761751024,
721
+ "observations": 359,
722
+ "per_class": {
723
+ "accuracy": 0.9693593314763231,
724
+ "macro avg": {
725
+ "f1-score": 0.9116722761751024,
726
+ "precision": 0.9497326924297227,
727
+ "recall": 0.8954954052352684,
728
+ "support": 359.0
729
+ },
730
+ "weighted avg": {
731
+ "f1-score": 0.9687573964088945,
732
+ "precision": 0.9696890188407173,
733
+ "recall": 0.9693593314763231,
734
+ "support": 359.0
735
+ },
736
+ "ఆటవెలది": {
737
+ "f1-score": 0.6666666666666666,
738
+ "precision": 1.0,
739
+ "recall": 0.5,
740
+ "support": 2.0
741
+ },
742
+ "ఉత్పలమాల": {
743
+ "f1-score": 0.9943502824858758,
744
+ "precision": 1.0,
745
+ "recall": 0.9887640449438202,
746
+ "support": 89.0
747
+ },
748
+ "కందము": {
749
+ "f1-score": 0.9702970297029703,
750
+ "precision": 0.9514563106796117,
751
+ "recall": 0.98989898989899,
752
+ "support": 99.0
753
+ },
754
+ "చంపకమాల": {
755
+ "f1-score": 0.9781021897810219,
756
+ "precision": 0.9852941176470589,
757
+ "recall": 0.9710144927536232,
758
+ "support": 69.0
759
+ },
760
+ "తేటగీతి": {
761
+ "f1-score": 0.7741935483870968,
762
+ "precision": 0.8,
763
+ "recall": 0.75,
764
+ "support": 16.0
765
+ },
766
+ "మత్తేభము": {
767
+ "f1-score": 0.9714285714285714,
768
+ "precision": 0.9444444444444444,
769
+ "recall": 1.0,
770
+ "support": 17.0
771
+ },
772
+ "శార్దూలం": {
773
+ "f1-score": 0.9565217391304348,
774
+ "precision": 0.9166666666666666,
775
+ "recall": 1.0,
776
+ "support": 11.0
777
+ },
778
+ "సీసము": {
779
+ "f1-score": 0.9818181818181818,
780
+ "precision": 1.0,
781
+ "recall": 0.9642857142857143,
782
+ "support": 56.0
783
+ }
784
+ }
785
+ },
786
+ "ఆంధ్ర పురాణము": {
787
+ "accuracy": 0.9826635145784082,
788
+ "class_order": [
789
+ "ఉత్పలమాల",
790
+ "చంపకమాల",
791
+ "మత్తేభము",
792
+ "శార్దూలం",
793
+ "ఆటవెలది",
794
+ "తేటగీతి",
795
+ "కందము",
796
+ "సీసము"
797
+ ],
798
+ "confusion_matrix": [
799
+ [
800
+ 264,
801
+ 0,
802
+ 0,
803
+ 0,
804
+ 0,
805
+ 0,
806
+ 0,
807
+ 0
808
+ ],
809
+ [
810
+ 0,
811
+ 288,
812
+ 0,
813
+ 0,
814
+ 0,
815
+ 0,
816
+ 0,
817
+ 0
818
+ ],
819
+ [
820
+ 0,
821
+ 0,
822
+ 364,
823
+ 0,
824
+ 0,
825
+ 0,
826
+ 0,
827
+ 0
828
+ ],
829
+ [
830
+ 0,
831
+ 0,
832
+ 0,
833
+ 110,
834
+ 0,
835
+ 0,
836
+ 0,
837
+ 0
838
+ ],
839
+ [
840
+ 0,
841
+ 0,
842
+ 0,
843
+ 0,
844
+ 53,
845
+ 22,
846
+ 0,
847
+ 0
848
+ ],
849
+ [
850
+ 0,
851
+ 0,
852
+ 0,
853
+ 0,
854
+ 0,
855
+ 0,
856
+ 0,
857
+ 0
858
+ ],
859
+ [
860
+ 0,
861
+ 0,
862
+ 0,
863
+ 0,
864
+ 0,
865
+ 0,
866
+ 168,
867
+ 0
868
+ ],
869
+ [
870
+ 0,
871
+ 0,
872
+ 0,
873
+ 0,
874
+ 0,
875
+ 0,
876
+ 0,
877
+ 0
878
+ ]
879
+ ],
880
+ "cross_entropy": 0.045060791075229645,
881
+ "macro_f1": 0.728515625,
882
+ "observations": 1269,
883
+ "per_class": {
884
+ "accuracy": 0.9826635145784082,
885
+ "macro avg": {
886
+ "f1-score": 0.728515625,
887
+ "precision": 0.75,
888
+ "recall": 0.7133333333333334,
889
+ "support": 1269.0
890
+ },
891
+ "weighted avg": {
892
+ "f1-score": 0.989841903073286,
893
+ "precision": 1.0,
894
+ "recall": 0.9826635145784082,
895
+ "support": 1269.0
896
+ },
897
+ "ఆటవెలది": {
898
+ "f1-score": 0.828125,
899
+ "precision": 1.0,
900
+ "recall": 0.7066666666666667,
901
+ "support": 75.0
902
+ },
903
+ "ఉత్పలమాల": {
904
+ "f1-score": 1.0,
905
+ "precision": 1.0,
906
+ "recall": 1.0,
907
+ "support": 264.0
908
+ },
909
+ "కందము": {
910
+ "f1-score": 1.0,
911
+ "precision": 1.0,
912
+ "recall": 1.0,
913
+ "support": 168.0
914
+ },
915
+ "చంపకమాల": {
916
+ "f1-score": 1.0,
917
+ "precision": 1.0,
918
+ "recall": 1.0,
919
+ "support": 288.0
920
+ },
921
+ "తేటగీతి": {
922
+ "f1-score": 0.0,
923
+ "precision": 0.0,
924
+ "recall": 0.0,
925
+ "support": 0.0
926
+ },
927
+ "మత్తేభము": {
928
+ "f1-score": 1.0,
929
+ "precision": 1.0,
930
+ "recall": 1.0,
931
+ "support": 364.0
932
+ },
933
+ "శార్దూలం": {
934
+ "f1-score": 1.0,
935
+ "precision": 1.0,
936
+ "recall": 1.0,
937
+ "support": 110.0
938
+ },
939
+ "సీసము": {
940
+ "f1-score": 0.0,
941
+ "precision": 0.0,
942
+ "recall": 0.0,
943
+ "support": 0.0
944
+ }
945
+ }
946
+ },
947
+ "ఉద్దండరాయశతకము": {
948
+ "accuracy": 1.0,
949
+ "class_order": [
950
+ "ఉత్పలమాల",
951
+ "చంపకమాల",
952
+ "మత్తేభము",
953
+ "శార్దూలం",
954
+ "ఆటవెలది",
955
+ "తేటగీతి",
956
+ "కందము",
957
+ "సీసము"
958
+ ],
959
+ "confusion_matrix": [
960
+ [
961
+ 0,
962
+ 0,
963
+ 0,
964
+ 0,
965
+ 0,
966
+ 0,
967
+ 0,
968
+ 0
969
+ ],
970
+ [
971
+ 0,
972
+ 0,
973
+ 0,
974
+ 0,
975
+ 0,
976
+ 0,
977
+ 0,
978
+ 0
979
+ ],
980
+ [
981
+ 0,
982
+ 0,
983
+ 2,
984
+ 0,
985
+ 0,
986
+ 0,
987
+ 0,
988
+ 0
989
+ ],
990
+ [
991
+ 0,
992
+ 0,
993
+ 0,
994
+ 0,
995
+ 0,
996
+ 0,
997
+ 0,
998
+ 0
999
+ ],
1000
+ [
1001
+ 0,
1002
+ 0,
1003
+ 0,
1004
+ 0,
1005
+ 0,
1006
+ 0,
1007
+ 0,
1008
+ 0
1009
+ ],
1010
+ [
1011
+ 0,
1012
+ 0,
1013
+ 0,
1014
+ 0,
1015
+ 0,
1016
+ 0,
1017
+ 0,
1018
+ 0
1019
+ ],
1020
+ [
1021
+ 0,
1022
+ 0,
1023
+ 0,
1024
+ 0,
1025
+ 0,
1026
+ 0,
1027
+ 0,
1028
+ 0
1029
+ ],
1030
+ [
1031
+ 0,
1032
+ 0,
1033
+ 0,
1034
+ 0,
1035
+ 0,
1036
+ 0,
1037
+ 0,
1038
+ 0
1039
+ ]
1040
+ ],
1041
+ "cross_entropy": 0.002044523600488901,
1042
+ "macro_f1": 0.125,
1043
+ "observations": 2,
1044
+ "per_class": {
1045
+ "accuracy": 1.0,
1046
+ "macro avg": {
1047
+ "f1-score": 0.125,
1048
+ "precision": 0.125,
1049
+ "recall": 0.125,
1050
+ "support": 2.0
1051
+ },
1052
+ "weighted avg": {
1053
+ "f1-score": 1.0,
1054
+ "precision": 1.0,
1055
+ "recall": 1.0,
1056
+ "support": 2.0
1057
+ },
1058
+ "ఆటవెలది": {
1059
+ "f1-score": 0.0,
1060
+ "precision": 0.0,
1061
+ "recall": 0.0,
1062
+ "support": 0.0
1063
+ },
1064
+ "ఉత్పలమాల": {
1065
+ "f1-score": 0.0,
1066
+ "precision": 0.0,
1067
+ "recall": 0.0,
1068
+ "support": 0.0
1069
+ },
1070
+ "కందము": {
1071
+ "f1-score": 0.0,
1072
+ "precision": 0.0,
1073
+ "recall": 0.0,
1074
+ "support": 0.0
1075
+ },
1076
+ "చంపకమాల": {
1077
+ "f1-score": 0.0,
1078
+ "precision": 0.0,
1079
+ "recall": 0.0,
1080
+ "support": 0.0
1081
+ },
1082
+ "తేటగీతి": {
1083
+ "f1-score": 0.0,
1084
+ "precision": 0.0,
1085
+ "recall": 0.0,
1086
+ "support": 0.0
1087
+ },
1088
+ "మత్తేభము": {
1089
+ "f1-score": 1.0,
1090
+ "precision": 1.0,
1091
+ "recall": 1.0,
1092
+ "support": 2.0
1093
+ },
1094
+ "శార్దూలం": {
1095
+ "f1-score": 0.0,
1096
+ "precision": 0.0,
1097
+ "recall": 0.0,
1098
+ "support": 0.0
1099
+ },
1100
+ "సీసము": {
1101
+ "f1-score": 0.0,
1102
+ "precision": 0.0,
1103
+ "recall": 0.0,
1104
+ "support": 0.0
1105
+ }
1106
+ }
1107
+ },
1108
+ "క్రీడాభిరామము": {
1109
+ "accuracy": 0.9414893617021277,
1110
+ "class_order": [
1111
+ "ఉత్పలమాల",
1112
+ "చంపకమాల",
1113
+ "మత్తేభము",
1114
+ "శార్దూలం",
1115
+ "ఆటవెలది",
1116
+ "తేటగీతి",
1117
+ "కందము",
1118
+ "సీసము"
1119
+ ],
1120
+ "confusion_matrix": [
1121
+ [
1122
+ 31,
1123
+ 0,
1124
+ 0,
1125
+ 0,
1126
+ 0,
1127
+ 0,
1128
+ 0,
1129
+ 0
1130
+ ],
1131
+ [
1132
+ 0,
1133
+ 12,
1134
+ 0,
1135
+ 0,
1136
+ 0,
1137
+ 0,
1138
+ 0,
1139
+ 0
1140
+ ],
1141
+ [
1142
+ 0,
1143
+ 0,
1144
+ 20,
1145
+ 0,
1146
+ 0,
1147
+ 0,
1148
+ 0,
1149
+ 0
1150
+ ],
1151
+ [
1152
+ 0,
1153
+ 0,
1154
+ 0,
1155
+ 18,
1156
+ 0,
1157
+ 0,
1158
+ 0,
1159
+ 0
1160
+ ],
1161
+ [
1162
+ 0,
1163
+ 0,
1164
+ 0,
1165
+ 0,
1166
+ 4,
1167
+ 6,
1168
+ 0,
1169
+ 0
1170
+ ],
1171
+ [
1172
+ 0,
1173
+ 0,
1174
+ 0,
1175
+ 0,
1176
+ 4,
1177
+ 28,
1178
+ 0,
1179
+ 0
1180
+ ],
1181
+ [
1182
+ 0,
1183
+ 0,
1184
+ 0,
1185
+ 0,
1186
+ 0,
1187
+ 1,
1188
+ 29,
1189
+ 0
1190
+ ],
1191
+ [
1192
+ 0,
1193
+ 0,
1194
+ 0,
1195
+ 0,
1196
+ 0,
1197
+ 0,
1198
+ 0,
1199
+ 35
1200
+ ]
1201
+ ],
1202
+ "cross_entropy": 0.13173219561576843,
1203
+ "macro_f1": 0.9079145234280575,
1204
+ "observations": 188,
1205
+ "per_class": {
1206
+ "accuracy": 0.9414893617021277,
1207
+ "macro avg": {
1208
+ "f1-score": 0.9079145234280575,
1209
+ "precision": 0.9125,
1210
+ "recall": 0.9052083333333334,
1211
+ "support": 188.0
1212
+ },
1213
+ "weighted avg": {
1214
+ "f1-score": 0.9397991410898386,
1215
+ "precision": 0.9393617021276596,
1216
+ "recall": 0.9414893617021277,
1217
+ "support": 188.0
1218
+ },
1219
+ "ఆటవెలది": {
1220
+ "f1-score": 0.4444444444444444,
1221
+ "precision": 0.5,
1222
+ "recall": 0.4,
1223
+ "support": 10.0
1224
+ },
1225
+ "ఉత్పలమాల": {
1226
+ "f1-score": 1.0,
1227
+ "precision": 1.0,
1228
+ "recall": 1.0,
1229
+ "support": 31.0
1230
+ },
1231
+ "కందము": {
1232
+ "f1-score": 0.9830508474576272,
1233
+ "precision": 1.0,
1234
+ "recall": 0.9666666666666667,
1235
+ "support": 30.0
1236
+ },
1237
+ "చంపకమాల": {
1238
+ "f1-score": 1.0,
1239
+ "precision": 1.0,
1240
+ "recall": 1.0,
1241
+ "support": 12.0
1242
+ },
1243
+ "తేటగీతి": {
1244
+ "f1-score": 0.835820895522388,
1245
+ "precision": 0.8,
1246
+ "recall": 0.875,
1247
+ "support": 32.0
1248
+ },
1249
+ "మత్తేభము": {
1250
+ "f1-score": 1.0,
1251
+ "precision": 1.0,
1252
+ "recall": 1.0,
1253
+ "support": 20.0
1254
+ },
1255
+ "శార్దూలం": {
1256
+ "f1-score": 1.0,
1257
+ "precision": 1.0,
1258
+ "recall": 1.0,
1259
+ "support": 18.0
1260
+ },
1261
+ "సీసము": {
1262
+ "f1-score": 1.0,
1263
+ "precision": 1.0,
1264
+ "recall": 1.0,
1265
+ "support": 35.0
1266
+ }
1267
+ }
1268
+ },
1269
+ "పాండవోద్యోగము": {
1270
+ "accuracy": 1.0,
1271
+ "class_order": [
1272
+ "ఉత్పలమాల",
1273
+ "చంపకమాల",
1274
+ "మత్తేభము",
1275
+ "శార్దూలం",
1276
+ "ఆటవెలది",
1277
+ "తేటగీతి",
1278
+ "కందము",
1279
+ "సీసము"
1280
+ ],
1281
+ "confusion_matrix": [
1282
+ [
1283
+ 1,
1284
+ 0,
1285
+ 0,
1286
+ 0,
1287
+ 0,
1288
+ 0,
1289
+ 0,
1290
+ 0
1291
+ ],
1292
+ [
1293
+ 0,
1294
+ 1,
1295
+ 0,
1296
+ 0,
1297
+ 0,
1298
+ 0,
1299
+ 0,
1300
+ 0
1301
+ ],
1302
+ [
1303
+ 0,
1304
+ 0,
1305
+ 1,
1306
+ 0,
1307
+ 0,
1308
+ 0,
1309
+ 0,
1310
+ 0
1311
+ ],
1312
+ [
1313
+ 0,
1314
+ 0,
1315
+ 0,
1316
+ 3,
1317
+ 0,
1318
+ 0,
1319
+ 0,
1320
+ 0
1321
+ ],
1322
+ [
1323
+ 0,
1324
+ 0,
1325
+ 0,
1326
+ 0,
1327
+ 0,
1328
+ 0,
1329
+ 0,
1330
+ 0
1331
+ ],
1332
+ [
1333
+ 0,
1334
+ 0,
1335
+ 0,
1336
+ 0,
1337
+ 0,
1338
+ 0,
1339
+ 0,
1340
+ 0
1341
+ ],
1342
+ [
1343
+ 0,
1344
+ 0,
1345
+ 0,
1346
+ 0,
1347
+ 0,
1348
+ 0,
1349
+ 0,
1350
+ 0
1351
+ ],
1352
+ [
1353
+ 0,
1354
+ 0,
1355
+ 0,
1356
+ 0,
1357
+ 0,
1358
+ 0,
1359
+ 0,
1360
+ 0
1361
+ ]
1362
+ ],
1363
+ "cross_entropy": 0.0031931486446410418,
1364
+ "macro_f1": 0.5,
1365
+ "observations": 6,
1366
+ "per_class": {
1367
+ "accuracy": 1.0,
1368
+ "macro avg": {
1369
+ "f1-score": 0.5,
1370
+ "precision": 0.5,
1371
+ "recall": 0.5,
1372
+ "support": 6.0
1373
+ },
1374
+ "weighted avg": {
1375
+ "f1-score": 1.0,
1376
+ "precision": 1.0,
1377
+ "recall": 1.0,
1378
+ "support": 6.0
1379
+ },
1380
+ "ఆటవెలది": {
1381
+ "f1-score": 0.0,
1382
+ "precision": 0.0,
1383
+ "recall": 0.0,
1384
+ "support": 0.0
1385
+ },
1386
+ "ఉత్పలమాల": {
1387
+ "f1-score": 1.0,
1388
+ "precision": 1.0,
1389
+ "recall": 1.0,
1390
+ "support": 1.0
1391
+ },
1392
+ "కందము": {
1393
+ "f1-score": 0.0,
1394
+ "precision": 0.0,
1395
+ "recall": 0.0,
1396
+ "support": 0.0
1397
+ },
1398
+ "చంపకమాల": {
1399
+ "f1-score": 1.0,
1400
+ "precision": 1.0,
1401
+ "recall": 1.0,
1402
+ "support": 1.0
1403
+ },
1404
+ "తేటగీతి": {
1405
+ "f1-score": 0.0,
1406
+ "precision": 0.0,
1407
+ "recall": 0.0,
1408
+ "support": 0.0
1409
+ },
1410
+ "మత్తేభము": {
1411
+ "f1-score": 1.0,
1412
+ "precision": 1.0,
1413
+ "recall": 1.0,
1414
+ "support": 1.0
1415
+ },
1416
+ "శార్దూలం": {
1417
+ "f1-score": 1.0,
1418
+ "precision": 1.0,
1419
+ "recall": 1.0,
1420
+ "support": 3.0
1421
+ },
1422
+ "సీసము": {
1423
+ "f1-score": 0.0,
1424
+ "precision": 0.0,
1425
+ "recall": 0.0,
1426
+ "support": 0.0
1427
+ }
1428
+ }
1429
+ },
1430
+ "పాండురంగమాహాత్మ్యము": {
1431
+ "accuracy": 0.9817295980511571,
1432
+ "class_order": [
1433
+ "ఉత్పలమాల",
1434
+ "చంపకమాల",
1435
+ "మత్తేభము",
1436
+ "శార్దూలం",
1437
+ "ఆటవెలది",
1438
+ "తేటగీతి",
1439
+ "కందము",
1440
+ "సీసము"
1441
+ ],
1442
+ "confusion_matrix": [
1443
+ [
1444
+ 160,
1445
+ 1,
1446
+ 0,
1447
+ 0,
1448
+ 0,
1449
+ 0,
1450
+ 0,
1451
+ 0
1452
+ ],
1453
+ [
1454
+ 0,
1455
+ 94,
1456
+ 0,
1457
+ 0,
1458
+ 0,
1459
+ 0,
1460
+ 0,
1461
+ 0
1462
+ ],
1463
+ [
1464
+ 0,
1465
+ 0,
1466
+ 58,
1467
+ 0,
1468
+ 0,
1469
+ 0,
1470
+ 0,
1471
+ 0
1472
+ ],
1473
+ [
1474
+ 0,
1475
+ 0,
1476
+ 0,
1477
+ 74,
1478
+ 0,
1479
+ 0,
1480
+ 0,
1481
+ 0
1482
+ ],
1483
+ [
1484
+ 0,
1485
+ 0,
1486
+ 0,
1487
+ 0,
1488
+ 1,
1489
+ 6,
1490
+ 0,
1491
+ 0
1492
+ ],
1493
+ [
1494
+ 0,
1495
+ 0,
1496
+ 0,
1497
+ 0,
1498
+ 5,
1499
+ 115,
1500
+ 0,
1501
+ 1
1502
+ ],
1503
+ [
1504
+ 0,
1505
+ 0,
1506
+ 0,
1507
+ 0,
1508
+ 0,
1509
+ 0,
1510
+ 198,
1511
+ 0
1512
+ ],
1513
+ [
1514
+ 1,
1515
+ 0,
1516
+ 1,
1517
+ 0,
1518
+ 0,
1519
+ 0,
1520
+ 0,
1521
+ 106
1522
+ ]
1523
+ ],
1524
+ "cross_entropy": 0.05469725653529167,
1525
+ "macro_f1": 0.8837820868315399,
1526
+ "observations": 821,
1527
+ "per_class": {
1528
+ "accuracy": 0.9817295980511571,
1529
+ "macro avg": {
1530
+ "f1-score": 0.8837820868315399,
1531
+ "precision": 0.8842559308698211,
1532
+ "recall": 0.8835675834193621,
1533
+ "support": 821.0
1534
+ },
1535
+ "weighted avg": {
1536
+ "f1-score": 0.9812142086962924,
1537
+ "precision": 0.9807366581493374,
1538
+ "recall": 0.9817295980511571,
1539
+ "support": 821.0
1540
+ },
1541
+ "ఆటవెలది": {
1542
+ "f1-score": 0.15384615384615385,
1543
+ "precision": 0.16666666666666666,
1544
+ "recall": 0.14285714285714285,
1545
+ "support": 7.0
1546
+ },
1547
+ "ఉత్పలమాల": {
1548
+ "f1-score": 0.9937888198757764,
1549
+ "precision": 0.9937888198757764,
1550
+ "recall": 0.9937888198757764,
1551
+ "support": 161.0
1552
+ },
1553
+ "కందము": {
1554
+ "f1-score": 1.0,
1555
+ "precision": 1.0,
1556
+ "recall": 1.0,
1557
+ "support": 198.0
1558
+ },
1559
+ "చంపకమాల": {
1560
+ "f1-score": 0.9947089947089947,
1561
+ "precision": 0.9894736842105263,
1562
+ "recall": 1.0,
1563
+ "support": 94.0
1564
+ },
1565
+ "తేటగీతి": {
1566
+ "f1-score": 0.9504132231404959,
1567
+ "precision": 0.9504132231404959,
1568
+ "recall": 0.9504132231404959,
1569
+ "support": 121.0
1570
+ },
1571
+ "మత్తేభము": {
1572
+ "f1-score": 0.9914529914529915,
1573
+ "precision": 0.9830508474576272,
1574
+ "recall": 1.0,
1575
+ "support": 58.0
1576
+ },
1577
+ "శార్దూలం": {
1578
+ "f1-score": 1.0,
1579
+ "precision": 1.0,
1580
+ "recall": 1.0,
1581
+ "support": 74.0
1582
+ },
1583
+ "సీసము": {
1584
+ "f1-score": 0.986046511627907,
1585
+ "precision": 0.9906542056074766,
1586
+ "recall": 0.9814814814814815,
1587
+ "support": 108.0
1588
+ }
1589
+ }
1590
+ },
1591
+ "పార్థసారథిశతకము": {
1592
+ "accuracy": 1.0,
1593
+ "class_order": [
1594
+ "ఉత్పలమాల",
1595
+ "చంపకమాల",
1596
+ "మత్తేభము",
1597
+ "శార్దూలం",
1598
+ "ఆటవెలది",
1599
+ "తేటగీతి",
1600
+ "కందము",
1601
+ "సీసము"
1602
+ ],
1603
+ "confusion_matrix": [
1604
+ [
1605
+ 1,
1606
+ 0,
1607
+ 0,
1608
+ 0,
1609
+ 0,
1610
+ 0,
1611
+ 0,
1612
+ 0
1613
+ ],
1614
+ [
1615
+ 0,
1616
+ 0,
1617
+ 0,
1618
+ 0,
1619
+ 0,
1620
+ 0,
1621
+ 0,
1622
+ 0
1623
+ ],
1624
+ [
1625
+ 0,
1626
+ 0,
1627
+ 0,
1628
+ 0,
1629
+ 0,
1630
+ 0,
1631
+ 0,
1632
+ 0
1633
+ ],
1634
+ [
1635
+ 0,
1636
+ 0,
1637
+ 0,
1638
+ 0,
1639
+ 0,
1640
+ 0,
1641
+ 0,
1642
+ 0
1643
+ ],
1644
+ [
1645
+ 0,
1646
+ 0,
1647
+ 0,
1648
+ 0,
1649
+ 0,
1650
+ 0,
1651
+ 0,
1652
+ 0
1653
+ ],
1654
+ [
1655
+ 0,
1656
+ 0,
1657
+ 0,
1658
+ 0,
1659
+ 0,
1660
+ 0,
1661
+ 0,
1662
+ 0
1663
+ ],
1664
+ [
1665
+ 0,
1666
+ 0,
1667
+ 0,
1668
+ 0,
1669
+ 0,
1670
+ 0,
1671
+ 1,
1672
+ 0
1673
+ ],
1674
+ [
1675
+ 0,
1676
+ 0,
1677
+ 0,
1678
+ 0,
1679
+ 0,
1680
+ 0,
1681
+ 0,
1682
+ 0
1683
+ ]
1684
+ ],
1685
+ "cross_entropy": 3.6419573007151484e-05,
1686
+ "macro_f1": 0.25,
1687
+ "observations": 2,
1688
+ "per_class": {
1689
+ "accuracy": 1.0,
1690
+ "macro avg": {
1691
+ "f1-score": 0.25,
1692
+ "precision": 0.25,
1693
+ "recall": 0.25,
1694
+ "support": 2.0
1695
+ },
1696
+ "weighted avg": {
1697
+ "f1-score": 1.0,
1698
+ "precision": 1.0,
1699
+ "recall": 1.0,
1700
+ "support": 2.0
1701
+ },
1702
+ "ఆటవెలది": {
1703
+ "f1-score": 0.0,
1704
+ "precision": 0.0,
1705
+ "recall": 0.0,
1706
+ "support": 0.0
1707
+ },
1708
+ "ఉత్పలమాల": {
1709
+ "f1-score": 1.0,
1710
+ "precision": 1.0,
1711
+ "recall": 1.0,
1712
+ "support": 1.0
1713
+ },
1714
+ "కందము": {
1715
+ "f1-score": 1.0,
1716
+ "precision": 1.0,
1717
+ "recall": 1.0,
1718
+ "support": 1.0
1719
+ },
1720
+ "చంపకమాల": {
1721
+ "f1-score": 0.0,
1722
+ "precision": 0.0,
1723
+ "recall": 0.0,
1724
+ "support": 0.0
1725
+ },
1726
+ "తేటగీతి": {
1727
+ "f1-score": 0.0,
1728
+ "precision": 0.0,
1729
+ "recall": 0.0,
1730
+ "support": 0.0
1731
+ },
1732
+ "మత్తేభము": {
1733
+ "f1-score": 0.0,
1734
+ "precision": 0.0,
1735
+ "recall": 0.0,
1736
+ "support": 0.0
1737
+ },
1738
+ "శార్దూలం": {
1739
+ "f1-score": 0.0,
1740
+ "precision": 0.0,
1741
+ "recall": 0.0,
1742
+ "support": 0.0
1743
+ },
1744
+ "సీసము": {
1745
+ "f1-score": 0.0,
1746
+ "precision": 0.0,
1747
+ "recall": 0.0,
1748
+ "support": 0.0
1749
+ }
1750
+ }
1751
+ },
1752
+ "ప్రభావతీప్రద్యుమ్నము": {
1753
+ "accuracy": 0.9688073394495413,
1754
+ "class_order": [
1755
+ "ఉత్పలమాల",
1756
+ "చంపకమాల",
1757
+ "మత్తేభము",
1758
+ "శార్దూలం",
1759
+ "ఆటవెలది",
1760
+ "తేటగీతి",
1761
+ "కందము",
1762
+ "సీసము"
1763
+ ],
1764
+ "confusion_matrix": [
1765
+ [
1766
+ 77,
1767
+ 0,
1768
+ 0,
1769
+ 0,
1770
+ 0,
1771
+ 0,
1772
+ 0,
1773
+ 0
1774
+ ],
1775
+ [
1776
+ 0,
1777
+ 78,
1778
+ 0,
1779
+ 0,
1780
+ 0,
1781
+ 0,
1782
+ 0,
1783
+ 0
1784
+ ],
1785
+ [
1786
+ 0,
1787
+ 0,
1788
+ 22,
1789
+ 0,
1790
+ 0,
1791
+ 0,
1792
+ 0,
1793
+ 0
1794
+ ],
1795
+ [
1796
+ 0,
1797
+ 0,
1798
+ 0,
1799
+ 20,
1800
+ 0,
1801
+ 0,
1802
+ 0,
1803
+ 0
1804
+ ],
1805
+ [
1806
+ 0,
1807
+ 0,
1808
+ 0,
1809
+ 0,
1810
+ 20,
1811
+ 10,
1812
+ 0,
1813
+ 0
1814
+ ],
1815
+ [
1816
+ 0,
1817
+ 0,
1818
+ 0,
1819
+ 0,
1820
+ 6,
1821
+ 61,
1822
+ 0,
1823
+ 0
1824
+ ],
1825
+ [
1826
+ 0,
1827
+ 0,
1828
+ 0,
1829
+ 0,
1830
+ 0,
1831
+ 1,
1832
+ 187,
1833
+ 0
1834
+ ],
1835
+ [
1836
+ 0,
1837
+ 0,
1838
+ 0,
1839
+ 0,
1840
+ 0,
1841
+ 0,
1842
+ 0,
1843
+ 63
1844
+ ]
1845
+ ],
1846
+ "cross_entropy": 0.08157116174697876,
1847
+ "macro_f1": 0.9486646111682082,
1848
+ "observations": 545,
1849
+ "per_class": {
1850
+ "accuracy": 0.9688073394495413,
1851
+ "macro avg": {
1852
+ "f1-score": 0.9486646111682082,
1853
+ "precision": 0.9520566239316239,
1854
+ "recall": 0.9464744098655657,
1855
+ "support": 545.0
1856
+ },
1857
+ "weighted avg": {
1858
+ "f1-score": 0.9683174192493974,
1859
+ "precision": 0.9685152513134165,
1860
+ "recall": 0.9688073394495413,
1861
+ "support": 545.0
1862
+ },
1863
+ "ఆటవెలది": {
1864
+ "f1-score": 0.7142857142857143,
1865
+ "precision": 0.7692307692307693,
1866
+ "recall": 0.6666666666666666,
1867
+ "support": 30.0
1868
+ },
1869
+ "ఉత్పలమాల": {
1870
+ "f1-score": 1.0,
1871
+ "precision": 1.0,
1872
+ "recall": 1.0,
1873
+ "support": 77.0
1874
+ },
1875
+ "కందము": {
1876
+ "f1-score": 0.9973333333333333,
1877
+ "precision": 1.0,
1878
+ "recall": 0.9946808510638298,
1879
+ "support": 188.0
1880
+ },
1881
+ "చంపకమాల": {
1882
+ "f1-score": 1.0,
1883
+ "precision": 1.0,
1884
+ "recall": 1.0,
1885
+ "support": 78.0
1886
+ },
1887
+ "తేటగీతి": {
1888
+ "f1-score": 0.8776978417266187,
1889
+ "precision": 0.8472222222222222,
1890
+ "recall": 0.9104477611940298,
1891
+ "support": 67.0
1892
+ },
1893
+ "మత్తేభము": {
1894
+ "f1-score": 1.0,
1895
+ "precision": 1.0,
1896
+ "recall": 1.0,
1897
+ "support": 22.0
1898
+ },
1899
+ "శార్దూలం": {
1900
+ "f1-score": 1.0,
1901
+ "precision": 1.0,
1902
+ "recall": 1.0,
1903
+ "support": 20.0
1904
+ },
1905
+ "సీసము": {
1906
+ "f1-score": 1.0,
1907
+ "precision": 1.0,
1908
+ "recall": 1.0,
1909
+ "support": 63.0
1910
+ }
1911
+ }
1912
+ },
1913
+ "రాజశేఖరశతకము": {
1914
+ "accuracy": 1.0,
1915
+ "class_order": [
1916
+ "ఉత్పలమాల",
1917
+ "చంపకమాల",
1918
+ "మత్తేభము",
1919
+ "శార్దూలం",
1920
+ "ఆటవెలది",
1921
+ "తేటగీతి",
1922
+ "కందము",
1923
+ "సీసము"
1924
+ ],
1925
+ "confusion_matrix": [
1926
+ [
1927
+ 43,
1928
+ 0,
1929
+ 0,
1930
+ 0,
1931
+ 0,
1932
+ 0,
1933
+ 0,
1934
+ 0
1935
+ ],
1936
+ [
1937
+ 0,
1938
+ 54,
1939
+ 0,
1940
+ 0,
1941
+ 0,
1942
+ 0,
1943
+ 0,
1944
+ 0
1945
+ ],
1946
+ [
1947
+ 0,
1948
+ 0,
1949
+ 0,
1950
+ 0,
1951
+ 0,
1952
+ 0,
1953
+ 0,
1954
+ 0
1955
+ ],
1956
+ [
1957
+ 0,
1958
+ 0,
1959
+ 0,
1960
+ 0,
1961
+ 0,
1962
+ 0,
1963
+ 0,
1964
+ 0
1965
+ ],
1966
+ [
1967
+ 0,
1968
+ 0,
1969
+ 0,
1970
+ 0,
1971
+ 0,
1972
+ 0,
1973
+ 0,
1974
+ 0
1975
+ ],
1976
+ [
1977
+ 0,
1978
+ 0,
1979
+ 0,
1980
+ 0,
1981
+ 0,
1982
+ 0,
1983
+ 0,
1984
+ 0
1985
+ ],
1986
+ [
1987
+ 0,
1988
+ 0,
1989
+ 0,
1990
+ 0,
1991
+ 0,
1992
+ 0,
1993
+ 0,
1994
+ 0
1995
+ ],
1996
+ [
1997
+ 0,
1998
+ 0,
1999
+ 0,
2000
+ 0,
2001
+ 0,
2002
+ 0,
2003
+ 0,
2004
+ 0
2005
+ ]
2006
+ ],
2007
+ "cross_entropy": 0.010708725079894066,
2008
+ "macro_f1": 0.25,
2009
+ "observations": 97,
2010
+ "per_class": {
2011
+ "accuracy": 1.0,
2012
+ "macro avg": {
2013
+ "f1-score": 0.25,
2014
+ "precision": 0.25,
2015
+ "recall": 0.25,
2016
+ "support": 97.0
2017
+ },
2018
+ "weighted avg": {
2019
+ "f1-score": 1.0,
2020
+ "precision": 1.0,
2021
+ "recall": 1.0,
2022
+ "support": 97.0
2023
+ },
2024
+ "ఆటవెలది": {
2025
+ "f1-score": 0.0,
2026
+ "precision": 0.0,
2027
+ "recall": 0.0,
2028
+ "support": 0.0
2029
+ },
2030
+ "ఉత్పలమాల": {
2031
+ "f1-score": 1.0,
2032
+ "precision": 1.0,
2033
+ "recall": 1.0,
2034
+ "support": 43.0
2035
+ },
2036
+ "కందము": {
2037
+ "f1-score": 0.0,
2038
+ "precision": 0.0,
2039
+ "recall": 0.0,
2040
+ "support": 0.0
2041
+ },
2042
+ "చంపకమాల": {
2043
+ "f1-score": 1.0,
2044
+ "precision": 1.0,
2045
+ "recall": 1.0,
2046
+ "support": 54.0
2047
+ },
2048
+ "తేటగీతి": {
2049
+ "f1-score": 0.0,
2050
+ "precision": 0.0,
2051
+ "recall": 0.0,
2052
+ "support": 0.0
2053
+ },
2054
+ "మత్తేభము": {
2055
+ "f1-score": 0.0,
2056
+ "precision": 0.0,
2057
+ "recall": 0.0,
2058
+ "support": 0.0
2059
+ },
2060
+ "శార్దూలం": {
2061
+ "f1-score": 0.0,
2062
+ "precision": 0.0,
2063
+ "recall": 0.0,
2064
+ "support": 0.0
2065
+ },
2066
+ "సీసము": {
2067
+ "f1-score": 0.0,
2068
+ "precision": 0.0,
2069
+ "recall": 0.0,
2070
+ "support": 0.0
2071
+ }
2072
+ }
2073
+ },
2074
+ "శృంగారనైషధము": {
2075
+ "accuracy": 0.9823182711198428,
2076
+ "class_order": [
2077
+ "ఉత్పలమాల",
2078
+ "చంపకమాల",
2079
+ "మత్తేభము",
2080
+ "శార్దూలం",
2081
+ "ఆటవెలది",
2082
+ "తేటగీతి",
2083
+ "కందము",
2084
+ "సీసము"
2085
+ ],
2086
+ "confusion_matrix": [
2087
+ [
2088
+ 154,
2089
+ 0,
2090
+ 0,
2091
+ 0,
2092
+ 0,
2093
+ 0,
2094
+ 0,
2095
+ 0
2096
+ ],
2097
+ [
2098
+ 0,
2099
+ 81,
2100
+ 0,
2101
+ 0,
2102
+ 0,
2103
+ 0,
2104
+ 0,
2105
+ 0
2106
+ ],
2107
+ [
2108
+ 0,
2109
+ 0,
2110
+ 83,
2111
+ 0,
2112
+ 0,
2113
+ 0,
2114
+ 0,
2115
+ 0
2116
+ ],
2117
+ [
2118
+ 0,
2119
+ 0,
2120
+ 0,
2121
+ 58,
2122
+ 0,
2123
+ 0,
2124
+ 0,
2125
+ 0
2126
+ ],
2127
+ [
2128
+ 0,
2129
+ 0,
2130
+ 0,
2131
+ 0,
2132
+ 5,
2133
+ 7,
2134
+ 0,
2135
+ 0
2136
+ ],
2137
+ [
2138
+ 0,
2139
+ 0,
2140
+ 0,
2141
+ 0,
2142
+ 7,
2143
+ 333,
2144
+ 0,
2145
+ 4
2146
+ ],
2147
+ [
2148
+ 0,
2149
+ 0,
2150
+ 0,
2151
+ 0,
2152
+ 0,
2153
+ 0,
2154
+ 169,
2155
+ 0
2156
+ ],
2157
+ [
2158
+ 0,
2159
+ 0,
2160
+ 0,
2161
+ 0,
2162
+ 0,
2163
+ 0,
2164
+ 0,
2165
+ 117
2166
+ ]
2167
+ ],
2168
+ "cross_entropy": 0.04816024750471115,
2169
+ "macro_f1": 0.9216930193129884,
2170
+ "observations": 1018,
2171
+ "per_class": {
2172
+ "accuracy": 0.9823182711198428,
2173
+ "macro avg": {
2174
+ "f1-score": 0.9216930193129884,
2175
+ "precision": 0.9203775725166099,
2176
+ "recall": 0.9230862403100775,
2177
+ "support": 1018.0
2178
+ },
2179
+ "weighted avg": {
2180
+ "f1-score": 0.9822995892597551,
2181
+ "precision": 0.9823672676461515,
2182
+ "recall": 0.9823182711198428,
2183
+ "support": 1018.0
2184
+ },
2185
+ "ఆటవెలది": {
2186
+ "f1-score": 0.4166666666666667,
2187
+ "precision": 0.4166666666666667,
2188
+ "recall": 0.4166666666666667,
2189
+ "support": 12.0
2190
+ },
2191
+ "ఉత్పలమాల": {
2192
+ "f1-score": 1.0,
2193
+ "precision": 1.0,
2194
+ "recall": 1.0,
2195
+ "support": 154.0
2196
+ },
2197
+ "కందము": {
2198
+ "f1-score": 1.0,
2199
+ "precision": 1.0,
2200
+ "recall": 1.0,
2201
+ "support": 169.0
2202
+ },
2203
+ "చంపకమాల": {
2204
+ "f1-score": 1.0,
2205
+ "precision": 1.0,
2206
+ "recall": 1.0,
2207
+ "support": 81.0
2208
+ },
2209
+ "తేటగీతి": {
2210
+ "f1-score": 0.9736842105263158,
2211
+ "precision": 0.9794117647058823,
2212
+ "recall": 0.9680232558139535,
2213
+ "support": 344.0
2214
+ },
2215
+ "మత్తేభము": {
2216
+ "f1-score": 1.0,
2217
+ "precision": 1.0,
2218
+ "recall": 1.0,
2219
+ "support": 83.0
2220
+ },
2221
+ "శార్దూలం": {
2222
+ "f1-score": 1.0,
2223
+ "precision": 1.0,
2224
+ "recall": 1.0,
2225
+ "support": 58.0
2226
+ },
2227
+ "సీసము": {
2228
+ "f1-score": 0.9831932773109243,
2229
+ "precision": 0.9669421487603306,
2230
+ "recall": 1.0,
2231
+ "support": 117.0
2232
+ }
2233
+ }
2234
+ },
2235
+ "శ్రీకాళహస్తిమాహాత్మ్యము": {
2236
+ "accuracy": 0.9791976225854383,
2237
+ "class_order": [
2238
+ "ఉత్పలమాల",
2239
+ "చంపకమాల",
2240
+ "మత్తేభము",
2241
+ "శార్దూలం",
2242
+ "ఆటవెలది",
2243
+ "తేటగీతి",
2244
+ "కందము",
2245
+ "సీసము"
2246
+ ],
2247
+ "confusion_matrix": [
2248
+ [
2249
+ 113,
2250
+ 0,
2251
+ 0,
2252
+ 0,
2253
+ 0,
2254
+ 0,
2255
+ 0,
2256
+ 0
2257
+ ],
2258
+ [
2259
+ 1,
2260
+ 51,
2261
+ 0,
2262
+ 0,
2263
+ 0,
2264
+ 0,
2265
+ 0,
2266
+ 0
2267
+ ],
2268
+ [
2269
+ 0,
2270
+ 0,
2271
+ 61,
2272
+ 0,
2273
+ 0,
2274
+ 0,
2275
+ 0,
2276
+ 0
2277
+ ],
2278
+ [
2279
+ 1,
2280
+ 0,
2281
+ 0,
2282
+ 94,
2283
+ 0,
2284
+ 0,
2285
+ 0,
2286
+ 0
2287
+ ],
2288
+ [
2289
+ 0,
2290
+ 0,
2291
+ 0,
2292
+ 0,
2293
+ 10,
2294
+ 5,
2295
+ 0,
2296
+ 0
2297
+ ],
2298
+ [
2299
+ 0,
2300
+ 0,
2301
+ 0,
2302
+ 0,
2303
+ 3,
2304
+ 41,
2305
+ 0,
2306
+ 1
2307
+ ],
2308
+ [
2309
+ 0,
2310
+ 0,
2311
+ 0,
2312
+ 0,
2313
+ 0,
2314
+ 0,
2315
+ 212,
2316
+ 0
2317
+ ],
2318
+ [
2319
+ 0,
2320
+ 0,
2321
+ 0,
2322
+ 0,
2323
+ 0,
2324
+ 3,
2325
+ 0,
2326
+ 77
2327
+ ]
2328
+ ],
2329
+ "cross_entropy": 0.07342611253261566,
2330
+ "macro_f1": 0.9421922513927228,
2331
+ "observations": 673,
2332
+ "per_class": {
2333
+ "accuracy": 0.9791976225854383,
2334
+ "macro avg": {
2335
+ "f1-score": 0.9421922513927228,
2336
+ "precision": 0.9469692057424977,
2337
+ "recall": 0.9388150865946918,
2338
+ "support": 673.0
2339
+ },
2340
+ "weighted avg": {
2341
+ "f1-score": 0.9791167317470618,
2342
+ "precision": 0.9794957865468142,
2343
+ "recall": 0.9791976225854383,
2344
+ "support": 673.0
2345
+ },
2346
+ "ఆటవెలది": {
2347
+ "f1-score": 0.7142857142857143,
2348
+ "precision": 0.7692307692307693,
2349
+ "recall": 0.6666666666666666,
2350
+ "support": 15.0
2351
+ },
2352
+ "ఉత్పలమాల": {
2353
+ "f1-score": 0.9912280701754386,
2354
+ "precision": 0.9826086956521739,
2355
+ "recall": 1.0,
2356
+ "support": 113.0
2357
+ },
2358
+ "కందము": {
2359
+ "f1-score": 1.0,
2360
+ "precision": 1.0,
2361
+ "recall": 1.0,
2362
+ "support": 212.0
2363
+ },
2364
+ "చంపకమాల": {
2365
+ "f1-score": 0.9902912621359223,
2366
+ "precision": 1.0,
2367
+ "recall": 0.9807692307692307,
2368
+ "support": 52.0
2369
+ },
2370
+ "తేటగీతి": {
2371
+ "f1-score": 0.8723404255319149,
2372
+ "precision": 0.8367346938775511,
2373
+ "recall": 0.9111111111111111,
2374
+ "support": 45.0
2375
+ },
2376
+ "మత్తేభము": {
2377
+ "f1-score": 1.0,
2378
+ "precision": 1.0,
2379
+ "recall": 1.0,
2380
+ "support": 61.0
2381
+ },
2382
+ "శార్దూలం": {
2383
+ "f1-score": 0.9947089947089947,
2384
+ "precision": 1.0,
2385
+ "recall": 0.9894736842105263,
2386
+ "support": 95.0
2387
+ },
2388
+ "సీసము": {
2389
+ "f1-score": 0.9746835443037974,
2390
+ "precision": 0.9871794871794872,
2391
+ "recall": 0.9625,
2392
+ "support": 80.0
2393
+ }
2394
+ }
2395
+ },
2396
+ "సీతాపతిశతకము": {
2397
+ "accuracy": 0.9905660377358491,
2398
+ "class_order": [
2399
+ "ఉత్పలమాల",
2400
+ "చంపకమాల",
2401
+ "మత్తేభము",
2402
+ "శార్దూలం",
2403
+ "ఆటవెలది",
2404
+ "తేటగీతి",
2405
+ "కందము",
2406
+ "సీసము"
2407
+ ],
2408
+ "confusion_matrix": [
2409
+ [
2410
+ 0,
2411
+ 0,
2412
+ 0,
2413
+ 0,
2414
+ 0,
2415
+ 0,
2416
+ 0,
2417
+ 0
2418
+ ],
2419
+ [
2420
+ 0,
2421
+ 0,
2422
+ 0,
2423
+ 0,
2424
+ 0,
2425
+ 0,
2426
+ 0,
2427
+ 0
2428
+ ],
2429
+ [
2430
+ 0,
2431
+ 0,
2432
+ 72,
2433
+ 0,
2434
+ 0,
2435
+ 0,
2436
+ 0,
2437
+ 1
2438
+ ],
2439
+ [
2440
+ 0,
2441
+ 0,
2442
+ 0,
2443
+ 33,
2444
+ 0,
2445
+ 0,
2446
+ 0,
2447
+ 0
2448
+ ],
2449
+ [
2450
+ 0,
2451
+ 0,
2452
+ 0,
2453
+ 0,
2454
+ 0,
2455
+ 0,
2456
+ 0,
2457
+ 0
2458
+ ],
2459
+ [
2460
+ 0,
2461
+ 0,
2462
+ 0,
2463
+ 0,
2464
+ 0,
2465
+ 0,
2466
+ 0,
2467
+ 0
2468
+ ],
2469
+ [
2470
+ 0,
2471
+ 0,
2472
+ 0,
2473
+ 0,
2474
+ 0,
2475
+ 0,
2476
+ 0,
2477
+ 0
2478
+ ],
2479
+ [
2480
+ 0,
2481
+ 0,
2482
+ 0,
2483
+ 0,
2484
+ 0,
2485
+ 0,
2486
+ 0,
2487
+ 0
2488
+ ]
2489
+ ],
2490
+ "cross_entropy": 0.028355775400996208,
2491
+ "macro_f1": 0.24913793103448276,
2492
+ "observations": 106,
2493
+ "per_class": {
2494
+ "accuracy": 0.9905660377358491,
2495
+ "macro avg": {
2496
+ "f1-score": 0.24913793103448276,
2497
+ "precision": 0.25,
2498
+ "recall": 0.2482876712328767,
2499
+ "support": 106.0
2500
+ },
2501
+ "weighted avg": {
2502
+ "f1-score": 0.9952504879635654,
2503
+ "precision": 1.0,
2504
+ "recall": 0.9905660377358491,
2505
+ "support": 106.0
2506
+ },
2507
+ "ఆటవెలది": {
2508
+ "f1-score": 0.0,
2509
+ "precision": 0.0,
2510
+ "recall": 0.0,
2511
+ "support": 0.0
2512
+ },
2513
+ "ఉత్పలమాల": {
2514
+ "f1-score": 0.0,
2515
+ "precision": 0.0,
2516
+ "recall": 0.0,
2517
+ "support": 0.0
2518
+ },
2519
+ "కందము": {
2520
+ "f1-score": 0.0,
2521
+ "precision": 0.0,
2522
+ "recall": 0.0,
2523
+ "support": 0.0
2524
+ },
2525
+ "చంపకమాల": {
2526
+ "f1-score": 0.0,
2527
+ "precision": 0.0,
2528
+ "recall": 0.0,
2529
+ "support": 0.0
2530
+ },
2531
+ "తేటగీతి": {
2532
+ "f1-score": 0.0,
2533
+ "precision": 0.0,
2534
+ "recall": 0.0,
2535
+ "support": 0.0
2536
+ },
2537
+ "మత్తేభము": {
2538
+ "f1-score": 0.993103448275862,
2539
+ "precision": 1.0,
2540
+ "recall": 0.9863013698630136,
2541
+ "support": 73.0
2542
+ },
2543
+ "శార్దూలం": {
2544
+ "f1-score": 1.0,
2545
+ "precision": 1.0,
2546
+ "recall": 1.0,
2547
+ "support": 33.0
2548
+ },
2549
+ "సీసము": {
2550
+ "f1-score": 0.0,
2551
+ "precision": 0.0,
2552
+ "recall": 0.0,
2553
+ "support": 0.0
2554
+ }
2555
+ }
2556
+ },
2557
+ "హరవిలాసము": {
2558
+ "accuracy": 0.9897959183673469,
2559
+ "class_order": [
2560
+ "ఉత్పలమాల",
2561
+ "చంపకమాల",
2562
+ "మత్తేభము",
2563
+ "శార్దూలం",
2564
+ "ఆటవెలది",
2565
+ "తేటగీతి",
2566
+ "కందము",
2567
+ "సీసము"
2568
+ ],
2569
+ "confusion_matrix": [
2570
+ [
2571
+ 62,
2572
+ 0,
2573
+ 0,
2574
+ 0,
2575
+ 0,
2576
+ 0,
2577
+ 0,
2578
+ 0
2579
+ ],
2580
+ [
2581
+ 0,
2582
+ 30,
2583
+ 0,
2584
+ 0,
2585
+ 0,
2586
+ 0,
2587
+ 0,
2588
+ 0
2589
+ ],
2590
+ [
2591
+ 0,
2592
+ 0,
2593
+ 32,
2594
+ 0,
2595
+ 0,
2596
+ 0,
2597
+ 0,
2598
+ 0
2599
+ ],
2600
+ [
2601
+ 0,
2602
+ 0,
2603
+ 0,
2604
+ 43,
2605
+ 0,
2606
+ 0,
2607
+ 0,
2608
+ 0
2609
+ ],
2610
+ [
2611
+ 0,
2612
+ 0,
2613
+ 0,
2614
+ 0,
2615
+ 1,
2616
+ 0,
2617
+ 0,
2618
+ 0
2619
+ ],
2620
+ [
2621
+ 0,
2622
+ 0,
2623
+ 0,
2624
+ 0,
2625
+ 2,
2626
+ 13,
2627
+ 0,
2628
+ 0
2629
+ ],
2630
+ [
2631
+ 0,
2632
+ 0,
2633
+ 0,
2634
+ 0,
2635
+ 0,
2636
+ 0,
2637
+ 6,
2638
+ 0
2639
+ ],
2640
+ [
2641
+ 0,
2642
+ 0,
2643
+ 0,
2644
+ 0,
2645
+ 0,
2646
+ 0,
2647
+ 0,
2648
+ 7
2649
+ ]
2650
+ ],
2651
+ "cross_entropy": 0.025422723963856697,
2652
+ "macro_f1": 0.9285714285714286,
2653
+ "observations": 196,
2654
+ "per_class": {
2655
+ "accuracy": 0.9897959183673469,
2656
+ "macro avg": {
2657
+ "f1-score": 0.9285714285714286,
2658
+ "precision": 0.9166666666666666,
2659
+ "recall": 0.9833333333333334,
2660
+ "support": 196.0
2661
+ },
2662
+ "weighted avg": {
2663
+ "f1-score": 0.9919825072886298,
2664
+ "precision": 0.9965986394557823,
2665
+ "recall": 0.9897959183673469,
2666
+ "support": 196.0
2667
+ },
2668
+ "ఆటవెలది": {
2669
+ "f1-score": 0.5,
2670
+ "precision": 0.3333333333333333,
2671
+ "recall": 1.0,
2672
+ "support": 1.0
2673
+ },
2674
+ "ఉత్పలమాల": {
2675
+ "f1-score": 1.0,
2676
+ "precision": 1.0,
2677
+ "recall": 1.0,
2678
+ "support": 62.0
2679
+ },
2680
+ "కందము": {
2681
+ "f1-score": 1.0,
2682
+ "precision": 1.0,
2683
+ "recall": 1.0,
2684
+ "support": 6.0
2685
+ },
2686
+ "చంపకమాల": {
2687
+ "f1-score": 1.0,
2688
+ "precision": 1.0,
2689
+ "recall": 1.0,
2690
+ "support": 30.0
2691
+ },
2692
+ "తేటగీతి": {
2693
+ "f1-score": 0.9285714285714286,
2694
+ "precision": 1.0,
2695
+ "recall": 0.8666666666666667,
2696
+ "support": 15.0
2697
+ },
2698
+ "మత్తేభము": {
2699
+ "f1-score": 1.0,
2700
+ "precision": 1.0,
2701
+ "recall": 1.0,
2702
+ "support": 32.0
2703
+ },
2704
+ "శార్దూలం": {
2705
+ "f1-score": 1.0,
2706
+ "precision": 1.0,
2707
+ "recall": 1.0,
2708
+ "support": 43.0
2709
+ },
2710
+ "సీసము": {
2711
+ "f1-score": 1.0,
2712
+ "precision": 1.0,
2713
+ "recall": 1.0,
2714
+ "support": 7.0
2715
+ }
2716
+ }
2717
+ }
2718
+ },
2719
+ "poem": {
2720
+ "accuracy": 0.9789852328663385,
2721
+ "class_order": [
2722
+ "ఉత్పలమాల",
2723
+ "చంపకమాల",
2724
+ "మత్తేభము",
2725
+ "శార్దూలం",
2726
+ "ఆటవెలది",
2727
+ "తేటగీతి",
2728
+ "కందము",
2729
+ "సీసము"
2730
+ ],
2731
+ "confusion_matrix": [
2732
+ [
2733
+ 994,
2734
+ 2,
2735
+ 0,
2736
+ 0,
2737
+ 0,
2738
+ 0,
2739
+ 0,
2740
+ 0
2741
+ ],
2742
+ [
2743
+ 1,
2744
+ 756,
2745
+ 1,
2746
+ 0,
2747
+ 0,
2748
+ 0,
2749
+ 1,
2750
+ 0
2751
+ ],
2752
+ [
2753
+ 0,
2754
+ 0,
2755
+ 732,
2756
+ 0,
2757
+ 0,
2758
+ 0,
2759
+ 0,
2760
+ 1
2761
+ ],
2762
+ [
2763
+ 1,
2764
+ 0,
2765
+ 0,
2766
+ 464,
2767
+ 0,
2768
+ 0,
2769
+ 0,
2770
+ 0
2771
+ ],
2772
+ [
2773
+ 0,
2774
+ 0,
2775
+ 0,
2776
+ 0,
2777
+ 95,
2778
+ 57,
2779
+ 0,
2780
+ 0
2781
+ ],
2782
+ [
2783
+ 0,
2784
+ 0,
2785
+ 0,
2786
+ 0,
2787
+ 27,
2788
+ 603,
2789
+ 4,
2790
+ 6
2791
+ ],
2792
+ [
2793
+ 0,
2794
+ 0,
2795
+ 0,
2796
+ 1,
2797
+ 0,
2798
+ 2,
2799
+ 1068,
2800
+ 0
2801
+ ],
2802
+ [
2803
+ 1,
2804
+ 0,
2805
+ 1,
2806
+ 0,
2807
+ 0,
2808
+ 5,
2809
+ 0,
2810
+ 459
2811
+ ]
2812
+ ],
2813
+ "cross_entropy": 0.0616019144654274,
2814
+ "macro_f1": 0.9484251702907207,
2815
+ "observations": 5282,
2816
+ "per_class": {
2817
+ "accuracy": 0.9789852328663385,
2818
+ "macro avg": {
2819
+ "f1-score": 0.9484251702907207,
2820
+ "precision": 0.9565665407931538,
2821
+ "recall": 0.9424861906139064,
2822
+ "support": 5282.0
2823
+ },
2824
+ "weighted avg": {
2825
+ "f1-score": 0.9783129588908124,
2826
+ "precision": 0.978221085829263,
2827
+ "recall": 0.9789852328663385,
2828
+ "support": 5282.0
2829
+ },
2830
+ "ఆటవెలది": {
2831
+ "f1-score": 0.6934306569343066,
2832
+ "precision": 0.7786885245901639,
2833
+ "recall": 0.625,
2834
+ "support": 152.0
2835
+ },
2836
+ "ఉత్పలమాల": {
2837
+ "f1-score": 0.997491219267436,
2838
+ "precision": 0.9969909729187563,
2839
+ "recall": 0.9979919678714859,
2840
+ "support": 996.0
2841
+ },
2842
+ "కందము": {
2843
+ "f1-score": 0.996268656716418,
2844
+ "precision": 0.9953401677539608,
2845
+ "recall": 0.9971988795518207,
2846
+ "support": 1071.0
2847
+ },
2848
+ "చంపకమాల": {
2849
+ "f1-score": 0.996704021094265,
2850
+ "precision": 0.9973614775725593,
2851
+ "recall": 0.9960474308300395,
2852
+ "support": 759.0
2853
+ },
2854
+ "తేటగీతి": {
2855
+ "f1-score": 0.9227237949502678,
2856
+ "precision": 0.904047976011994,
2857
+ "recall": 0.9421875,
2858
+ "support": 640.0
2859
+ },
2860
+ "మత్తేభము": {
2861
+ "f1-score": 0.9979550102249489,
2862
+ "precision": 0.997275204359673,
2863
+ "recall": 0.9986357435197817,
2864
+ "support": 733.0
2865
+ },
2866
+ "శార్దూలం": {
2867
+ "f1-score": 0.9978494623655914,
2868
+ "precision": 0.9978494623655914,
2869
+ "recall": 0.9978494623655914,
2870
+ "support": 465.0
2871
+ },
2872
+ "సీసము": {
2873
+ "f1-score": 0.9849785407725322,
2874
+ "precision": 0.9849785407725322,
2875
+ "recall": 0.9849785407725322,
2876
+ "support": 466.0
2877
+ }
2878
+ }
2879
+ },
2880
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
2881
+ "scope": "Historical v2 benchmark plus new-label held-out works; source annotations, not expert gold; no claim of blind historical test, calibration, rule verification or unseen-author generalization",
2882
+ "selected_before_test": true
2883
+ }
2884
+ }
cnn-eight-class/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb
3
+ size 1065160
cnn-eight-class/release.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "calibrated": false,
3
+ "classes": 8,
4
+ "data_manifest_sha256": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
5
+ "github_commit": "662c990fff5d8e2c03fd277dd337c405baed6556",
6
+ "github_repository": "https://github.com/Pranav-20186017/chandassu_recognition",
7
+ "legacy_packages_preserved": [
8
+ "cnn/",
9
+ "byt5/",
10
+ "hf_model.py"
11
+ ],
12
+ "loading_script": "load_hf_model.py",
13
+ "model": "ordered_poem_cnn_v1",
14
+ "native_run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
15
+ "notebook": "notebook.ipynb",
16
+ "python_loader": "hf_poem.py",
17
+ "seed": 17,
18
+ "selected_epoch": 11,
19
+ "test_accuracy": 0.9789852328663385,
20
+ "test_macro_f1": 0.9484251702907207,
21
+ "test_poems": 5282,
22
+ "weights_sha256": "cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb"
23
+ }
cnn-eight-class/selection.json ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "calibrated": false,
3
+ "checkpoint_sha256": "903ff6f991ef20df7600fc5b93ff8608079c0864b38915c0f6d312b6cdfc29b5",
4
+ "epochs_run": 19,
5
+ "parameter_count": 266056,
6
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
7
+ "selected_epoch": 11,
8
+ "selection_metrics": {
9
+ "accuracy": 0.8378116678770273,
10
+ "class_order": [
11
+ "ఉత్పలమాల",
12
+ "చంపకమాల",
13
+ "మత్తేభము",
14
+ "శార్దూలం",
15
+ "ఆటవెలది",
16
+ "తేటగీతి",
17
+ "కందము",
18
+ "సీసము"
19
+ ],
20
+ "confusion_matrix": [
21
+ [
22
+ 581,
23
+ 1,
24
+ 1,
25
+ 0,
26
+ 0,
27
+ 0,
28
+ 1,
29
+ 1
30
+ ],
31
+ [
32
+ 0,
33
+ 648,
34
+ 0,
35
+ 0,
36
+ 0,
37
+ 0,
38
+ 0,
39
+ 0
40
+ ],
41
+ [
42
+ 0,
43
+ 1,
44
+ 422,
45
+ 0,
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0
50
+ ],
51
+ [
52
+ 0,
53
+ 0,
54
+ 0,
55
+ 203,
56
+ 0,
57
+ 0,
58
+ 0,
59
+ 0
60
+ ],
61
+ [
62
+ 0,
63
+ 0,
64
+ 0,
65
+ 0,
66
+ 474,
67
+ 568,
68
+ 49,
69
+ 1
70
+ ],
71
+ [
72
+ 0,
73
+ 0,
74
+ 0,
75
+ 0,
76
+ 18,
77
+ 189,
78
+ 2,
79
+ 0
80
+ ],
81
+ [
82
+ 0,
83
+ 1,
84
+ 0,
85
+ 0,
86
+ 3,
87
+ 7,
88
+ 710,
89
+ 0
90
+ ],
91
+ [
92
+ 0,
93
+ 1,
94
+ 0,
95
+ 0,
96
+ 0,
97
+ 15,
98
+ 0,
99
+ 234
100
+ ]
101
+ ],
102
+ "cross_entropy": 0.5203068852424622,
103
+ "macro_f1": 0.8614443219668197,
104
+ "observations": 4131,
105
+ "per_class": {
106
+ "accuracy": 0.8378116678770273,
107
+ "macro avg": {
108
+ "f1-score": 0.8614443219668197,
109
+ "precision": 0.889372427243273,
110
+ "recall": 0.9062392366322556,
111
+ "support": 4131.0
112
+ },
113
+ "weighted avg": {
114
+ "f1-score": 0.851460290667382,
115
+ "precision": 0.9368394675424521,
116
+ "recall": 0.8378116678770273,
117
+ "support": 4131.0
118
+ },
119
+ "ఆటవెలది": {
120
+ "f1-score": 0.5973534971644613,
121
+ "precision": 0.9575757575757575,
122
+ "recall": 0.4340659340659341,
123
+ "support": 1092.0
124
+ },
125
+ "ఉత్పలమాల": {
126
+ "f1-score": 0.9965694682675815,
127
+ "precision": 1.0,
128
+ "recall": 0.9931623931623932,
129
+ "support": 585.0
130
+ },
131
+ "కందము": {
132
+ "f1-score": 0.9575185434929198,
133
+ "precision": 0.931758530183727,
134
+ "recall": 0.984743411927878,
135
+ "support": 721.0
136
+ },
137
+ "చంపకమాల": {
138
+ "f1-score": 0.9969230769230769,
139
+ "precision": 0.9938650306748467,
140
+ "recall": 1.0,
141
+ "support": 648.0
142
+ },
143
+ "తేటగీతి": {
144
+ "f1-score": 0.3825910931174089,
145
+ "precision": 0.24261874197689345,
146
+ "recall": 0.9043062200956937,
147
+ "support": 209.0
148
+ },
149
+ "మత్తేభము": {
150
+ "f1-score": 0.9976359338061466,
151
+ "precision": 0.9976359338061466,
152
+ "recall": 0.9976359338061466,
153
+ "support": 423.0
154
+ },
155
+ "శార్దూలం": {
156
+ "f1-score": 1.0,
157
+ "precision": 1.0,
158
+ "recall": 1.0,
159
+ "support": 203.0
160
+ },
161
+ "సీసము": {
162
+ "f1-score": 0.9629629629629629,
163
+ "precision": 0.9915254237288136,
164
+ "recall": 0.936,
165
+ "support": 250.0
166
+ }
167
+ }
168
+ },
169
+ "test_used_for_selection": false,
170
+ "validation_scores_are_checkpoint_selected": true
171
+ }
cnn-eight-class/tokenizer_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "hf_poem.ChandassuPoemTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "model_max_length": 512,
9
+ "padding_side": "right",
10
+ "tokenizer_class": "ChandassuPoemTokenizer"
11
+ }
cnn-eight-class/training_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 17,
3
+ "learning_rate": 0.001,
4
+ "weight_decay": 0.01,
5
+ "epochs": 40,
6
+ "minimum_epochs": 16,
7
+ "patience": 8,
8
+ "batch_poems": 32,
9
+ "max_tokens": 512,
10
+ "width": 64,
11
+ "kernel_sizes": [3, 5, 7],
12
+ "dropout": 0.2,
13
+ "device": "auto",
14
+ "precision": "auto",
15
+ "cpu_threads": 4,
16
+ "data_dir": "data/v3",
17
+ "output_dir": "runs/cnn-eight-class",
18
+ "lr_patience": 3,
19
+ "lr_factor": 0.5,
20
+ "min_lr": 0.000001,
21
+ "gradient_clip": 1.0
22
+ }
cnn-eight-class/vocabulary.json ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ " ": 2,
3
+ "!": 3,
4
+ "\"": 4,
5
+ "#": 5,
6
+ "'": 6,
7
+ "(": 7,
8
+ ")": 8,
9
+ ",": 9,
10
+ "-": 10,
11
+ ".": 11,
12
+ "0": 12,
13
+ "1": 13,
14
+ "2": 14,
15
+ "3": 15,
16
+ "4": 16,
17
+ "5": 17,
18
+ "6": 18,
19
+ "7": 19,
20
+ "8": 20,
21
+ "9": 21,
22
+ ":": 22,
23
+ ";": 23,
24
+ "?": 24,
25
+ "[": 25,
26
+ "\\": 26,
27
+ "|": 27,
28
+ "।": 28,
29
+ "॥": 29,
30
+ "ఁ": 30,
31
+ "ం": 31,
32
+ "ః": 32,
33
+ "అ": 33,
34
+ "ఆ": 34,
35
+ "ఇ": 35,
36
+ "ఈ": 36,
37
+ "ఉ": 37,
38
+ "ఊ": 38,
39
+ "ఋ": 39,
40
+ "ఎ": 40,
41
+ "ఏ": 41,
42
+ "ఐ": 42,
43
+ "ఒ": 43,
44
+ "ఓ": 44,
45
+ "ఔ": 45,
46
+ "క": 46,
47
+ "ఖ": 47,
48
+ "గ": 48,
49
+ "ఘ": 49,
50
+ "ఙ": 50,
51
+ "చ": 51,
52
+ "ఛ": 52,
53
+ "జ": 53,
54
+ "ఝ": 54,
55
+ "ఞ": 55,
56
+ "ట": 56,
57
+ "ఠ": 57,
58
+ "డ": 58,
59
+ "ఢ": 59,
60
+ "ణ": 60,
61
+ "త": 61,
62
+ "థ": 62,
63
+ "ద": 63,
64
+ "ధ": 64,
65
+ "న": 65,
66
+ "ప": 66,
67
+ "ఫ": 67,
68
+ "బ": 68,
69
+ "భ": 69,
70
+ "మ": 70,
71
+ "య": 71,
72
+ "ర": 72,
73
+ "ఱ": 73,
74
+ "ల": 74,
75
+ "ళ": 75,
76
+ "వ": 76,
77
+ "శ": 77,
78
+ "ష": 78,
79
+ "స": 79,
80
+ "హ": 80,
81
+ "ఽ": 81,
82
+ "ా": 82,
83
+ "ి": 83,
84
+ "ీ": 84,
85
+ "ు": 85,
86
+ "ూ": 86,
87
+ "ృ": 87,
88
+ "ె": 88,
89
+ "ే": 89,
90
+ "ై": 90,
91
+ "ొ": 91,
92
+ "ో": 92,
93
+ "ౌ": 93,
94
+ "్": 94,
95
+ "ౢ": 95,
96
+ "౦": 96,
97
+ "౽": 97,
98
+ "‌": 98,
99
+ "‍": 99,
100
+ "‘": 100,
101
+ "’": 101,
102
+ "“": 102,
103
+ "”": 103
104
+ }
config.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architecture": "ordered_poem_cnn_v1",
3
+ "architectures": [
4
+ "ChandassuPoemCNNForSequenceClassification"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "hf_poem.ChandassuPoemCNNConfig",
8
+ "AutoModel": "hf_poem.ChandassuPoemCNNForSequenceClassification",
9
+ "AutoModelForSequenceClassification": "hf_poem.ChandassuPoemCNNForSequenceClassification"
10
+ },
11
+ "calibrated": false,
12
+ "dropout": 0.2,
13
+ "id2label": {
14
+ "0": "ఉత్పలమాల",
15
+ "1": "చంపకమాల",
16
+ "2": "మత్తేభము",
17
+ "3": "శార్దూలం",
18
+ "4": "ఆటవెలది",
19
+ "5": "తేటగీతి",
20
+ "6": "కందము",
21
+ "7": "సీసము"
22
+ },
23
+ "kernel_sizes": [
24
+ 3,
25
+ 5,
26
+ 7
27
+ ],
28
+ "label2id": {
29
+ "ఆటవెలది": 4,
30
+ "ఉత్పలమాల": 0,
31
+ "కందము": 6,
32
+ "చంపకమాల": 1,
33
+ "తేటగీతి": 5,
34
+ "మత్తేభము": 2,
35
+ "శార్దూలం": 3,
36
+ "సీసము": 7
37
+ },
38
+ "labels": [
39
+ "ఉత్పలమాల",
40
+ "చంపకమాల",
41
+ "మత్తేభము",
42
+ "శార్దూలం",
43
+ "ఆటవెలది",
44
+ "తేటగీతి",
45
+ "కందము",
46
+ "సీసము"
47
+ ],
48
+ "max_tokens": 512,
49
+ "model_type": "chandassu_poem_cnn",
50
+ "pad_token_id": 0,
51
+ "prediction_unit": "poem",
52
+ "representation": "Four ordered padas; Seesamu body only",
53
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
54
+ "seed": 17,
55
+ "temperature": 1.0,
56
+ "training_data_manifest": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
57
+ "vocab_size": 104,
58
+ "width": 64
59
+ }
hf_poem.py ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Standalone Transformers loading for the ordered eight-class poem CNN.
2
+
3
+ Copyright 2026 Pranav Surampudi. SPDX-License-Identifier: LicenseRef-Chandassu-Citation
4
+ Depends only on PyTorch, Transformers and the standard library.
5
+ """
6
+
7
+ import json
8
+ import shutil
9
+ import unicodedata
10
+ from pathlib import Path
11
+
12
+ import torch
13
+ from torch import nn
14
+ from transformers import BatchEncoding, PretrainedConfig, PreTrainedModel, PreTrainedTokenizer
15
+ from transformers.modeling_outputs import SequenceClassifierOutput
16
+
17
+ LABELS = ["ఉత్పలమాల", "చంపకమాల", "మత్తేభము", "శార్దూలం", "ఆటవెలది", "తేటగీతి", "కందము", "సీసము"]
18
+
19
+
20
+ class ChandassuPoemCNNConfig(PretrainedConfig):
21
+ model_type = "chandassu_poem_cnn"
22
+
23
+ def __init__(self, vocab_size=2, width=64, kernel_sizes=None, dropout=0.2, labels=None, max_tokens=512, **kwargs):
24
+ labels = LABELS if labels is None else labels
25
+ if labels != LABELS:
26
+ raise ValueError("Requires the eight trained labels in their saved order")
27
+ kwargs.setdefault("id2label", dict(enumerate(labels)))
28
+ kwargs.setdefault("label2id", {label: i for i, label in enumerate(labels)})
29
+ kwargs.setdefault("pad_token_id", 0)
30
+ super().__init__(**kwargs)
31
+ self.labels = labels
32
+ self.vocab_size = vocab_size
33
+ self.width = width
34
+ self.kernel_sizes = kernel_sizes or [3, 5, 7]
35
+ self.dropout = dropout
36
+ self.max_tokens = max_tokens
37
+ self.architecture = "ordered_poem_cnn_v1"
38
+ self.calibrated = False
39
+ self.prediction_unit = "poem"
40
+ self.temperature = 1.0
41
+
42
+
43
+ def normalize(text):
44
+ return " ".join(unicodedata.normalize("NFC", text).replace("\ufeff", "").split())
45
+
46
+
47
+ class ChandassuPoemTokenizer(PreTrainedTokenizer):
48
+ """Whole-poem tokenizer: tensors have shape [batch, 4 ordered padas, tokens].
49
+
50
+ Pass one newline-separated poem string or a batch of complete poem strings.
51
+ Four full padas, eight Seesamu body half-lines, and 8+4 Seesamu layouts are
52
+ supported. In the latter case only the first eight body half-lines are used.
53
+ """
54
+
55
+ vocab_files_names = {"vocabulary_file": "vocabulary.json"}
56
+ model_input_names = ["input_ids", "attention_mask"]
57
+
58
+ def __init__(self, vocabulary_file, **kwargs):
59
+ self.vocabulary_file = str(vocabulary_file)
60
+ saved = json.loads(Path(vocabulary_file).read_text())
61
+ if (
62
+ not saved
63
+ or any(not isinstance(c, str) or len(c) != 1 for c in saved)
64
+ or any(type(i) is not int for i in saved.values())
65
+ or sorted(saved.values()) != list(range(2, len(saved) + 2))
66
+ ):
67
+ raise ValueError("Invalid character vocabulary")
68
+ self.tokens = {"[PAD]": 0, "[UNK]": 1, **saved}
69
+ self.reverse_tokens = {i: c for c, i in self.tokens.items()}
70
+ self.limit = kwargs.get("model_max_length", 512)
71
+ kwargs.setdefault("model_max_length", self.limit)
72
+ kwargs.setdefault("pad_token", "[PAD]")
73
+ kwargs.setdefault("unk_token", "[UNK]")
74
+ kwargs.setdefault("padding_side", "right")
75
+ super().__init__(**kwargs)
76
+
77
+ @property
78
+ def vocab_size(self):
79
+ return len(self.tokens)
80
+
81
+ def get_vocab(self):
82
+ return dict(self.tokens, **self.added_tokens_encoder)
83
+
84
+ def tokenize(self, text, **kwargs):
85
+ text = normalize(text)
86
+ if not text or len(text) > self.limit:
87
+ raise ValueError(f"Pada length outside 1..{self.limit}; no truncation")
88
+ return list(text)
89
+
90
+ def _tokenize(self, text):
91
+ return self.tokenize(text)
92
+
93
+ def _convert_token_to_id(self, token):
94
+ return self.tokens.get(token, 1)
95
+
96
+ def _convert_id_to_token(self, index):
97
+ return self.reverse_tokens.get(index, "[UNK]")
98
+
99
+ def convert_tokens_to_string(self, tokens):
100
+ return "".join(tokens)
101
+
102
+ def __call__(
103
+ self, text, text_pair=None, padding=True, truncation=False, max_length=None, return_tensors="pt", **kwargs
104
+ ):
105
+ if text_pair is not None:
106
+ raise ValueError("Text pairs are unsupported; supply a complete poem")
107
+ if truncation not in (None, False, "do_not_truncate"):
108
+ raise ValueError("Truncation is unsupported; supply complete padas")
109
+ if return_tensors not in (None, "pt"):
110
+ raise ValueError("Use return_tensors='pt' or None")
111
+ if kwargs.get("is_split_into_words") or kwargs.get("stride") or kwargs.get("return_overflowing_tokens"):
112
+ raise ValueError("Split words, stride and overflowing chunks cannot represent a complete poem")
113
+ if self.padding_side != "right" or kwargs.get("padding_side", "right") != "right":
114
+ raise ValueError("The trained CNN requires right padding")
115
+ poems = [text] if isinstance(text, str) else text
116
+ if not isinstance(poems, (list, tuple)) or not poems or any(not isinstance(p, str) for p in poems):
117
+ raise ValueError("Supply a poem string or a list of complete poem strings")
118
+ encoded = []
119
+ for poem in poems:
120
+ lines = [normalize(t) for t in poem.splitlines() if normalize(t)]
121
+ if len(lines) not in {4, 8, 12}:
122
+ raise ValueError(
123
+ "Supply four full ordered padas, or eight Seesamu body half-lines "
124
+ "optionally followed by four closing geeti lines"
125
+ )
126
+ if len(lines) != 4:
127
+ lines = [" ".join(lines[i : i + 2]) for i in range(0, 8, 2)]
128
+ encoded.append([[self.tokens.get(c, 1) for c in self.tokenize(line)] for line in lines])
129
+ longest = max(len(line) for poem in encoded for line in poem)
130
+ if max_length is not None and (type(max_length) is not int or max_length < longest):
131
+ raise ValueError("max_length cannot truncate a complete pada")
132
+ if padding in {False, None, "do_not_pad"}:
133
+ if return_tensors is not None and any(len(line) != longest for poem in encoded for line in poem):
134
+ raise ValueError("Use padding=True for mixed-length padas in a tensor batch")
135
+ length = None
136
+ elif padding in {True, "longest", "max_length"}:
137
+ length = (max_length or self.limit) if padding == "max_length" else longest
138
+ else:
139
+ raise ValueError("Unsupported padding mode")
140
+ if length is not None:
141
+ encoded = [[line + [0] * (length - len(line)) for line in poem] for poem in encoded]
142
+ masks = [[[int(t != 0) for t in line] for line in poem] for poem in encoded]
143
+ output = {"input_ids": encoded, "attention_mask": masks}
144
+ if return_tensors == "pt":
145
+ output = {k: torch.tensor(v, dtype=torch.long) for k, v in output.items()}
146
+ return BatchEncoding(output)
147
+
148
+ def encode(self, text, **kwargs):
149
+ return self(text, **dict(kwargs, return_tensors=None))["input_ids"][0]
150
+
151
+ def save_vocabulary(self, save_directory, filename_prefix=None):
152
+ path = Path(save_directory) / ((filename_prefix + "-" if filename_prefix else "") + "vocabulary.json")
153
+ if path.resolve() != Path(self.vocabulary_file).resolve():
154
+ shutil.copyfile(self.vocabulary_file, path)
155
+ return (str(path),)
156
+
157
+
158
+ class ChandassuPoemCNNForSequenceClassification(PreTrainedModel):
159
+ """One uncalibrated eight-class logit vector per complete poem."""
160
+
161
+ config_class = ChandassuPoemCNNConfig
162
+
163
+ def __init__(self, config):
164
+ super().__init__(config)
165
+ self.embedding = nn.Embedding(config.vocab_size, config.width, padding_idx=0)
166
+ self.dropout = nn.Dropout(config.dropout)
167
+ self.convolutions = nn.ModuleList(
168
+ [nn.Conv1d(config.width, config.width, k, padding=k // 2) for k in config.kernel_sizes]
169
+ )
170
+ features = 2 * config.width * len(config.kernel_sizes)
171
+ self.classifier = nn.Sequential(
172
+ nn.Linear(4 * features, 128), nn.ReLU(), nn.Dropout(config.dropout), nn.Linear(128, len(config.labels))
173
+ )
174
+ self.post_init()
175
+
176
+ def forward(self, input_ids, attention_mask=None, labels=None, return_dict=None, **kwargs):
177
+ if input_ids.ndim != 3 or input_ids.shape[1] != 4:
178
+ raise ValueError("Expected [batch, 4 ordered padas, tokens]; tokenize complete poems")
179
+ valid = input_ids.ne(0)
180
+ if not valid.any(2).all():
181
+ raise ValueError("Empty pada")
182
+ if attention_mask is not None and not torch.equal(attention_mask.bool(), valid):
183
+ raise ValueError("Attention mask must match non-padding token IDs")
184
+ batch = input_ids.shape[0]
185
+ flat = input_ids.reshape(-1, input_ids.shape[-1])
186
+ mask = flat.ne(0)
187
+ x = self.dropout(self.embedding(flat).masked_fill(~mask.unsqueeze(-1), 0)).transpose(1, 2)
188
+ features = []
189
+ for conv in self.convolutions:
190
+ h = torch.relu(conv(x))
191
+ maximum = h.masked_fill(~mask.unsqueeze(1), float("-inf")).amax(2)
192
+ mean = h.masked_fill(~mask.unsqueeze(1), 0).sum(2) / mask.sum(1, keepdim=True)
193
+ features.extend([maximum, mean])
194
+ logits = self.classifier(self.dropout(torch.cat(features, 1).reshape(batch, -1)))
195
+ loss = nn.functional.cross_entropy(logits, labels) if labels is not None else None
196
+ if return_dict is False or (return_dict is None and not self.config.use_return_dict):
197
+ return (loss, logits) if loss is not None else (logits,)
198
+ return SequenceClassifierOutput(loss=loss, logits=logits)
legacy-four-class/README.md ADDED
@@ -0,0 +1,296 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - te
4
+ license: other
5
+ license_name: chandassu-citation
6
+ license_link: https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/LICENSE
7
+ library_name: transformers
8
+ pipeline_tag: text-classification
9
+ tags:
10
+ - telugu
11
+ - poetry
12
+ - poetic-meter
13
+ - cnn
14
+ - byt5
15
+ - safetensors
16
+ ---
17
+
18
+ # Chandassu Recognition
19
+
20
+ **Author: Pranav Surampudi**
21
+
22
+ Chandassu Recognition identifies four Telugu poetic meters:
23
+ **ఉత్పలమాల · చంపకమాల · మత్తేభము · శార్దూలం**.
24
+
25
+ The current CNN was trained on **NVIDIA GB10 (GX10)** using the expanded v2 corpus.
26
+ The ByT5 package remains the original **NVIDIA H100 NVL** model on v1 data.
27
+ This repository provides a character CNN and a ByT5 encoder classifier.
28
+ Use the CNN when you need a smaller model.
29
+
30
+ ## Model packages
31
+
32
+ | Model | Directory | Parameters | Seed | Selected epoch |
33
+ |---|---|---:|---:|---:|
34
+ | Character CNN | [cnn](https://huggingface.co/sprx7767/chandassu-recognition/tree/main/cnn) | 68,484 | 73 | 58 |
35
+ | ByT5 encoder | [byt5](https://huggingface.co/sprx7767/chandassu-recognition/tree/main/byt5) | 217,663,364 | 17 | 17 |
36
+
37
+ Each directory contains SafeTensors weights, configuration, input encoding, calibration settings, and model metadata.
38
+ Use `AutoTokenizer` and `AutoModelForSequenceClassification` to load either model in a Python environment.
39
+ You can also use the project loader and web interface.
40
+
41
+ [Project code and instructions](https://github.com/Pranav-20186017/chandassu_recognition)
42
+
43
+ ## Architectures
44
+
45
+ The CNN encodes 93 characters, plus padding and unknown tokens, with 64-dimensional embeddings.
46
+ Three convolution branches use kernel sizes 3, 5, and 7.
47
+ Each branch applies ReLU and masked max pooling to produce 64 features.
48
+ A linear layer maps the combined 192 features to four class logits.
49
+
50
+ The ByT5 model uses the encoder from [google/byt5-small](https://huggingface.co/google/byt5-small).
51
+ The base revision is `68377bdc18a2ffec8a0533fef03b1c513a4dd49d`.
52
+ The encoder has 12 layers and a hidden width of 1,472.
53
+ Masked mean pooling and a linear classification layer produce four class logits.
54
+
55
+ Both models classify individual lines.
56
+ Temperature calibration adjusts the line probabilities.
57
+ The mean of four line probability vectors gives the poem probabilities.
58
+ The class with the highest probability is the poem prediction.
59
+
60
+ [Architecture diagrams](https://github.com/Pranav-20186017/chandassu_recognition#model-architectures)
61
+
62
+ ## Data and sources
63
+
64
+ The poems come from [AndhraBharati](https://andhrabharati.com/) and [Telugu Wikisource](https://te.wikisource.org/).
65
+ The current CNN uses **13,295 complete poems**, **53,180 lines**, and **70 retained works**
66
+ from v2, which already includes v1. ByT5 continues to use v1: 11,518 poems, 46,072 lines,
67
+ and 36 retained works. The CNN update does not retrain or replace ByT5.
68
+
69
+ | Use | CNN v2 poems / lines | ByT5 v1 poems / lines |
70
+ |---|---:|---:|
71
+ | Weight training | 7,575 / 30,300 | 6,517 / 26,068 |
72
+ | Temperature calibration | 908 / 3,632 | 908 / 3,632 |
73
+ | Validation | 1,859 / 7,436 | 1,859 / 7,436 |
74
+ | Holdout test | 2,953 / 11,812 | 2,234 / 8,936 |
75
+ | Total | 13,295 / 53,180 | 11,518 / 46,072 |
76
+
77
+ All original v1 split assignments are preserved. Of 1,777 new poems from 34 works,
78
+ 1,058 poems from 27 works join fitting and 719 poems from seven works remain test.
79
+ The new-work test allocation was frozen before training. One CNN test file combines
80
+ the original 2,234 test poems and the 719 new-work test poems. Validation is unchanged.
81
+ The 908 calibration poems are inside canonical train but never update model weights.
82
+
83
+ Validation poem Macro F1 selects each checkpoint. Selected-checkpoint validation F1,
84
+ then unweighted validation line cross-entropy, selects the released single CNN across
85
+ seeds. Temperature is fitted separately for each model after checkpoint selection.
86
+ Test data are excluded from fitting, vocabulary construction, selection, and calibration.
87
+ All four ordered lines, work/edition families, and duplicate-linked works stay together.
88
+ Authors may overlap. Source annotations and rule provenance are retained; these are
89
+ not independently verified expert gold labels. Both CNN test cohorts were evaluated
90
+ on earlier models: this is a fixed benchmark, not a new blind test or unseen-author study.
91
+
92
+ The [v2 work catalogue](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v2/WORKS.md)
93
+ records the new works and their fitting/test assignments. The complete machine-readable
94
+ catalogue includes 80 collected works, of which 70 retain supervised four-class poems.
95
+ The [v1 catalogue](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v1/WORKS.md)
96
+ retains the original collection, including non-target and excluded material.
97
+
98
+ ## Training hyperparameters
99
+
100
+ | Hyperparameter | CNN | ByT5 |
101
+ |---|---:|---:|
102
+ | Initial learning rate | 0.0001 | 0.00003 |
103
+ | Microbatch size, poems | 16 | 8 |
104
+ | Effective batch size, poems | 16 | 16 |
105
+ | Evaluation batch size, poems | 16 | 8 |
106
+ | Maximum epochs | 60 | 32 |
107
+ | Minimum epochs | 24 | 8 |
108
+ | Early stopping: epochs without improvement | 12 | 8 |
109
+ | Input limit per line | 256 characters | 1,024 byte tokens, including the end token |
110
+ | Gradient checkpointing | Off | Off |
111
+
112
+ Both models use AdamW, weight decay 0.01, dropout 0.2, and gradient clipping 1.0.
113
+ ReduceLROnPlateau uses validation line cross-entropy loss without class weights.
114
+ The scheduler has patience 4, multiplier 0.5, and minimum learning rate 0.000001.
115
+ The H100 study selected initial CNN LR 0.0001; the expanded GX10 run reuses it for
116
+ seeds 17, 42, and 73 without another rate search or nested-fold study. All three CNNs
117
+ share the same frozen partitions and architecture. They start from fresh weights.
118
+ This repository contains the validation-selected CNN seed 73 and unchanged ByT5 seed 17.
119
+
120
+ The exported calibration temperatures are **1.401754510250526** for CNN and **1.1801772437687996** for ByT5.
121
+ CNN runtime: Python 3.12.3, PyTorch 2.10.0a0+b558c986e8.nv25.11, CUDA 13.0, NVIDIA GB10, BF16.
122
+ Its training checkout was clean at `f7939ccac30d14bab929ed7d9c91aa202c5a9c80`.
123
+
124
+ ## Current CNN results
125
+
126
+ | CNN seed | Selected epoch | Validation poem Macro F1 | Validation line CE before temperature | Temperature |
127
+ |---|---:|---:|---:|---:|
128
+ | 17 | 54 | 0.998596 | 0.031031 | 1.339218 |
129
+ | 42 | 60 | 0.998596 | 0.031057 | 1.396669 |
130
+ | 73 (released) | 58 | 0.998596 | 0.028452 | 1.401755 |
131
+
132
+ Seed 73 wins the validation F1 tie through lower validation CE. Test results never
133
+ select the seed. Every seed completed 60 epochs, followed by separate temperature
134
+ calibration on the 908 calibration poems. Validation scores are checkpoint-selected.
135
+
136
+ | Released CNN seed 73 benchmark | Poems | Correct | Poem Macro F1 | Line Macro F1 |
137
+ |---|---:|---:|---:|---:|
138
+ | Original v1 test | 2,234 | 2,234 | 1.000000 | 0.993992 |
139
+ | Frozen new-work test | 719 | 716 | 0.996042 | 0.991346 |
140
+ | Combined test | 2,953 | 2,950 | 0.999084 | 0.993420 |
141
+
142
+ All three replicas and their predetermined equal-probability ensemble have the same
143
+ combined-test poem score and the same three errors. Matched CPU inference with the
144
+ previously released v1 CNN seed 17 produces the same poem predictions on these 2,953
145
+ poems. There is **no measured poem-level gain** from this update. Combined-test line
146
+ Macro F1 changes from 0.992608 (old CNN) to 0.993420 (new CNN); hardware/runtime,
147
+ vocabulary, seed, and data differ, so this does not isolate the effect of corpus growth.
148
+ The local three-seed ensemble line Macro F1 is 0.993592; it offers no poem-level gain.
149
+ Ensemble membership and equal weights were fixed before evaluation.
150
+
151
+ The returned checkpoints and native SafeTensors were compared tensor-for-tensor;
152
+ file manifests, code identity, all split fingerprints, calibration assignments and
153
+ checkpoint selection were verified. Mac CPU inference reproduces the test confusion
154
+ matrices and F1 scores. The exported Transformers package preserves the selected weights.
155
+ See the CNN directory's selection, test and verification reports.
156
+
157
+ ## Original H100 study (v1), retained for comparison
158
+
159
+ | Original v1 measure | Original CNN | Unchanged ByT5 |
160
+ |---|---:|---:|
161
+ | Cross-validation poem Macro F1, mean across three seeds | 0.997130 | 0.997137 |
162
+ | Correct historical test poems, seed 17 | 2,234 / 2,234 | 2,233 / 2,234 |
163
+ | Historical test poem Macro F1, seed 17 | 1.000000 | 0.999619 |
164
+
165
+ These original study scores do not describe a repeated cross-validation experiment
166
+ on v2. The historical test had been examined during earlier project work. Labels
167
+ combine source annotations and rule-based checks; experts have not verified every label.
168
+ [Original study evidence](https://github.com/Pranav-20186017/chandassu_recognition/tree/main/results/v1)
169
+
170
+ ## Run inference
171
+
172
+ ### Python
173
+
174
+ Install the tested dependencies in your Python environment:
175
+
176
+ ```bash
177
+ pip install "torch==2.8.0" "transformers==4.57.6" "safetensors==0.8.0"
178
+ ```
179
+
180
+ Use the Transformers Auto interfaces to load the tokenizer and classifier.
181
+ The tokenizer applies the same text normalization and input encoding used in training.
182
+ The model returns four raw logits for each line.
183
+ Apply the saved calibration temperature, then average line probabilities to classify a poem.
184
+
185
+ ```python
186
+ import torch
187
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer
188
+
189
+ repo = "sprx7767/chandassu-recognition"
190
+ options = {"subfolder": "cnn", "trust_remote_code": True}
191
+ # Change "cnn" to "byt5" to load the ByT5 encoder classifier.
192
+ tokenizer = AutoTokenizer.from_pretrained(repo, **options)
193
+ model = AutoModelForSequenceClassification.from_pretrained(repo, **options).eval()
194
+
195
+ poem = """శ్రీ కైవల్య పదంబుఁ జేరుటకునై చింతించెదన్ లోక ర
196
+ క్షైకారంభకు, భక్త పాలన కళా సంరంభకున్, దానవో
197
+ ద్రేకస్తంభకుఁ, గేళి లోల విలసద్దృగ్జాల సంభూత నా
198
+ నా కంజాత భవాండ కుంభకు, మహానందాంగనాడింభకున్."""
199
+ lines = [line.strip() for line in poem.splitlines() if line.strip()]
200
+ if len(lines) not in (1, 4):
201
+ raise ValueError("Supply one line or a four-line poem")
202
+ inputs = tokenizer(lines, padding=True, return_tensors="pt")
203
+ with torch.inference_mode():
204
+ logits = model(**inputs).logits
205
+ line_scores = (logits.double() / model.config.calibration_temperature).softmax(dim=-1)
206
+ scores = line_scores.mean(dim=0)
207
+
208
+ winner = scores.argmax().item()
209
+ print(model.config.id2label[winner], f"{scores[winner].item():.2%}")
210
+ for index, score in enumerate(scores):
211
+ print(model.config.id2label[index], f"{score.item():.2%}")
212
+ ```
213
+
214
+ `AutoModel.from_pretrained(repo, **options)` also loads this classifier.
215
+ `trust_remote_code=True` loads the Python classes supplied in the model repository.
216
+ For a fixed model version, add `"revision": "<full commit ID>"` to `options`.
217
+ The example was tested with Python 3.12 and the dependency versions listed above.
218
+ Input limits are 256 characters per line for CNN and 1,024 byte tokens, including the end token, for ByT5.
219
+ The tokenizer rejects overlong input and does not truncate lines.
220
+
221
+ Class probabilities are calibrated scores, not statistical confidence intervals.
222
+ A standard text-classification pipeline applies its own softmax to line logits.
223
+ Use the calculation above for calibrated poem scores.
224
+ Clone this project when you need the web interface, ensembles, or training.
225
+
226
+ ### Web interface
227
+
228
+ Install the project and its dependencies:
229
+
230
+ ```bash
231
+ git clone https://github.com/Pranav-20186017/chandassu_recognition.git
232
+ cd chandassu_recognition
233
+ uv sync --locked --extra cpu
234
+ source .venv/bin/activate
235
+ ```
236
+
237
+ Download and serve the CNN:
238
+
239
+ ```bash
240
+ hf download sprx7767/chandassu-recognition \
241
+ --include 'cnn/*' --local-dir models/hf
242
+
243
+ python inference.py --model_dir=models/hf/cnn --strategy=single --port=8765
244
+ ```
245
+
246
+ For ByT5, use these commands instead:
247
+
248
+ ```bash
249
+ hf download sprx7767/chandassu-recognition \
250
+ --include 'byt5/*' --local-dir models/hf
251
+
252
+ python inference.py --model_dir=models/hf/byt5 --strategy=single --port=8765
253
+ ```
254
+
255
+ Open [http://127.0.0.1:8765](http://127.0.0.1:8765).
256
+ Paste a single line or a four-line poem.
257
+ The interface displays the meter, class probabilities, and line predictions.
258
+ It supports light and dark themes.
259
+ The API endpoint is `POST /api/predict` with a JSON request containing `text`.
260
+
261
+ You can also train additional models with different seeds and hyperparameters.
262
+ Use `--model_dirs` and `--strategy=ensemble` to load them together.
263
+ Each ensemble requires distinct seeds from one model family.
264
+
265
+ ## Limitations
266
+
267
+ Use these models to classify the four listed meters.
268
+ They can assign high probabilities to poems from other meters.
269
+ A high probability does not establish that an input belongs to a supported class.
270
+ Class probabilities and score ranges are not statistical confidence intervals.
271
+ The models do not produce syllable divisions, Guru/Laghu patterns, or gaṇa sequences.
272
+ Performance on new works, different spellings, and damaged text can differ from the reported results.
273
+
274
+ ## License and citation
275
+
276
+ Project-owned material uses the [Chandassu citation license](https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/LICENSE).
277
+ Cite Chandassu Recognition when you use the covered code or dataset material.
278
+ Earlier Apache-2.0 permissions remain in effect.
279
+ The ByT5 base encoder retains its Apache-2.0 license.
280
+
281
+ Poems, editions, transcriptions, and source annotations retain their original rights and terms.
282
+ Source rights have not been independently verified for every edition.
283
+ Preserve poem authors and source links when you share data.
284
+ See the [dataset rights statement](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/LICENSE.md).
285
+
286
+ ```bibtex
287
+ @misc{pranav2026chandassu,
288
+ author = {Pranav Surampudi},
289
+ title = {Chandassu Recognition: Telugu Poetic Meter Classification},
290
+ year = {2026},
291
+ howpublished = {\url{https://github.com/Pranav-20186017/chandassu_recognition}},
292
+ note = {Code, dataset annotations, and trained-model results}
293
+ }
294
+ ```
295
+
296
+ [Citation metadata](https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/CITATION.cff)
load_hf_model.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Load the public eight-class poem CNN and classify a UTF-8 poem text file.
2
+
3
+ python scripts/load_hf_model.py --poem poem.txt --revision FULL_HF_COMMIT
4
+ """
5
+
6
+ import argparse
7
+ from pathlib import Path
8
+
9
+ import torch
10
+ from huggingface_hub import HfApi
11
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer
12
+
13
+
14
+ def main(argv=None):
15
+ parser = argparse.ArgumentParser(description=__doc__)
16
+ parser.add_argument("--repo_id", default="sprx7767/chandassu-recognition")
17
+ parser.add_argument("--revision", help="Immutable HF commit; if omitted, resolve main once and pin both loaders")
18
+ parser.add_argument("--subfolder", help="Optional explicit package: cnn-eight-class")
19
+ parser.add_argument("--poem", type=Path, required=True, help="Complete newline-separated poem in UTF-8")
20
+ parser.add_argument("--device", choices=["cpu", "cuda", "mps"], default="cpu")
21
+ args = parser.parse_args(argv)
22
+ revision = args.revision or HfApi().model_info(args.repo_id, token=False).sha
23
+ if len(revision) != 40 or any(c not in "0123456789abcdef" for c in revision):
24
+ parser.error("--revision must be a complete lowercase hexadecimal HF commit ID")
25
+ options = dict(revision=revision, trust_remote_code=True, token=False)
26
+ if args.subfolder:
27
+ options["subfolder"] = args.subfolder
28
+ tokenizer = AutoTokenizer.from_pretrained(args.repo_id, **options)
29
+ model = AutoModelForSequenceClassification.from_pretrained(args.repo_id, **options).to(args.device).eval()
30
+ if getattr(model.config, "prediction_unit", None) != "poem":
31
+ parser.error("This script requires the eight-class whole-poem model; original four-class models classify lines")
32
+ inputs = tokenizer(args.poem.read_text(encoding="utf-8"), padding=True, return_tensors="pt").to(args.device)
33
+ with torch.inference_mode():
34
+ scores = model(**inputs).logits.double().softmax(-1)[0]
35
+ print(f"Hugging Face revision: {revision}")
36
+ print(f"Prediction: {model.config.id2label[int(scores.argmax())]} (uncalibrated score)")
37
+ for i in scores.argsort(descending=True).tolist():
38
+ print(f"{model.config.id2label[i]}: {float(scores[i]):.4%}")
39
+
40
+
41
+ if __name__ == "__main__":
42
+ main()
manifest.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": {
3
+ "config.json": "d56b49a05f27342b5ffa9d64f7f027ab5577bf2e0c02b7f23a7206d5cb7dd226",
4
+ "hf_poem.py": "685586f749074598d619d29c1d1262c30c3d69a00ac39d1f7539e5423d627a23",
5
+ "metadata.json": "7ea85e4fae87b5a4dc795f448fc48c84b67bcbaf6995cb5def3a6f13d3af6473",
6
+ "model.safetensors": "cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb",
7
+ "tokenizer_config.json": "7a8ae5c27b87d81efacd44f49195cb0840bb0eccb41d73f14c360aa9a0bfbfd8",
8
+ "vocabulary.json": "650d957aa33d5e39a0a4cdd8c024002519f029ab183a944156132b24363a7b51"
9
+ }
10
+ }
metadata.json ADDED
@@ -0,0 +1,2884 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "result.json": {
3
+ "calibrated": false,
4
+ "checkpoint_sha256": "903ff6f991ef20df7600fc5b93ff8608079c0864b38915c0f6d312b6cdfc29b5",
5
+ "epochs_run": 19,
6
+ "parameter_count": 266056,
7
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
8
+ "selected_epoch": 11,
9
+ "selection_metrics": {
10
+ "accuracy": 0.8378116678770273,
11
+ "class_order": [
12
+ "ఉత్పలమాల",
13
+ "చంపకమాల",
14
+ "మత్తేభము",
15
+ "శార్దూలం",
16
+ "ఆటవెలది",
17
+ "తేటగీతి",
18
+ "కందము",
19
+ "సీసము"
20
+ ],
21
+ "confusion_matrix": [
22
+ [
23
+ 581,
24
+ 1,
25
+ 1,
26
+ 0,
27
+ 0,
28
+ 0,
29
+ 1,
30
+ 1
31
+ ],
32
+ [
33
+ 0,
34
+ 648,
35
+ 0,
36
+ 0,
37
+ 0,
38
+ 0,
39
+ 0,
40
+ 0
41
+ ],
42
+ [
43
+ 0,
44
+ 1,
45
+ 422,
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0
51
+ ],
52
+ [
53
+ 0,
54
+ 0,
55
+ 0,
56
+ 203,
57
+ 0,
58
+ 0,
59
+ 0,
60
+ 0
61
+ ],
62
+ [
63
+ 0,
64
+ 0,
65
+ 0,
66
+ 0,
67
+ 474,
68
+ 568,
69
+ 49,
70
+ 1
71
+ ],
72
+ [
73
+ 0,
74
+ 0,
75
+ 0,
76
+ 0,
77
+ 18,
78
+ 189,
79
+ 2,
80
+ 0
81
+ ],
82
+ [
83
+ 0,
84
+ 1,
85
+ 0,
86
+ 0,
87
+ 3,
88
+ 7,
89
+ 710,
90
+ 0
91
+ ],
92
+ [
93
+ 0,
94
+ 1,
95
+ 0,
96
+ 0,
97
+ 0,
98
+ 15,
99
+ 0,
100
+ 234
101
+ ]
102
+ ],
103
+ "cross_entropy": 0.5203068852424622,
104
+ "macro_f1": 0.8614443219668197,
105
+ "observations": 4131,
106
+ "per_class": {
107
+ "accuracy": 0.8378116678770273,
108
+ "macro avg": {
109
+ "f1-score": 0.8614443219668197,
110
+ "precision": 0.889372427243273,
111
+ "recall": 0.9062392366322556,
112
+ "support": 4131.0
113
+ },
114
+ "weighted avg": {
115
+ "f1-score": 0.851460290667382,
116
+ "precision": 0.9368394675424521,
117
+ "recall": 0.8378116678770273,
118
+ "support": 4131.0
119
+ },
120
+ "ఆటవెలది": {
121
+ "f1-score": 0.5973534971644613,
122
+ "precision": 0.9575757575757575,
123
+ "recall": 0.4340659340659341,
124
+ "support": 1092.0
125
+ },
126
+ "ఉత్పలమాల": {
127
+ "f1-score": 0.9965694682675815,
128
+ "precision": 1.0,
129
+ "recall": 0.9931623931623932,
130
+ "support": 585.0
131
+ },
132
+ "కందము": {
133
+ "f1-score": 0.9575185434929198,
134
+ "precision": 0.931758530183727,
135
+ "recall": 0.984743411927878,
136
+ "support": 721.0
137
+ },
138
+ "చంపకమాల": {
139
+ "f1-score": 0.9969230769230769,
140
+ "precision": 0.9938650306748467,
141
+ "recall": 1.0,
142
+ "support": 648.0
143
+ },
144
+ "తేటగీతి": {
145
+ "f1-score": 0.3825910931174089,
146
+ "precision": 0.24261874197689345,
147
+ "recall": 0.9043062200956937,
148
+ "support": 209.0
149
+ },
150
+ "మత్తేభము": {
151
+ "f1-score": 0.9976359338061466,
152
+ "precision": 0.9976359338061466,
153
+ "recall": 0.9976359338061466,
154
+ "support": 423.0
155
+ },
156
+ "శార్దూలం": {
157
+ "f1-score": 1.0,
158
+ "precision": 1.0,
159
+ "recall": 1.0,
160
+ "support": 203.0
161
+ },
162
+ "సీసము": {
163
+ "f1-score": 0.9629629629629629,
164
+ "precision": 0.9915254237288136,
165
+ "recall": 0.936,
166
+ "support": 250.0
167
+ }
168
+ }
169
+ },
170
+ "test_used_for_selection": false,
171
+ "validation_scores_are_checkpoint_selected": true
172
+ },
173
+ "run.json": {
174
+ "contract": {
175
+ "calibration": "None: retained calibration works remain reserved and unused in this experiment",
176
+ "config": {
177
+ "batch_poems": 32,
178
+ "cpu_threads": 4,
179
+ "device": "auto",
180
+ "dropout": 0.2,
181
+ "epochs": 40,
182
+ "gradient_clip": 1.0,
183
+ "kernel_sizes": [
184
+ 3,
185
+ 5,
186
+ 7
187
+ ],
188
+ "learning_rate": 0.001,
189
+ "lr_factor": 0.5,
190
+ "lr_patience": 3,
191
+ "max_tokens": 512,
192
+ "min_lr": 1e-06,
193
+ "minimum_epochs": 16,
194
+ "patience": 8,
195
+ "precision": "auto",
196
+ "seed": 17,
197
+ "weight_decay": 0.01,
198
+ "width": 64
199
+ },
200
+ "data_manifest": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
201
+ "implementation": {
202
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/expanded.py": "ed8305f104a72351f19a2065f7f082770cb6f213e99082a0d45c21ee11d5fe98",
203
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/models/encoding.py": "70a6bd8bcfc21db275df7def32b95e276d8cf5de3c6f35d532b7d16bad560425",
204
+ "/Users/pranav/code/chandassu_recognition/src/chandassu/training/runtime.py": "48abda5bc519ebea24b6bffb5d47fbba68bdb7617fc5ef3da3e4b847a8ff7c01",
205
+ "/Users/pranav/code/chandassu_recognition/train_cnn_expanded.py": "a07a1ec920f80282ca1ba0e44cc959c7dcac9e9aebc28467e1325aee19238532"
206
+ },
207
+ "initialization": "Fresh random initialization; all eight labels together",
208
+ "runtime": {
209
+ "cross_backend_bitwise_identity": false,
210
+ "cuda": null,
211
+ "device": "cpu",
212
+ "gpu": null,
213
+ "precision": "fp32",
214
+ "python": "3.12.10",
215
+ "torch": "2.8.0",
216
+ "versions": {
217
+ "numpy": "1.26.4",
218
+ "scikit-learn": "1.6.1",
219
+ "scipy": "1.15.3",
220
+ "transformers": "4.57.6"
221
+ }
222
+ },
223
+ "selection": "Validation poem Macro F1, unweighted poem CE tie-break",
224
+ "test_used_for_selection": false
225
+ },
226
+ "counts": {
227
+ "calibration": {
228
+ "classes": {
229
+ "ఆటవెలది": 75,
230
+ "ఉత్పలమాల": 324,
231
+ "కందము": 435,
232
+ "చంపకమాల": 276,
233
+ "తేటగీతి": 10,
234
+ "మత్తేభము": 194,
235
+ "శార్దూలం": 114,
236
+ "సీసము": 130
237
+ },
238
+ "lines": 6232,
239
+ "poems": 1558,
240
+ "works": 4
241
+ },
242
+ "fit": {
243
+ "classes": {
244
+ "ఆటవెలది": 289,
245
+ "ఉత్పలమాల": 2215,
246
+ "కందము": 2571,
247
+ "చంపకమాల": 2501,
248
+ "తేటగీతి": 943,
249
+ "మత్తేభము": 1789,
250
+ "శార్దూలం": 1070,
251
+ "సీసము": 680
252
+ },
253
+ "lines": 48232,
254
+ "poems": 12058,
255
+ "works": 73
256
+ },
257
+ "selection": {
258
+ "classes": {
259
+ "ఆటవెలది": 1092,
260
+ "ఉత్పలమాల": 585,
261
+ "కందము": 721,
262
+ "చంపకమాల": 648,
263
+ "తేటగీతి": 209,
264
+ "మత్తేభము": 423,
265
+ "శార్దూలం": 203,
266
+ "సీసము": 250
267
+ },
268
+ "lines": 16524,
269
+ "poems": 4131,
270
+ "works": 9
271
+ },
272
+ "test": {
273
+ "classes": {
274
+ "ఆటవెలది": 152,
275
+ "ఉత్పలమాల": 996,
276
+ "కందము": 1071,
277
+ "చంపకమాల": 759,
278
+ "తేటగీతి": 640,
279
+ "మత్తేభము": 733,
280
+ "శార్దూలం": 465,
281
+ "సీసము": 466
282
+ },
283
+ "lines": 21128,
284
+ "poems": 5282,
285
+ "works": 13
286
+ }
287
+ },
288
+ "git": {
289
+ "dirty": true,
290
+ "revision": "41c48bf737f322207cdf261adeb098f7ac4b1056"
291
+ },
292
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255"
293
+ },
294
+ "test.json": {
295
+ "cohorts": {
296
+ "new_source_annotation": {
297
+ "accuracy": 0.9553456419063976,
298
+ "class_order": [
299
+ "ఉత్పలమాల",
300
+ "చంపకమాల",
301
+ "మత్తేభము",
302
+ "శార్దూలం",
303
+ "ఆటవెలది",
304
+ "తేటగీతి",
305
+ "కందము",
306
+ "సీసము"
307
+ ],
308
+ "confusion_matrix": [
309
+ [
310
+ 0,
311
+ 0,
312
+ 0,
313
+ 0,
314
+ 0,
315
+ 0,
316
+ 0,
317
+ 0
318
+ ],
319
+ [
320
+ 0,
321
+ 0,
322
+ 0,
323
+ 0,
324
+ 0,
325
+ 0,
326
+ 0,
327
+ 0
328
+ ],
329
+ [
330
+ 0,
331
+ 0,
332
+ 0,
333
+ 0,
334
+ 0,
335
+ 0,
336
+ 0,
337
+ 0
338
+ ],
339
+ [
340
+ 0,
341
+ 0,
342
+ 0,
343
+ 0,
344
+ 0,
345
+ 0,
346
+ 0,
347
+ 0
348
+ ],
349
+ [
350
+ 0,
351
+ 0,
352
+ 0,
353
+ 0,
354
+ 95,
355
+ 57,
356
+ 0,
357
+ 0
358
+ ],
359
+ [
360
+ 0,
361
+ 0,
362
+ 0,
363
+ 0,
364
+ 27,
365
+ 603,
366
+ 4,
367
+ 6
368
+ ],
369
+ [
370
+ 0,
371
+ 0,
372
+ 0,
373
+ 1,
374
+ 0,
375
+ 2,
376
+ 1068,
377
+ 0
378
+ ],
379
+ [
380
+ 1,
381
+ 0,
382
+ 1,
383
+ 0,
384
+ 0,
385
+ 5,
386
+ 0,
387
+ 459
388
+ ]
389
+ ],
390
+ "cross_entropy": 0.11322719603776932,
391
+ "macro_f1": 0.4498655653565343,
392
+ "observations": 2329,
393
+ "per_class": {
394
+ "accuracy": 0.9553456419063976,
395
+ "macro avg": {
396
+ "f1-score": 0.4498655653565343,
397
+ "precision": 0.4582627414390156,
398
+ "recall": 0.4436706150405441,
399
+ "support": 2329.0
400
+ },
401
+ "weighted avg": {
402
+ "f1-score": 0.954460858783415,
403
+ "precision": 0.9548914506238121,
404
+ "recall": 0.9553456419063976,
405
+ "support": 2329.0
406
+ },
407
+ "ఆటవెలది": {
408
+ "f1-score": 0.6934306569343066,
409
+ "precision": 0.7786885245901639,
410
+ "recall": 0.625,
411
+ "support": 152.0
412
+ },
413
+ "ఉత్పలమాల": {
414
+ "f1-score": 0.0,
415
+ "precision": 0.0,
416
+ "recall": 0.0,
417
+ "support": 0.0
418
+ },
419
+ "కందము": {
420
+ "f1-score": 0.9967335510965936,
421
+ "precision": 0.996268656716418,
422
+ "recall": 0.9971988795518207,
423
+ "support": 1071.0
424
+ },
425
+ "చంపకమాల": {
426
+ "f1-score": 0.0,
427
+ "precision": 0.0,
428
+ "recall": 0.0,
429
+ "support": 0.0
430
+ },
431
+ "తేటగీతి": {
432
+ "f1-score": 0.9227237949502678,
433
+ "precision": 0.904047976011994,
434
+ "recall": 0.9421875,
435
+ "support": 640.0
436
+ },
437
+ "మత్తేభము": {
438
+ "f1-score": 0.0,
439
+ "precision": 0.0,
440
+ "recall": 0.0,
441
+ "support": 0.0
442
+ },
443
+ "శార్దూలం": {
444
+ "f1-score": 0.0,
445
+ "precision": 0.0,
446
+ "recall": 0.0,
447
+ "support": 0.0
448
+ },
449
+ "సీసము": {
450
+ "f1-score": 0.9860365198711063,
451
+ "precision": 0.9870967741935484,
452
+ "recall": 0.9849785407725322,
453
+ "support": 466.0
454
+ }
455
+ }
456
+ },
457
+ "v2_existing": {
458
+ "accuracy": 0.9976295292922451,
459
+ "class_order": [
460
+ "ఉత్పలమాల",
461
+ "చంపకమాల",
462
+ "మత్తేభము",
463
+ "శార్దూలం",
464
+ "ఆటవెలది",
465
+ "తేటగీతి",
466
+ "కందము",
467
+ "సీసము"
468
+ ],
469
+ "confusion_matrix": [
470
+ [
471
+ 994,
472
+ 2,
473
+ 0,
474
+ 0,
475
+ 0,
476
+ 0,
477
+ 0,
478
+ 0
479
+ ],
480
+ [
481
+ 1,
482
+ 756,
483
+ 1,
484
+ 0,
485
+ 0,
486
+ 0,
487
+ 1,
488
+ 0
489
+ ],
490
+ [
491
+ 0,
492
+ 0,
493
+ 732,
494
+ 0,
495
+ 0,
496
+ 0,
497
+ 0,
498
+ 1
499
+ ],
500
+ [
501
+ 1,
502
+ 0,
503
+ 0,
504
+ 464,
505
+ 0,
506
+ 0,
507
+ 0,
508
+ 0
509
+ ],
510
+ [
511
+ 0,
512
+ 0,
513
+ 0,
514
+ 0,
515
+ 0,
516
+ 0,
517
+ 0,
518
+ 0
519
+ ],
520
+ [
521
+ 0,
522
+ 0,
523
+ 0,
524
+ 0,
525
+ 0,
526
+ 0,
527
+ 0,
528
+ 0
529
+ ],
530
+ [
531
+ 0,
532
+ 0,
533
+ 0,
534
+ 0,
535
+ 0,
536
+ 0,
537
+ 0,
538
+ 0
539
+ ],
540
+ [
541
+ 0,
542
+ 0,
543
+ 0,
544
+ 0,
545
+ 0,
546
+ 0,
547
+ 0,
548
+ 0
549
+ ]
550
+ ],
551
+ "cross_entropy": 0.020885592326521873,
552
+ "macro_f1": 0.49903191327759144,
553
+ "observations": 2953,
554
+ "per_class": {
555
+ "accuracy": 0.9976295292922451,
556
+ "macro avg": {
557
+ "f1-score": 0.49903191327759144,
558
+ "precision": 0.49924864862047835,
559
+ "recall": 0.4988155755733623,
560
+ "support": 2953.0
561
+ },
562
+ "weighted avg": {
563
+ "f1-score": 0.9979674276320403,
564
+ "precision": 0.9983059131315858,
565
+ "recall": 0.9976295292922451,
566
+ "support": 2953.0
567
+ },
568
+ "ఆటవెలది": {
569
+ "f1-score": 0.0,
570
+ "precision": 0.0,
571
+ "recall": 0.0,
572
+ "support": 0.0
573
+ },
574
+ "ఉత్పలమాల": {
575
+ "f1-score": 0.9979919678714859,
576
+ "precision": 0.9979919678714859,
577
+ "recall": 0.9979919678714859,
578
+ "support": 996.0
579
+ },
580
+ "కందము": {
581
+ "f1-score": 0.0,
582
+ "precision": 0.0,
583
+ "recall": 0.0,
584
+ "support": 0.0
585
+ },
586
+ "చంపకమాల": {
587
+ "f1-score": 0.996704021094265,
588
+ "precision": 0.9973614775725593,
589
+ "recall": 0.9960474308300395,
590
+ "support": 759.0
591
+ },
592
+ "తేటగీతి": {
593
+ "f1-score": 0.0,
594
+ "precision": 0.0,
595
+ "recall": 0.0,
596
+ "support": 0.0
597
+ },
598
+ "మత్తేభము": {
599
+ "f1-score": 0.9986357435197817,
600
+ "precision": 0.9986357435197817,
601
+ "recall": 0.9986357435197817,
602
+ "support": 733.0
603
+ },
604
+ "శార్దూలం": {
605
+ "f1-score": 0.9989235737351991,
606
+ "precision": 1.0,
607
+ "recall": 0.9978494623655914,
608
+ "support": 465.0
609
+ },
610
+ "సీసము": {
611
+ "f1-score": 0.0,
612
+ "precision": 0.0,
613
+ "recall": 0.0,
614
+ "support": 0.0
615
+ }
616
+ }
617
+ }
618
+ },
619
+ "original_four_label_retention": {
620
+ "accuracy": 0.9976295292922451,
621
+ "macro_f1": 0.9980638265551829,
622
+ "observations": 2953
623
+ },
624
+ "per_work": {
625
+ "అహల్యాసంక్రందనము": {
626
+ "accuracy": 0.9693593314763231,
627
+ "class_order": [
628
+ "ఉత్పలమాల",
629
+ "చంపకమాల",
630
+ "మత్తేభము",
631
+ "శార్దూలం",
632
+ "ఆటవెలది",
633
+ "తేటగీతి",
634
+ "కందము",
635
+ "సీసము"
636
+ ],
637
+ "confusion_matrix": [
638
+ [
639
+ 88,
640
+ 1,
641
+ 0,
642
+ 0,
643
+ 0,
644
+ 0,
645
+ 0,
646
+ 0
647
+ ],
648
+ [
649
+ 0,
650
+ 67,
651
+ 1,
652
+ 0,
653
+ 0,
654
+ 0,
655
+ 1,
656
+ 0
657
+ ],
658
+ [
659
+ 0,
660
+ 0,
661
+ 17,
662
+ 0,
663
+ 0,
664
+ 0,
665
+ 0,
666
+ 0
667
+ ],
668
+ [
669
+ 0,
670
+ 0,
671
+ 0,
672
+ 11,
673
+ 0,
674
+ 0,
675
+ 0,
676
+ 0
677
+ ],
678
+ [
679
+ 0,
680
+ 0,
681
+ 0,
682
+ 0,
683
+ 1,
684
+ 1,
685
+ 0,
686
+ 0
687
+ ],
688
+ [
689
+ 0,
690
+ 0,
691
+ 0,
692
+ 0,
693
+ 0,
694
+ 12,
695
+ 4,
696
+ 0
697
+ ],
698
+ [
699
+ 0,
700
+ 0,
701
+ 0,
702
+ 1,
703
+ 0,
704
+ 0,
705
+ 98,
706
+ 0
707
+ ],
708
+ [
709
+ 0,
710
+ 0,
711
+ 0,
712
+ 0,
713
+ 0,
714
+ 2,
715
+ 0,
716
+ 54
717
+ ]
718
+ ],
719
+ "cross_entropy": 0.1297415941953659,
720
+ "macro_f1": 0.9116722761751024,
721
+ "observations": 359,
722
+ "per_class": {
723
+ "accuracy": 0.9693593314763231,
724
+ "macro avg": {
725
+ "f1-score": 0.9116722761751024,
726
+ "precision": 0.9497326924297227,
727
+ "recall": 0.8954954052352684,
728
+ "support": 359.0
729
+ },
730
+ "weighted avg": {
731
+ "f1-score": 0.9687573964088945,
732
+ "precision": 0.9696890188407173,
733
+ "recall": 0.9693593314763231,
734
+ "support": 359.0
735
+ },
736
+ "ఆటవెలది": {
737
+ "f1-score": 0.6666666666666666,
738
+ "precision": 1.0,
739
+ "recall": 0.5,
740
+ "support": 2.0
741
+ },
742
+ "ఉత్పలమాల": {
743
+ "f1-score": 0.9943502824858758,
744
+ "precision": 1.0,
745
+ "recall": 0.9887640449438202,
746
+ "support": 89.0
747
+ },
748
+ "కందము": {
749
+ "f1-score": 0.9702970297029703,
750
+ "precision": 0.9514563106796117,
751
+ "recall": 0.98989898989899,
752
+ "support": 99.0
753
+ },
754
+ "చంపకమాల": {
755
+ "f1-score": 0.9781021897810219,
756
+ "precision": 0.9852941176470589,
757
+ "recall": 0.9710144927536232,
758
+ "support": 69.0
759
+ },
760
+ "తేటగీతి": {
761
+ "f1-score": 0.7741935483870968,
762
+ "precision": 0.8,
763
+ "recall": 0.75,
764
+ "support": 16.0
765
+ },
766
+ "మత్తేభము": {
767
+ "f1-score": 0.9714285714285714,
768
+ "precision": 0.9444444444444444,
769
+ "recall": 1.0,
770
+ "support": 17.0
771
+ },
772
+ "శార్దూలం": {
773
+ "f1-score": 0.9565217391304348,
774
+ "precision": 0.9166666666666666,
775
+ "recall": 1.0,
776
+ "support": 11.0
777
+ },
778
+ "సీసము": {
779
+ "f1-score": 0.9818181818181818,
780
+ "precision": 1.0,
781
+ "recall": 0.9642857142857143,
782
+ "support": 56.0
783
+ }
784
+ }
785
+ },
786
+ "ఆంధ్ర పురాణము": {
787
+ "accuracy": 0.9826635145784082,
788
+ "class_order": [
789
+ "ఉత్పలమాల",
790
+ "చంపకమాల",
791
+ "మత్తేభము",
792
+ "శార్దూలం",
793
+ "ఆటవెలది",
794
+ "తేటగీతి",
795
+ "కందము",
796
+ "సీసము"
797
+ ],
798
+ "confusion_matrix": [
799
+ [
800
+ 264,
801
+ 0,
802
+ 0,
803
+ 0,
804
+ 0,
805
+ 0,
806
+ 0,
807
+ 0
808
+ ],
809
+ [
810
+ 0,
811
+ 288,
812
+ 0,
813
+ 0,
814
+ 0,
815
+ 0,
816
+ 0,
817
+ 0
818
+ ],
819
+ [
820
+ 0,
821
+ 0,
822
+ 364,
823
+ 0,
824
+ 0,
825
+ 0,
826
+ 0,
827
+ 0
828
+ ],
829
+ [
830
+ 0,
831
+ 0,
832
+ 0,
833
+ 110,
834
+ 0,
835
+ 0,
836
+ 0,
837
+ 0
838
+ ],
839
+ [
840
+ 0,
841
+ 0,
842
+ 0,
843
+ 0,
844
+ 53,
845
+ 22,
846
+ 0,
847
+ 0
848
+ ],
849
+ [
850
+ 0,
851
+ 0,
852
+ 0,
853
+ 0,
854
+ 0,
855
+ 0,
856
+ 0,
857
+ 0
858
+ ],
859
+ [
860
+ 0,
861
+ 0,
862
+ 0,
863
+ 0,
864
+ 0,
865
+ 0,
866
+ 168,
867
+ 0
868
+ ],
869
+ [
870
+ 0,
871
+ 0,
872
+ 0,
873
+ 0,
874
+ 0,
875
+ 0,
876
+ 0,
877
+ 0
878
+ ]
879
+ ],
880
+ "cross_entropy": 0.045060791075229645,
881
+ "macro_f1": 0.728515625,
882
+ "observations": 1269,
883
+ "per_class": {
884
+ "accuracy": 0.9826635145784082,
885
+ "macro avg": {
886
+ "f1-score": 0.728515625,
887
+ "precision": 0.75,
888
+ "recall": 0.7133333333333334,
889
+ "support": 1269.0
890
+ },
891
+ "weighted avg": {
892
+ "f1-score": 0.989841903073286,
893
+ "precision": 1.0,
894
+ "recall": 0.9826635145784082,
895
+ "support": 1269.0
896
+ },
897
+ "ఆటవెలది": {
898
+ "f1-score": 0.828125,
899
+ "precision": 1.0,
900
+ "recall": 0.7066666666666667,
901
+ "support": 75.0
902
+ },
903
+ "ఉత్పలమాల": {
904
+ "f1-score": 1.0,
905
+ "precision": 1.0,
906
+ "recall": 1.0,
907
+ "support": 264.0
908
+ },
909
+ "కందము": {
910
+ "f1-score": 1.0,
911
+ "precision": 1.0,
912
+ "recall": 1.0,
913
+ "support": 168.0
914
+ },
915
+ "చంపకమాల": {
916
+ "f1-score": 1.0,
917
+ "precision": 1.0,
918
+ "recall": 1.0,
919
+ "support": 288.0
920
+ },
921
+ "తేటగీతి": {
922
+ "f1-score": 0.0,
923
+ "precision": 0.0,
924
+ "recall": 0.0,
925
+ "support": 0.0
926
+ },
927
+ "మత్తేభము": {
928
+ "f1-score": 1.0,
929
+ "precision": 1.0,
930
+ "recall": 1.0,
931
+ "support": 364.0
932
+ },
933
+ "శార్దూలం": {
934
+ "f1-score": 1.0,
935
+ "precision": 1.0,
936
+ "recall": 1.0,
937
+ "support": 110.0
938
+ },
939
+ "సీసము": {
940
+ "f1-score": 0.0,
941
+ "precision": 0.0,
942
+ "recall": 0.0,
943
+ "support": 0.0
944
+ }
945
+ }
946
+ },
947
+ "ఉద్దండరాయశతకము": {
948
+ "accuracy": 1.0,
949
+ "class_order": [
950
+ "ఉత్పలమాల",
951
+ "చంపకమాల",
952
+ "మత్తేభము",
953
+ "శార్దూలం",
954
+ "ఆటవెలది",
955
+ "తేటగీతి",
956
+ "కందము",
957
+ "సీసము"
958
+ ],
959
+ "confusion_matrix": [
960
+ [
961
+ 0,
962
+ 0,
963
+ 0,
964
+ 0,
965
+ 0,
966
+ 0,
967
+ 0,
968
+ 0
969
+ ],
970
+ [
971
+ 0,
972
+ 0,
973
+ 0,
974
+ 0,
975
+ 0,
976
+ 0,
977
+ 0,
978
+ 0
979
+ ],
980
+ [
981
+ 0,
982
+ 0,
983
+ 2,
984
+ 0,
985
+ 0,
986
+ 0,
987
+ 0,
988
+ 0
989
+ ],
990
+ [
991
+ 0,
992
+ 0,
993
+ 0,
994
+ 0,
995
+ 0,
996
+ 0,
997
+ 0,
998
+ 0
999
+ ],
1000
+ [
1001
+ 0,
1002
+ 0,
1003
+ 0,
1004
+ 0,
1005
+ 0,
1006
+ 0,
1007
+ 0,
1008
+ 0
1009
+ ],
1010
+ [
1011
+ 0,
1012
+ 0,
1013
+ 0,
1014
+ 0,
1015
+ 0,
1016
+ 0,
1017
+ 0,
1018
+ 0
1019
+ ],
1020
+ [
1021
+ 0,
1022
+ 0,
1023
+ 0,
1024
+ 0,
1025
+ 0,
1026
+ 0,
1027
+ 0,
1028
+ 0
1029
+ ],
1030
+ [
1031
+ 0,
1032
+ 0,
1033
+ 0,
1034
+ 0,
1035
+ 0,
1036
+ 0,
1037
+ 0,
1038
+ 0
1039
+ ]
1040
+ ],
1041
+ "cross_entropy": 0.002044523600488901,
1042
+ "macro_f1": 0.125,
1043
+ "observations": 2,
1044
+ "per_class": {
1045
+ "accuracy": 1.0,
1046
+ "macro avg": {
1047
+ "f1-score": 0.125,
1048
+ "precision": 0.125,
1049
+ "recall": 0.125,
1050
+ "support": 2.0
1051
+ },
1052
+ "weighted avg": {
1053
+ "f1-score": 1.0,
1054
+ "precision": 1.0,
1055
+ "recall": 1.0,
1056
+ "support": 2.0
1057
+ },
1058
+ "ఆటవెలది": {
1059
+ "f1-score": 0.0,
1060
+ "precision": 0.0,
1061
+ "recall": 0.0,
1062
+ "support": 0.0
1063
+ },
1064
+ "ఉత్పలమాల": {
1065
+ "f1-score": 0.0,
1066
+ "precision": 0.0,
1067
+ "recall": 0.0,
1068
+ "support": 0.0
1069
+ },
1070
+ "కందము": {
1071
+ "f1-score": 0.0,
1072
+ "precision": 0.0,
1073
+ "recall": 0.0,
1074
+ "support": 0.0
1075
+ },
1076
+ "చంపకమాల": {
1077
+ "f1-score": 0.0,
1078
+ "precision": 0.0,
1079
+ "recall": 0.0,
1080
+ "support": 0.0
1081
+ },
1082
+ "తేటగీతి": {
1083
+ "f1-score": 0.0,
1084
+ "precision": 0.0,
1085
+ "recall": 0.0,
1086
+ "support": 0.0
1087
+ },
1088
+ "మత్తేభము": {
1089
+ "f1-score": 1.0,
1090
+ "precision": 1.0,
1091
+ "recall": 1.0,
1092
+ "support": 2.0
1093
+ },
1094
+ "శార్దూలం": {
1095
+ "f1-score": 0.0,
1096
+ "precision": 0.0,
1097
+ "recall": 0.0,
1098
+ "support": 0.0
1099
+ },
1100
+ "సీసము": {
1101
+ "f1-score": 0.0,
1102
+ "precision": 0.0,
1103
+ "recall": 0.0,
1104
+ "support": 0.0
1105
+ }
1106
+ }
1107
+ },
1108
+ "క్రీడాభిరామము": {
1109
+ "accuracy": 0.9414893617021277,
1110
+ "class_order": [
1111
+ "ఉత్పలమాల",
1112
+ "చంపకమాల",
1113
+ "మత్తేభము",
1114
+ "శార్దూలం",
1115
+ "ఆటవెలది",
1116
+ "తేటగీతి",
1117
+ "కందము",
1118
+ "సీసము"
1119
+ ],
1120
+ "confusion_matrix": [
1121
+ [
1122
+ 31,
1123
+ 0,
1124
+ 0,
1125
+ 0,
1126
+ 0,
1127
+ 0,
1128
+ 0,
1129
+ 0
1130
+ ],
1131
+ [
1132
+ 0,
1133
+ 12,
1134
+ 0,
1135
+ 0,
1136
+ 0,
1137
+ 0,
1138
+ 0,
1139
+ 0
1140
+ ],
1141
+ [
1142
+ 0,
1143
+ 0,
1144
+ 20,
1145
+ 0,
1146
+ 0,
1147
+ 0,
1148
+ 0,
1149
+ 0
1150
+ ],
1151
+ [
1152
+ 0,
1153
+ 0,
1154
+ 0,
1155
+ 18,
1156
+ 0,
1157
+ 0,
1158
+ 0,
1159
+ 0
1160
+ ],
1161
+ [
1162
+ 0,
1163
+ 0,
1164
+ 0,
1165
+ 0,
1166
+ 4,
1167
+ 6,
1168
+ 0,
1169
+ 0
1170
+ ],
1171
+ [
1172
+ 0,
1173
+ 0,
1174
+ 0,
1175
+ 0,
1176
+ 4,
1177
+ 28,
1178
+ 0,
1179
+ 0
1180
+ ],
1181
+ [
1182
+ 0,
1183
+ 0,
1184
+ 0,
1185
+ 0,
1186
+ 0,
1187
+ 1,
1188
+ 29,
1189
+ 0
1190
+ ],
1191
+ [
1192
+ 0,
1193
+ 0,
1194
+ 0,
1195
+ 0,
1196
+ 0,
1197
+ 0,
1198
+ 0,
1199
+ 35
1200
+ ]
1201
+ ],
1202
+ "cross_entropy": 0.13173219561576843,
1203
+ "macro_f1": 0.9079145234280575,
1204
+ "observations": 188,
1205
+ "per_class": {
1206
+ "accuracy": 0.9414893617021277,
1207
+ "macro avg": {
1208
+ "f1-score": 0.9079145234280575,
1209
+ "precision": 0.9125,
1210
+ "recall": 0.9052083333333334,
1211
+ "support": 188.0
1212
+ },
1213
+ "weighted avg": {
1214
+ "f1-score": 0.9397991410898386,
1215
+ "precision": 0.9393617021276596,
1216
+ "recall": 0.9414893617021277,
1217
+ "support": 188.0
1218
+ },
1219
+ "ఆటవెలది": {
1220
+ "f1-score": 0.4444444444444444,
1221
+ "precision": 0.5,
1222
+ "recall": 0.4,
1223
+ "support": 10.0
1224
+ },
1225
+ "ఉత్పలమాల": {
1226
+ "f1-score": 1.0,
1227
+ "precision": 1.0,
1228
+ "recall": 1.0,
1229
+ "support": 31.0
1230
+ },
1231
+ "కందము": {
1232
+ "f1-score": 0.9830508474576272,
1233
+ "precision": 1.0,
1234
+ "recall": 0.9666666666666667,
1235
+ "support": 30.0
1236
+ },
1237
+ "చంపకమాల": {
1238
+ "f1-score": 1.0,
1239
+ "precision": 1.0,
1240
+ "recall": 1.0,
1241
+ "support": 12.0
1242
+ },
1243
+ "తేటగీతి": {
1244
+ "f1-score": 0.835820895522388,
1245
+ "precision": 0.8,
1246
+ "recall": 0.875,
1247
+ "support": 32.0
1248
+ },
1249
+ "మత్తేభము": {
1250
+ "f1-score": 1.0,
1251
+ "precision": 1.0,
1252
+ "recall": 1.0,
1253
+ "support": 20.0
1254
+ },
1255
+ "శార్దూలం": {
1256
+ "f1-score": 1.0,
1257
+ "precision": 1.0,
1258
+ "recall": 1.0,
1259
+ "support": 18.0
1260
+ },
1261
+ "సీసము": {
1262
+ "f1-score": 1.0,
1263
+ "precision": 1.0,
1264
+ "recall": 1.0,
1265
+ "support": 35.0
1266
+ }
1267
+ }
1268
+ },
1269
+ "పాండవోద్యోగము": {
1270
+ "accuracy": 1.0,
1271
+ "class_order": [
1272
+ "ఉత్పలమాల",
1273
+ "చంపకమాల",
1274
+ "మత్తేభము",
1275
+ "శార్దూలం",
1276
+ "ఆటవెలది",
1277
+ "తేటగీతి",
1278
+ "కందము",
1279
+ "సీసము"
1280
+ ],
1281
+ "confusion_matrix": [
1282
+ [
1283
+ 1,
1284
+ 0,
1285
+ 0,
1286
+ 0,
1287
+ 0,
1288
+ 0,
1289
+ 0,
1290
+ 0
1291
+ ],
1292
+ [
1293
+ 0,
1294
+ 1,
1295
+ 0,
1296
+ 0,
1297
+ 0,
1298
+ 0,
1299
+ 0,
1300
+ 0
1301
+ ],
1302
+ [
1303
+ 0,
1304
+ 0,
1305
+ 1,
1306
+ 0,
1307
+ 0,
1308
+ 0,
1309
+ 0,
1310
+ 0
1311
+ ],
1312
+ [
1313
+ 0,
1314
+ 0,
1315
+ 0,
1316
+ 3,
1317
+ 0,
1318
+ 0,
1319
+ 0,
1320
+ 0
1321
+ ],
1322
+ [
1323
+ 0,
1324
+ 0,
1325
+ 0,
1326
+ 0,
1327
+ 0,
1328
+ 0,
1329
+ 0,
1330
+ 0
1331
+ ],
1332
+ [
1333
+ 0,
1334
+ 0,
1335
+ 0,
1336
+ 0,
1337
+ 0,
1338
+ 0,
1339
+ 0,
1340
+ 0
1341
+ ],
1342
+ [
1343
+ 0,
1344
+ 0,
1345
+ 0,
1346
+ 0,
1347
+ 0,
1348
+ 0,
1349
+ 0,
1350
+ 0
1351
+ ],
1352
+ [
1353
+ 0,
1354
+ 0,
1355
+ 0,
1356
+ 0,
1357
+ 0,
1358
+ 0,
1359
+ 0,
1360
+ 0
1361
+ ]
1362
+ ],
1363
+ "cross_entropy": 0.0031931486446410418,
1364
+ "macro_f1": 0.5,
1365
+ "observations": 6,
1366
+ "per_class": {
1367
+ "accuracy": 1.0,
1368
+ "macro avg": {
1369
+ "f1-score": 0.5,
1370
+ "precision": 0.5,
1371
+ "recall": 0.5,
1372
+ "support": 6.0
1373
+ },
1374
+ "weighted avg": {
1375
+ "f1-score": 1.0,
1376
+ "precision": 1.0,
1377
+ "recall": 1.0,
1378
+ "support": 6.0
1379
+ },
1380
+ "ఆటవెలది": {
1381
+ "f1-score": 0.0,
1382
+ "precision": 0.0,
1383
+ "recall": 0.0,
1384
+ "support": 0.0
1385
+ },
1386
+ "ఉత్పలమాల": {
1387
+ "f1-score": 1.0,
1388
+ "precision": 1.0,
1389
+ "recall": 1.0,
1390
+ "support": 1.0
1391
+ },
1392
+ "కందము": {
1393
+ "f1-score": 0.0,
1394
+ "precision": 0.0,
1395
+ "recall": 0.0,
1396
+ "support": 0.0
1397
+ },
1398
+ "చంపకమాల": {
1399
+ "f1-score": 1.0,
1400
+ "precision": 1.0,
1401
+ "recall": 1.0,
1402
+ "support": 1.0
1403
+ },
1404
+ "తేటగీతి": {
1405
+ "f1-score": 0.0,
1406
+ "precision": 0.0,
1407
+ "recall": 0.0,
1408
+ "support": 0.0
1409
+ },
1410
+ "మత్తేభము": {
1411
+ "f1-score": 1.0,
1412
+ "precision": 1.0,
1413
+ "recall": 1.0,
1414
+ "support": 1.0
1415
+ },
1416
+ "శార్దూలం": {
1417
+ "f1-score": 1.0,
1418
+ "precision": 1.0,
1419
+ "recall": 1.0,
1420
+ "support": 3.0
1421
+ },
1422
+ "సీసము": {
1423
+ "f1-score": 0.0,
1424
+ "precision": 0.0,
1425
+ "recall": 0.0,
1426
+ "support": 0.0
1427
+ }
1428
+ }
1429
+ },
1430
+ "పాండురంగమాహాత్మ్యము": {
1431
+ "accuracy": 0.9817295980511571,
1432
+ "class_order": [
1433
+ "ఉత్పలమాల",
1434
+ "చంపకమాల",
1435
+ "మత్తేభము",
1436
+ "శార్దూలం",
1437
+ "ఆటవెలది",
1438
+ "తేటగీతి",
1439
+ "కందము",
1440
+ "సీసము"
1441
+ ],
1442
+ "confusion_matrix": [
1443
+ [
1444
+ 160,
1445
+ 1,
1446
+ 0,
1447
+ 0,
1448
+ 0,
1449
+ 0,
1450
+ 0,
1451
+ 0
1452
+ ],
1453
+ [
1454
+ 0,
1455
+ 94,
1456
+ 0,
1457
+ 0,
1458
+ 0,
1459
+ 0,
1460
+ 0,
1461
+ 0
1462
+ ],
1463
+ [
1464
+ 0,
1465
+ 0,
1466
+ 58,
1467
+ 0,
1468
+ 0,
1469
+ 0,
1470
+ 0,
1471
+ 0
1472
+ ],
1473
+ [
1474
+ 0,
1475
+ 0,
1476
+ 0,
1477
+ 74,
1478
+ 0,
1479
+ 0,
1480
+ 0,
1481
+ 0
1482
+ ],
1483
+ [
1484
+ 0,
1485
+ 0,
1486
+ 0,
1487
+ 0,
1488
+ 1,
1489
+ 6,
1490
+ 0,
1491
+ 0
1492
+ ],
1493
+ [
1494
+ 0,
1495
+ 0,
1496
+ 0,
1497
+ 0,
1498
+ 5,
1499
+ 115,
1500
+ 0,
1501
+ 1
1502
+ ],
1503
+ [
1504
+ 0,
1505
+ 0,
1506
+ 0,
1507
+ 0,
1508
+ 0,
1509
+ 0,
1510
+ 198,
1511
+ 0
1512
+ ],
1513
+ [
1514
+ 1,
1515
+ 0,
1516
+ 1,
1517
+ 0,
1518
+ 0,
1519
+ 0,
1520
+ 0,
1521
+ 106
1522
+ ]
1523
+ ],
1524
+ "cross_entropy": 0.05469725653529167,
1525
+ "macro_f1": 0.8837820868315399,
1526
+ "observations": 821,
1527
+ "per_class": {
1528
+ "accuracy": 0.9817295980511571,
1529
+ "macro avg": {
1530
+ "f1-score": 0.8837820868315399,
1531
+ "precision": 0.8842559308698211,
1532
+ "recall": 0.8835675834193621,
1533
+ "support": 821.0
1534
+ },
1535
+ "weighted avg": {
1536
+ "f1-score": 0.9812142086962924,
1537
+ "precision": 0.9807366581493374,
1538
+ "recall": 0.9817295980511571,
1539
+ "support": 821.0
1540
+ },
1541
+ "ఆటవెలది": {
1542
+ "f1-score": 0.15384615384615385,
1543
+ "precision": 0.16666666666666666,
1544
+ "recall": 0.14285714285714285,
1545
+ "support": 7.0
1546
+ },
1547
+ "ఉత్పలమాల": {
1548
+ "f1-score": 0.9937888198757764,
1549
+ "precision": 0.9937888198757764,
1550
+ "recall": 0.9937888198757764,
1551
+ "support": 161.0
1552
+ },
1553
+ "కందము": {
1554
+ "f1-score": 1.0,
1555
+ "precision": 1.0,
1556
+ "recall": 1.0,
1557
+ "support": 198.0
1558
+ },
1559
+ "చంపకమాల": {
1560
+ "f1-score": 0.9947089947089947,
1561
+ "precision": 0.9894736842105263,
1562
+ "recall": 1.0,
1563
+ "support": 94.0
1564
+ },
1565
+ "తేటగీతి": {
1566
+ "f1-score": 0.9504132231404959,
1567
+ "precision": 0.9504132231404959,
1568
+ "recall": 0.9504132231404959,
1569
+ "support": 121.0
1570
+ },
1571
+ "మత్తేభము": {
1572
+ "f1-score": 0.9914529914529915,
1573
+ "precision": 0.9830508474576272,
1574
+ "recall": 1.0,
1575
+ "support": 58.0
1576
+ },
1577
+ "శార్దూలం": {
1578
+ "f1-score": 1.0,
1579
+ "precision": 1.0,
1580
+ "recall": 1.0,
1581
+ "support": 74.0
1582
+ },
1583
+ "సీసము": {
1584
+ "f1-score": 0.986046511627907,
1585
+ "precision": 0.9906542056074766,
1586
+ "recall": 0.9814814814814815,
1587
+ "support": 108.0
1588
+ }
1589
+ }
1590
+ },
1591
+ "పార్థసారథిశతకము": {
1592
+ "accuracy": 1.0,
1593
+ "class_order": [
1594
+ "ఉత్పలమాల",
1595
+ "చంపకమాల",
1596
+ "మత్తేభము",
1597
+ "శార్దూలం",
1598
+ "ఆటవెలది",
1599
+ "తేటగీతి",
1600
+ "కందము",
1601
+ "సీసము"
1602
+ ],
1603
+ "confusion_matrix": [
1604
+ [
1605
+ 1,
1606
+ 0,
1607
+ 0,
1608
+ 0,
1609
+ 0,
1610
+ 0,
1611
+ 0,
1612
+ 0
1613
+ ],
1614
+ [
1615
+ 0,
1616
+ 0,
1617
+ 0,
1618
+ 0,
1619
+ 0,
1620
+ 0,
1621
+ 0,
1622
+ 0
1623
+ ],
1624
+ [
1625
+ 0,
1626
+ 0,
1627
+ 0,
1628
+ 0,
1629
+ 0,
1630
+ 0,
1631
+ 0,
1632
+ 0
1633
+ ],
1634
+ [
1635
+ 0,
1636
+ 0,
1637
+ 0,
1638
+ 0,
1639
+ 0,
1640
+ 0,
1641
+ 0,
1642
+ 0
1643
+ ],
1644
+ [
1645
+ 0,
1646
+ 0,
1647
+ 0,
1648
+ 0,
1649
+ 0,
1650
+ 0,
1651
+ 0,
1652
+ 0
1653
+ ],
1654
+ [
1655
+ 0,
1656
+ 0,
1657
+ 0,
1658
+ 0,
1659
+ 0,
1660
+ 0,
1661
+ 0,
1662
+ 0
1663
+ ],
1664
+ [
1665
+ 0,
1666
+ 0,
1667
+ 0,
1668
+ 0,
1669
+ 0,
1670
+ 0,
1671
+ 1,
1672
+ 0
1673
+ ],
1674
+ [
1675
+ 0,
1676
+ 0,
1677
+ 0,
1678
+ 0,
1679
+ 0,
1680
+ 0,
1681
+ 0,
1682
+ 0
1683
+ ]
1684
+ ],
1685
+ "cross_entropy": 3.6419573007151484e-05,
1686
+ "macro_f1": 0.25,
1687
+ "observations": 2,
1688
+ "per_class": {
1689
+ "accuracy": 1.0,
1690
+ "macro avg": {
1691
+ "f1-score": 0.25,
1692
+ "precision": 0.25,
1693
+ "recall": 0.25,
1694
+ "support": 2.0
1695
+ },
1696
+ "weighted avg": {
1697
+ "f1-score": 1.0,
1698
+ "precision": 1.0,
1699
+ "recall": 1.0,
1700
+ "support": 2.0
1701
+ },
1702
+ "ఆటవెలది": {
1703
+ "f1-score": 0.0,
1704
+ "precision": 0.0,
1705
+ "recall": 0.0,
1706
+ "support": 0.0
1707
+ },
1708
+ "ఉత్పలమాల": {
1709
+ "f1-score": 1.0,
1710
+ "precision": 1.0,
1711
+ "recall": 1.0,
1712
+ "support": 1.0
1713
+ },
1714
+ "కందము": {
1715
+ "f1-score": 1.0,
1716
+ "precision": 1.0,
1717
+ "recall": 1.0,
1718
+ "support": 1.0
1719
+ },
1720
+ "చంపకమాల": {
1721
+ "f1-score": 0.0,
1722
+ "precision": 0.0,
1723
+ "recall": 0.0,
1724
+ "support": 0.0
1725
+ },
1726
+ "తేటగీతి": {
1727
+ "f1-score": 0.0,
1728
+ "precision": 0.0,
1729
+ "recall": 0.0,
1730
+ "support": 0.0
1731
+ },
1732
+ "మత్తేభము": {
1733
+ "f1-score": 0.0,
1734
+ "precision": 0.0,
1735
+ "recall": 0.0,
1736
+ "support": 0.0
1737
+ },
1738
+ "శార్దూలం": {
1739
+ "f1-score": 0.0,
1740
+ "precision": 0.0,
1741
+ "recall": 0.0,
1742
+ "support": 0.0
1743
+ },
1744
+ "సీసము": {
1745
+ "f1-score": 0.0,
1746
+ "precision": 0.0,
1747
+ "recall": 0.0,
1748
+ "support": 0.0
1749
+ }
1750
+ }
1751
+ },
1752
+ "ప్రభావతీప్రద్యుమ్నము": {
1753
+ "accuracy": 0.9688073394495413,
1754
+ "class_order": [
1755
+ "ఉత్పలమాల",
1756
+ "చంపకమాల",
1757
+ "మత్తేభము",
1758
+ "శార్దూలం",
1759
+ "ఆటవెలది",
1760
+ "తేటగీతి",
1761
+ "కందము",
1762
+ "సీసము"
1763
+ ],
1764
+ "confusion_matrix": [
1765
+ [
1766
+ 77,
1767
+ 0,
1768
+ 0,
1769
+ 0,
1770
+ 0,
1771
+ 0,
1772
+ 0,
1773
+ 0
1774
+ ],
1775
+ [
1776
+ 0,
1777
+ 78,
1778
+ 0,
1779
+ 0,
1780
+ 0,
1781
+ 0,
1782
+ 0,
1783
+ 0
1784
+ ],
1785
+ [
1786
+ 0,
1787
+ 0,
1788
+ 22,
1789
+ 0,
1790
+ 0,
1791
+ 0,
1792
+ 0,
1793
+ 0
1794
+ ],
1795
+ [
1796
+ 0,
1797
+ 0,
1798
+ 0,
1799
+ 20,
1800
+ 0,
1801
+ 0,
1802
+ 0,
1803
+ 0
1804
+ ],
1805
+ [
1806
+ 0,
1807
+ 0,
1808
+ 0,
1809
+ 0,
1810
+ 20,
1811
+ 10,
1812
+ 0,
1813
+ 0
1814
+ ],
1815
+ [
1816
+ 0,
1817
+ 0,
1818
+ 0,
1819
+ 0,
1820
+ 6,
1821
+ 61,
1822
+ 0,
1823
+ 0
1824
+ ],
1825
+ [
1826
+ 0,
1827
+ 0,
1828
+ 0,
1829
+ 0,
1830
+ 0,
1831
+ 1,
1832
+ 187,
1833
+ 0
1834
+ ],
1835
+ [
1836
+ 0,
1837
+ 0,
1838
+ 0,
1839
+ 0,
1840
+ 0,
1841
+ 0,
1842
+ 0,
1843
+ 63
1844
+ ]
1845
+ ],
1846
+ "cross_entropy": 0.08157116174697876,
1847
+ "macro_f1": 0.9486646111682082,
1848
+ "observations": 545,
1849
+ "per_class": {
1850
+ "accuracy": 0.9688073394495413,
1851
+ "macro avg": {
1852
+ "f1-score": 0.9486646111682082,
1853
+ "precision": 0.9520566239316239,
1854
+ "recall": 0.9464744098655657,
1855
+ "support": 545.0
1856
+ },
1857
+ "weighted avg": {
1858
+ "f1-score": 0.9683174192493974,
1859
+ "precision": 0.9685152513134165,
1860
+ "recall": 0.9688073394495413,
1861
+ "support": 545.0
1862
+ },
1863
+ "ఆటవెలది": {
1864
+ "f1-score": 0.7142857142857143,
1865
+ "precision": 0.7692307692307693,
1866
+ "recall": 0.6666666666666666,
1867
+ "support": 30.0
1868
+ },
1869
+ "ఉత్పలమాల": {
1870
+ "f1-score": 1.0,
1871
+ "precision": 1.0,
1872
+ "recall": 1.0,
1873
+ "support": 77.0
1874
+ },
1875
+ "కందము": {
1876
+ "f1-score": 0.9973333333333333,
1877
+ "precision": 1.0,
1878
+ "recall": 0.9946808510638298,
1879
+ "support": 188.0
1880
+ },
1881
+ "చంపకమాల": {
1882
+ "f1-score": 1.0,
1883
+ "precision": 1.0,
1884
+ "recall": 1.0,
1885
+ "support": 78.0
1886
+ },
1887
+ "తేటగీతి": {
1888
+ "f1-score": 0.8776978417266187,
1889
+ "precision": 0.8472222222222222,
1890
+ "recall": 0.9104477611940298,
1891
+ "support": 67.0
1892
+ },
1893
+ "మత్తేభము": {
1894
+ "f1-score": 1.0,
1895
+ "precision": 1.0,
1896
+ "recall": 1.0,
1897
+ "support": 22.0
1898
+ },
1899
+ "శార్దూలం": {
1900
+ "f1-score": 1.0,
1901
+ "precision": 1.0,
1902
+ "recall": 1.0,
1903
+ "support": 20.0
1904
+ },
1905
+ "సీసము": {
1906
+ "f1-score": 1.0,
1907
+ "precision": 1.0,
1908
+ "recall": 1.0,
1909
+ "support": 63.0
1910
+ }
1911
+ }
1912
+ },
1913
+ "రాజశేఖరశతకము": {
1914
+ "accuracy": 1.0,
1915
+ "class_order": [
1916
+ "ఉత్పలమాల",
1917
+ "చంపకమాల",
1918
+ "మత్తేభము",
1919
+ "శార్దూలం",
1920
+ "ఆటవెలది",
1921
+ "తేటగీతి",
1922
+ "కందము",
1923
+ "సీసము"
1924
+ ],
1925
+ "confusion_matrix": [
1926
+ [
1927
+ 43,
1928
+ 0,
1929
+ 0,
1930
+ 0,
1931
+ 0,
1932
+ 0,
1933
+ 0,
1934
+ 0
1935
+ ],
1936
+ [
1937
+ 0,
1938
+ 54,
1939
+ 0,
1940
+ 0,
1941
+ 0,
1942
+ 0,
1943
+ 0,
1944
+ 0
1945
+ ],
1946
+ [
1947
+ 0,
1948
+ 0,
1949
+ 0,
1950
+ 0,
1951
+ 0,
1952
+ 0,
1953
+ 0,
1954
+ 0
1955
+ ],
1956
+ [
1957
+ 0,
1958
+ 0,
1959
+ 0,
1960
+ 0,
1961
+ 0,
1962
+ 0,
1963
+ 0,
1964
+ 0
1965
+ ],
1966
+ [
1967
+ 0,
1968
+ 0,
1969
+ 0,
1970
+ 0,
1971
+ 0,
1972
+ 0,
1973
+ 0,
1974
+ 0
1975
+ ],
1976
+ [
1977
+ 0,
1978
+ 0,
1979
+ 0,
1980
+ 0,
1981
+ 0,
1982
+ 0,
1983
+ 0,
1984
+ 0
1985
+ ],
1986
+ [
1987
+ 0,
1988
+ 0,
1989
+ 0,
1990
+ 0,
1991
+ 0,
1992
+ 0,
1993
+ 0,
1994
+ 0
1995
+ ],
1996
+ [
1997
+ 0,
1998
+ 0,
1999
+ 0,
2000
+ 0,
2001
+ 0,
2002
+ 0,
2003
+ 0,
2004
+ 0
2005
+ ]
2006
+ ],
2007
+ "cross_entropy": 0.010708725079894066,
2008
+ "macro_f1": 0.25,
2009
+ "observations": 97,
2010
+ "per_class": {
2011
+ "accuracy": 1.0,
2012
+ "macro avg": {
2013
+ "f1-score": 0.25,
2014
+ "precision": 0.25,
2015
+ "recall": 0.25,
2016
+ "support": 97.0
2017
+ },
2018
+ "weighted avg": {
2019
+ "f1-score": 1.0,
2020
+ "precision": 1.0,
2021
+ "recall": 1.0,
2022
+ "support": 97.0
2023
+ },
2024
+ "ఆటవెలది": {
2025
+ "f1-score": 0.0,
2026
+ "precision": 0.0,
2027
+ "recall": 0.0,
2028
+ "support": 0.0
2029
+ },
2030
+ "ఉత్పలమాల": {
2031
+ "f1-score": 1.0,
2032
+ "precision": 1.0,
2033
+ "recall": 1.0,
2034
+ "support": 43.0
2035
+ },
2036
+ "కందము": {
2037
+ "f1-score": 0.0,
2038
+ "precision": 0.0,
2039
+ "recall": 0.0,
2040
+ "support": 0.0
2041
+ },
2042
+ "చంపకమాల": {
2043
+ "f1-score": 1.0,
2044
+ "precision": 1.0,
2045
+ "recall": 1.0,
2046
+ "support": 54.0
2047
+ },
2048
+ "తేటగీతి": {
2049
+ "f1-score": 0.0,
2050
+ "precision": 0.0,
2051
+ "recall": 0.0,
2052
+ "support": 0.0
2053
+ },
2054
+ "మత్తేభము": {
2055
+ "f1-score": 0.0,
2056
+ "precision": 0.0,
2057
+ "recall": 0.0,
2058
+ "support": 0.0
2059
+ },
2060
+ "శార్దూలం": {
2061
+ "f1-score": 0.0,
2062
+ "precision": 0.0,
2063
+ "recall": 0.0,
2064
+ "support": 0.0
2065
+ },
2066
+ "సీసము": {
2067
+ "f1-score": 0.0,
2068
+ "precision": 0.0,
2069
+ "recall": 0.0,
2070
+ "support": 0.0
2071
+ }
2072
+ }
2073
+ },
2074
+ "శృంగారనైషధము": {
2075
+ "accuracy": 0.9823182711198428,
2076
+ "class_order": [
2077
+ "ఉత్పలమాల",
2078
+ "చంపకమాల",
2079
+ "మత్తేభము",
2080
+ "శార్దూలం",
2081
+ "ఆటవెలది",
2082
+ "తేటగీతి",
2083
+ "కందము",
2084
+ "సీసము"
2085
+ ],
2086
+ "confusion_matrix": [
2087
+ [
2088
+ 154,
2089
+ 0,
2090
+ 0,
2091
+ 0,
2092
+ 0,
2093
+ 0,
2094
+ 0,
2095
+ 0
2096
+ ],
2097
+ [
2098
+ 0,
2099
+ 81,
2100
+ 0,
2101
+ 0,
2102
+ 0,
2103
+ 0,
2104
+ 0,
2105
+ 0
2106
+ ],
2107
+ [
2108
+ 0,
2109
+ 0,
2110
+ 83,
2111
+ 0,
2112
+ 0,
2113
+ 0,
2114
+ 0,
2115
+ 0
2116
+ ],
2117
+ [
2118
+ 0,
2119
+ 0,
2120
+ 0,
2121
+ 58,
2122
+ 0,
2123
+ 0,
2124
+ 0,
2125
+ 0
2126
+ ],
2127
+ [
2128
+ 0,
2129
+ 0,
2130
+ 0,
2131
+ 0,
2132
+ 5,
2133
+ 7,
2134
+ 0,
2135
+ 0
2136
+ ],
2137
+ [
2138
+ 0,
2139
+ 0,
2140
+ 0,
2141
+ 0,
2142
+ 7,
2143
+ 333,
2144
+ 0,
2145
+ 4
2146
+ ],
2147
+ [
2148
+ 0,
2149
+ 0,
2150
+ 0,
2151
+ 0,
2152
+ 0,
2153
+ 0,
2154
+ 169,
2155
+ 0
2156
+ ],
2157
+ [
2158
+ 0,
2159
+ 0,
2160
+ 0,
2161
+ 0,
2162
+ 0,
2163
+ 0,
2164
+ 0,
2165
+ 117
2166
+ ]
2167
+ ],
2168
+ "cross_entropy": 0.04816024750471115,
2169
+ "macro_f1": 0.9216930193129884,
2170
+ "observations": 1018,
2171
+ "per_class": {
2172
+ "accuracy": 0.9823182711198428,
2173
+ "macro avg": {
2174
+ "f1-score": 0.9216930193129884,
2175
+ "precision": 0.9203775725166099,
2176
+ "recall": 0.9230862403100775,
2177
+ "support": 1018.0
2178
+ },
2179
+ "weighted avg": {
2180
+ "f1-score": 0.9822995892597551,
2181
+ "precision": 0.9823672676461515,
2182
+ "recall": 0.9823182711198428,
2183
+ "support": 1018.0
2184
+ },
2185
+ "ఆటవెలది": {
2186
+ "f1-score": 0.4166666666666667,
2187
+ "precision": 0.4166666666666667,
2188
+ "recall": 0.4166666666666667,
2189
+ "support": 12.0
2190
+ },
2191
+ "ఉత్పలమాల": {
2192
+ "f1-score": 1.0,
2193
+ "precision": 1.0,
2194
+ "recall": 1.0,
2195
+ "support": 154.0
2196
+ },
2197
+ "కందము": {
2198
+ "f1-score": 1.0,
2199
+ "precision": 1.0,
2200
+ "recall": 1.0,
2201
+ "support": 169.0
2202
+ },
2203
+ "చంపకమాల": {
2204
+ "f1-score": 1.0,
2205
+ "precision": 1.0,
2206
+ "recall": 1.0,
2207
+ "support": 81.0
2208
+ },
2209
+ "తేటగీతి": {
2210
+ "f1-score": 0.9736842105263158,
2211
+ "precision": 0.9794117647058823,
2212
+ "recall": 0.9680232558139535,
2213
+ "support": 344.0
2214
+ },
2215
+ "మత్తేభము": {
2216
+ "f1-score": 1.0,
2217
+ "precision": 1.0,
2218
+ "recall": 1.0,
2219
+ "support": 83.0
2220
+ },
2221
+ "శార్దూలం": {
2222
+ "f1-score": 1.0,
2223
+ "precision": 1.0,
2224
+ "recall": 1.0,
2225
+ "support": 58.0
2226
+ },
2227
+ "సీసము": {
2228
+ "f1-score": 0.9831932773109243,
2229
+ "precision": 0.9669421487603306,
2230
+ "recall": 1.0,
2231
+ "support": 117.0
2232
+ }
2233
+ }
2234
+ },
2235
+ "శ్రీకాళహస్తిమాహాత్మ్యము": {
2236
+ "accuracy": 0.9791976225854383,
2237
+ "class_order": [
2238
+ "ఉత్పలమాల",
2239
+ "చంపకమాల",
2240
+ "మత్తేభము",
2241
+ "శార్దూలం",
2242
+ "ఆటవెలది",
2243
+ "తేటగీతి",
2244
+ "కందము",
2245
+ "సీసము"
2246
+ ],
2247
+ "confusion_matrix": [
2248
+ [
2249
+ 113,
2250
+ 0,
2251
+ 0,
2252
+ 0,
2253
+ 0,
2254
+ 0,
2255
+ 0,
2256
+ 0
2257
+ ],
2258
+ [
2259
+ 1,
2260
+ 51,
2261
+ 0,
2262
+ 0,
2263
+ 0,
2264
+ 0,
2265
+ 0,
2266
+ 0
2267
+ ],
2268
+ [
2269
+ 0,
2270
+ 0,
2271
+ 61,
2272
+ 0,
2273
+ 0,
2274
+ 0,
2275
+ 0,
2276
+ 0
2277
+ ],
2278
+ [
2279
+ 1,
2280
+ 0,
2281
+ 0,
2282
+ 94,
2283
+ 0,
2284
+ 0,
2285
+ 0,
2286
+ 0
2287
+ ],
2288
+ [
2289
+ 0,
2290
+ 0,
2291
+ 0,
2292
+ 0,
2293
+ 10,
2294
+ 5,
2295
+ 0,
2296
+ 0
2297
+ ],
2298
+ [
2299
+ 0,
2300
+ 0,
2301
+ 0,
2302
+ 0,
2303
+ 3,
2304
+ 41,
2305
+ 0,
2306
+ 1
2307
+ ],
2308
+ [
2309
+ 0,
2310
+ 0,
2311
+ 0,
2312
+ 0,
2313
+ 0,
2314
+ 0,
2315
+ 212,
2316
+ 0
2317
+ ],
2318
+ [
2319
+ 0,
2320
+ 0,
2321
+ 0,
2322
+ 0,
2323
+ 0,
2324
+ 3,
2325
+ 0,
2326
+ 77
2327
+ ]
2328
+ ],
2329
+ "cross_entropy": 0.07342611253261566,
2330
+ "macro_f1": 0.9421922513927228,
2331
+ "observations": 673,
2332
+ "per_class": {
2333
+ "accuracy": 0.9791976225854383,
2334
+ "macro avg": {
2335
+ "f1-score": 0.9421922513927228,
2336
+ "precision": 0.9469692057424977,
2337
+ "recall": 0.9388150865946918,
2338
+ "support": 673.0
2339
+ },
2340
+ "weighted avg": {
2341
+ "f1-score": 0.9791167317470618,
2342
+ "precision": 0.9794957865468142,
2343
+ "recall": 0.9791976225854383,
2344
+ "support": 673.0
2345
+ },
2346
+ "ఆటవెలది": {
2347
+ "f1-score": 0.7142857142857143,
2348
+ "precision": 0.7692307692307693,
2349
+ "recall": 0.6666666666666666,
2350
+ "support": 15.0
2351
+ },
2352
+ "ఉత్పలమాల": {
2353
+ "f1-score": 0.9912280701754386,
2354
+ "precision": 0.9826086956521739,
2355
+ "recall": 1.0,
2356
+ "support": 113.0
2357
+ },
2358
+ "కందము": {
2359
+ "f1-score": 1.0,
2360
+ "precision": 1.0,
2361
+ "recall": 1.0,
2362
+ "support": 212.0
2363
+ },
2364
+ "చంపకమాల": {
2365
+ "f1-score": 0.9902912621359223,
2366
+ "precision": 1.0,
2367
+ "recall": 0.9807692307692307,
2368
+ "support": 52.0
2369
+ },
2370
+ "తేటగీతి": {
2371
+ "f1-score": 0.8723404255319149,
2372
+ "precision": 0.8367346938775511,
2373
+ "recall": 0.9111111111111111,
2374
+ "support": 45.0
2375
+ },
2376
+ "మత్తేభము": {
2377
+ "f1-score": 1.0,
2378
+ "precision": 1.0,
2379
+ "recall": 1.0,
2380
+ "support": 61.0
2381
+ },
2382
+ "శార్దూలం": {
2383
+ "f1-score": 0.9947089947089947,
2384
+ "precision": 1.0,
2385
+ "recall": 0.9894736842105263,
2386
+ "support": 95.0
2387
+ },
2388
+ "సీసము": {
2389
+ "f1-score": 0.9746835443037974,
2390
+ "precision": 0.9871794871794872,
2391
+ "recall": 0.9625,
2392
+ "support": 80.0
2393
+ }
2394
+ }
2395
+ },
2396
+ "సీతాపతిశతకము": {
2397
+ "accuracy": 0.9905660377358491,
2398
+ "class_order": [
2399
+ "ఉత్పలమాల",
2400
+ "చంపకమాల",
2401
+ "మత్తేభము",
2402
+ "శార్దూలం",
2403
+ "ఆటవెలది",
2404
+ "తేటగీతి",
2405
+ "కందము",
2406
+ "సీసము"
2407
+ ],
2408
+ "confusion_matrix": [
2409
+ [
2410
+ 0,
2411
+ 0,
2412
+ 0,
2413
+ 0,
2414
+ 0,
2415
+ 0,
2416
+ 0,
2417
+ 0
2418
+ ],
2419
+ [
2420
+ 0,
2421
+ 0,
2422
+ 0,
2423
+ 0,
2424
+ 0,
2425
+ 0,
2426
+ 0,
2427
+ 0
2428
+ ],
2429
+ [
2430
+ 0,
2431
+ 0,
2432
+ 72,
2433
+ 0,
2434
+ 0,
2435
+ 0,
2436
+ 0,
2437
+ 1
2438
+ ],
2439
+ [
2440
+ 0,
2441
+ 0,
2442
+ 0,
2443
+ 33,
2444
+ 0,
2445
+ 0,
2446
+ 0,
2447
+ 0
2448
+ ],
2449
+ [
2450
+ 0,
2451
+ 0,
2452
+ 0,
2453
+ 0,
2454
+ 0,
2455
+ 0,
2456
+ 0,
2457
+ 0
2458
+ ],
2459
+ [
2460
+ 0,
2461
+ 0,
2462
+ 0,
2463
+ 0,
2464
+ 0,
2465
+ 0,
2466
+ 0,
2467
+ 0
2468
+ ],
2469
+ [
2470
+ 0,
2471
+ 0,
2472
+ 0,
2473
+ 0,
2474
+ 0,
2475
+ 0,
2476
+ 0,
2477
+ 0
2478
+ ],
2479
+ [
2480
+ 0,
2481
+ 0,
2482
+ 0,
2483
+ 0,
2484
+ 0,
2485
+ 0,
2486
+ 0,
2487
+ 0
2488
+ ]
2489
+ ],
2490
+ "cross_entropy": 0.028355775400996208,
2491
+ "macro_f1": 0.24913793103448276,
2492
+ "observations": 106,
2493
+ "per_class": {
2494
+ "accuracy": 0.9905660377358491,
2495
+ "macro avg": {
2496
+ "f1-score": 0.24913793103448276,
2497
+ "precision": 0.25,
2498
+ "recall": 0.2482876712328767,
2499
+ "support": 106.0
2500
+ },
2501
+ "weighted avg": {
2502
+ "f1-score": 0.9952504879635654,
2503
+ "precision": 1.0,
2504
+ "recall": 0.9905660377358491,
2505
+ "support": 106.0
2506
+ },
2507
+ "ఆటవెలది": {
2508
+ "f1-score": 0.0,
2509
+ "precision": 0.0,
2510
+ "recall": 0.0,
2511
+ "support": 0.0
2512
+ },
2513
+ "ఉత్పలమాల": {
2514
+ "f1-score": 0.0,
2515
+ "precision": 0.0,
2516
+ "recall": 0.0,
2517
+ "support": 0.0
2518
+ },
2519
+ "కందము": {
2520
+ "f1-score": 0.0,
2521
+ "precision": 0.0,
2522
+ "recall": 0.0,
2523
+ "support": 0.0
2524
+ },
2525
+ "చంపకమాల": {
2526
+ "f1-score": 0.0,
2527
+ "precision": 0.0,
2528
+ "recall": 0.0,
2529
+ "support": 0.0
2530
+ },
2531
+ "తేటగీతి": {
2532
+ "f1-score": 0.0,
2533
+ "precision": 0.0,
2534
+ "recall": 0.0,
2535
+ "support": 0.0
2536
+ },
2537
+ "మత్తేభము": {
2538
+ "f1-score": 0.993103448275862,
2539
+ "precision": 1.0,
2540
+ "recall": 0.9863013698630136,
2541
+ "support": 73.0
2542
+ },
2543
+ "శార్దూలం": {
2544
+ "f1-score": 1.0,
2545
+ "precision": 1.0,
2546
+ "recall": 1.0,
2547
+ "support": 33.0
2548
+ },
2549
+ "సీసము": {
2550
+ "f1-score": 0.0,
2551
+ "precision": 0.0,
2552
+ "recall": 0.0,
2553
+ "support": 0.0
2554
+ }
2555
+ }
2556
+ },
2557
+ "హరవిలాసము": {
2558
+ "accuracy": 0.9897959183673469,
2559
+ "class_order": [
2560
+ "ఉత్పలమాల",
2561
+ "చంపకమాల",
2562
+ "మత్తేభము",
2563
+ "శార్దూలం",
2564
+ "ఆటవెలది",
2565
+ "తేటగీతి",
2566
+ "కందము",
2567
+ "సీసము"
2568
+ ],
2569
+ "confusion_matrix": [
2570
+ [
2571
+ 62,
2572
+ 0,
2573
+ 0,
2574
+ 0,
2575
+ 0,
2576
+ 0,
2577
+ 0,
2578
+ 0
2579
+ ],
2580
+ [
2581
+ 0,
2582
+ 30,
2583
+ 0,
2584
+ 0,
2585
+ 0,
2586
+ 0,
2587
+ 0,
2588
+ 0
2589
+ ],
2590
+ [
2591
+ 0,
2592
+ 0,
2593
+ 32,
2594
+ 0,
2595
+ 0,
2596
+ 0,
2597
+ 0,
2598
+ 0
2599
+ ],
2600
+ [
2601
+ 0,
2602
+ 0,
2603
+ 0,
2604
+ 43,
2605
+ 0,
2606
+ 0,
2607
+ 0,
2608
+ 0
2609
+ ],
2610
+ [
2611
+ 0,
2612
+ 0,
2613
+ 0,
2614
+ 0,
2615
+ 1,
2616
+ 0,
2617
+ 0,
2618
+ 0
2619
+ ],
2620
+ [
2621
+ 0,
2622
+ 0,
2623
+ 0,
2624
+ 0,
2625
+ 2,
2626
+ 13,
2627
+ 0,
2628
+ 0
2629
+ ],
2630
+ [
2631
+ 0,
2632
+ 0,
2633
+ 0,
2634
+ 0,
2635
+ 0,
2636
+ 0,
2637
+ 6,
2638
+ 0
2639
+ ],
2640
+ [
2641
+ 0,
2642
+ 0,
2643
+ 0,
2644
+ 0,
2645
+ 0,
2646
+ 0,
2647
+ 0,
2648
+ 7
2649
+ ]
2650
+ ],
2651
+ "cross_entropy": 0.025422723963856697,
2652
+ "macro_f1": 0.9285714285714286,
2653
+ "observations": 196,
2654
+ "per_class": {
2655
+ "accuracy": 0.9897959183673469,
2656
+ "macro avg": {
2657
+ "f1-score": 0.9285714285714286,
2658
+ "precision": 0.9166666666666666,
2659
+ "recall": 0.9833333333333334,
2660
+ "support": 196.0
2661
+ },
2662
+ "weighted avg": {
2663
+ "f1-score": 0.9919825072886298,
2664
+ "precision": 0.9965986394557823,
2665
+ "recall": 0.9897959183673469,
2666
+ "support": 196.0
2667
+ },
2668
+ "ఆటవెలది": {
2669
+ "f1-score": 0.5,
2670
+ "precision": 0.3333333333333333,
2671
+ "recall": 1.0,
2672
+ "support": 1.0
2673
+ },
2674
+ "ఉత్పలమాల": {
2675
+ "f1-score": 1.0,
2676
+ "precision": 1.0,
2677
+ "recall": 1.0,
2678
+ "support": 62.0
2679
+ },
2680
+ "కందము": {
2681
+ "f1-score": 1.0,
2682
+ "precision": 1.0,
2683
+ "recall": 1.0,
2684
+ "support": 6.0
2685
+ },
2686
+ "చంపకమాల": {
2687
+ "f1-score": 1.0,
2688
+ "precision": 1.0,
2689
+ "recall": 1.0,
2690
+ "support": 30.0
2691
+ },
2692
+ "తేటగీతి": {
2693
+ "f1-score": 0.9285714285714286,
2694
+ "precision": 1.0,
2695
+ "recall": 0.8666666666666667,
2696
+ "support": 15.0
2697
+ },
2698
+ "మత్తేభము": {
2699
+ "f1-score": 1.0,
2700
+ "precision": 1.0,
2701
+ "recall": 1.0,
2702
+ "support": 32.0
2703
+ },
2704
+ "శార్దూలం": {
2705
+ "f1-score": 1.0,
2706
+ "precision": 1.0,
2707
+ "recall": 1.0,
2708
+ "support": 43.0
2709
+ },
2710
+ "సీసము": {
2711
+ "f1-score": 1.0,
2712
+ "precision": 1.0,
2713
+ "recall": 1.0,
2714
+ "support": 7.0
2715
+ }
2716
+ }
2717
+ }
2718
+ },
2719
+ "poem": {
2720
+ "accuracy": 0.9789852328663385,
2721
+ "class_order": [
2722
+ "ఉత్పలమాల",
2723
+ "చంపకమాల",
2724
+ "మత్తేభము",
2725
+ "శార్దూలం",
2726
+ "ఆటవెలది",
2727
+ "తేటగీతి",
2728
+ "కందము",
2729
+ "సీసము"
2730
+ ],
2731
+ "confusion_matrix": [
2732
+ [
2733
+ 994,
2734
+ 2,
2735
+ 0,
2736
+ 0,
2737
+ 0,
2738
+ 0,
2739
+ 0,
2740
+ 0
2741
+ ],
2742
+ [
2743
+ 1,
2744
+ 756,
2745
+ 1,
2746
+ 0,
2747
+ 0,
2748
+ 0,
2749
+ 1,
2750
+ 0
2751
+ ],
2752
+ [
2753
+ 0,
2754
+ 0,
2755
+ 732,
2756
+ 0,
2757
+ 0,
2758
+ 0,
2759
+ 0,
2760
+ 1
2761
+ ],
2762
+ [
2763
+ 1,
2764
+ 0,
2765
+ 0,
2766
+ 464,
2767
+ 0,
2768
+ 0,
2769
+ 0,
2770
+ 0
2771
+ ],
2772
+ [
2773
+ 0,
2774
+ 0,
2775
+ 0,
2776
+ 0,
2777
+ 95,
2778
+ 57,
2779
+ 0,
2780
+ 0
2781
+ ],
2782
+ [
2783
+ 0,
2784
+ 0,
2785
+ 0,
2786
+ 0,
2787
+ 27,
2788
+ 603,
2789
+ 4,
2790
+ 6
2791
+ ],
2792
+ [
2793
+ 0,
2794
+ 0,
2795
+ 0,
2796
+ 1,
2797
+ 0,
2798
+ 2,
2799
+ 1068,
2800
+ 0
2801
+ ],
2802
+ [
2803
+ 1,
2804
+ 0,
2805
+ 1,
2806
+ 0,
2807
+ 0,
2808
+ 5,
2809
+ 0,
2810
+ 459
2811
+ ]
2812
+ ],
2813
+ "cross_entropy": 0.0616019144654274,
2814
+ "macro_f1": 0.9484251702907207,
2815
+ "observations": 5282,
2816
+ "per_class": {
2817
+ "accuracy": 0.9789852328663385,
2818
+ "macro avg": {
2819
+ "f1-score": 0.9484251702907207,
2820
+ "precision": 0.9565665407931538,
2821
+ "recall": 0.9424861906139064,
2822
+ "support": 5282.0
2823
+ },
2824
+ "weighted avg": {
2825
+ "f1-score": 0.9783129588908124,
2826
+ "precision": 0.978221085829263,
2827
+ "recall": 0.9789852328663385,
2828
+ "support": 5282.0
2829
+ },
2830
+ "ఆటవెలది": {
2831
+ "f1-score": 0.6934306569343066,
2832
+ "precision": 0.7786885245901639,
2833
+ "recall": 0.625,
2834
+ "support": 152.0
2835
+ },
2836
+ "ఉత్పలమాల": {
2837
+ "f1-score": 0.997491219267436,
2838
+ "precision": 0.9969909729187563,
2839
+ "recall": 0.9979919678714859,
2840
+ "support": 996.0
2841
+ },
2842
+ "కందము": {
2843
+ "f1-score": 0.996268656716418,
2844
+ "precision": 0.9953401677539608,
2845
+ "recall": 0.9971988795518207,
2846
+ "support": 1071.0
2847
+ },
2848
+ "చంపకమాల": {
2849
+ "f1-score": 0.996704021094265,
2850
+ "precision": 0.9973614775725593,
2851
+ "recall": 0.9960474308300395,
2852
+ "support": 759.0
2853
+ },
2854
+ "తేటగీతి": {
2855
+ "f1-score": 0.9227237949502678,
2856
+ "precision": 0.904047976011994,
2857
+ "recall": 0.9421875,
2858
+ "support": 640.0
2859
+ },
2860
+ "మత్తేభము": {
2861
+ "f1-score": 0.9979550102249489,
2862
+ "precision": 0.997275204359673,
2863
+ "recall": 0.9986357435197817,
2864
+ "support": 733.0
2865
+ },
2866
+ "శార్దూలం": {
2867
+ "f1-score": 0.9978494623655914,
2868
+ "precision": 0.9978494623655914,
2869
+ "recall": 0.9978494623655914,
2870
+ "support": 465.0
2871
+ },
2872
+ "సీసము": {
2873
+ "f1-score": 0.9849785407725322,
2874
+ "precision": 0.9849785407725322,
2875
+ "recall": 0.9849785407725322,
2876
+ "support": 466.0
2877
+ }
2878
+ }
2879
+ },
2880
+ "run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
2881
+ "scope": "Historical v2 benchmark plus new-label held-out works; source annotations, not expert gold; no claim of blind historical test, calibration, rule verification or unseen-author generalization",
2882
+ "selected_before_test": true
2883
+ }
2884
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb
3
+ size 1065160
notebook.ipynb CHANGED
@@ -1,126 +1,258 @@
1
  {
2
- "nbformat": 4,
3
- "nbformat_minor": 5,
4
- "metadata": {
5
- "colab": {
6
- "name": "Chandassu inference",
7
- "provenance": []
8
- },
9
- "kernelspec": {
10
- "display_name": "Python 3",
11
- "language": "python",
12
- "name": "python3"
13
- },
14
- "language_info": {
15
- "name": "python"
16
- },
17
- "license": "LicenseRef-Chandassu-Citation"
18
- },
19
  "cells": [
20
  {
21
  "cell_type": "markdown",
22
- "id": "introduction",
23
  "metadata": {},
24
  "source": [
25
- "# Chandassu: Telugu poem meter recognition\n",
26
  "\n",
27
- "Use a fresh Colab runtime and run the two code cells below. This notebook uses\n",
28
- "Colab's preinstalled packages; there is no installation cell.\n",
29
- "CNN is selected by default and works on CPU. Choose `byt5` to use the original ByT5 model.\n",
 
30
  "\n",
31
- "If you ran the earlier notebook that installed older PyTorch/Transformers packages,\n",
32
- "first select **Runtime → Disconnect and delete runtime**, then reconnect.\n",
33
- "Restarting Python alone does not undo those package installations.\n",
34
- "[Colab runtime reset documentation](https://research.google.com/colaboratory/faq.html)\n",
35
  "\n",
36
- "The model predicts **ఉత్పలమాల, చంపకమాల, మత్తేభము, శార్దూలం**.\n",
37
- "Paste one line or a complete four-line poem into the prediction cell.\n"
 
 
38
  ]
39
  },
40
  {
41
  "cell_type": "code",
42
- "id": "load-model",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  "metadata": {},
44
  "source": [
45
- "#@title Load a model\n",
46
- "model_type = \"cnn\" #@param [\"cnn\", \"byt5\"]\n",
47
- "\n",
48
  "import torch\n",
49
- "import transformers\n",
50
- "from transformers import AutoModelForSequenceClassification, AutoTokenizer\n",
 
 
 
 
51
  "\n",
52
- "repo = \"sprx7767/chandassu-recognition\"\n",
53
- "options = {\n",
54
- " \"subfolder\": model_type,\n",
55
- " \"trust_remote_code\": True,\n",
56
- "}\n",
 
 
57
  "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n",
58
- "tokenizer = AutoTokenizer.from_pretrained(repo, **options)\n",
59
- "model = AutoModelForSequenceClassification.from_pretrained(\n",
60
- " repo, use_safetensors=True, **options\n",
61
- ").to(device).eval()\n",
62
- "print(f\"Loaded {model_type.upper()} seed {model.config.seed} on {device.upper()}\")\n",
63
- "print(f\"PyTorch {torch.__version__}; Transformers {transformers.__version__}\")\n"
64
  ],
65
  "execution_count": null,
66
  "outputs": []
67
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  {
69
  "cell_type": "code",
70
- "id": "predict-poem",
71
  "metadata": {},
72
  "source": [
73
- "# Edit the text below, keeping each poem line on its own line, then run this cell.\n",
74
- "poem = \"\"\"శ్రీ కైవల్య పదంబుఁ జేరుటకునై చింతించెదన్ లోక ర\n",
75
  "క్షైకారంభకు, భక్త పాలన కళా సంరంభకున్, దానవో\n",
76
  "ద్రేకస్తంభకుఁ, గేళి లోల విలసద్దృగ్జాల సంభూత నా\n",
77
  "నా కంజాత భవాండ కుంభకు, మహానందాంగనాడింభకున్.\"\"\"\n",
78
  "\n",
79
- "lines = [line.strip() for line in poem.splitlines() if line.strip()]\n",
80
- "if len(lines) not in (1, 4):\n",
81
- " raise ValueError(\"Supply one line or a complete four-line poem\")\n",
82
- "inputs = tokenizer(lines, padding=True, return_tensors=\"pt\").to(device)\n",
83
- "with torch.inference_mode():\n",
84
- " logits = model(**inputs).logits\n",
85
- " line_scores = (logits.double() / model.config.calibration_temperature).softmax(dim=-1)\n",
86
- " scores = line_scores.mean(dim=0)\n",
87
- "\n",
88
- "winner = int(scores.argmax().item())\n",
89
- "print(f\"Predicted meter: {model.config.id2label[winner]} ({scores[winner].item():.2%})\")\n",
90
- "print(\"\\nClass probabilities:\")\n",
91
- "for index, score in enumerate(scores):\n",
92
- " print(f\" {model.config.id2label[index]}: {score.item():.2%}\")\n",
93
- "print(\"\\nLine predictions:\")\n",
94
- "for number, probabilities in enumerate(line_scores, start=1):\n",
95
- " index = int(probabilities.argmax().item())\n",
96
- " print(f\" Line {number}: {model.config.id2label[index]} ({probabilities[index].item():.2%})\")\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  ],
98
  "execution_count": null,
99
  "outputs": []
100
  },
101
  {
102
  "cell_type": "markdown",
103
- "id": "limits-citation",
104
  "metadata": {},
105
  "source": [
106
- "`trust_remote_code=True` loads the current published custom tokenizer and classifier.\n",
107
- "It does not install or replace Python packages.\n",
108
- "\n",
109
- "Predictions divide line logits by the model's saved calibration temperature, then\n",
110
- "average line probabilities for a four-line poem. A generic pipeline's softmax does\n",
111
- "not perform this calibration and poem aggregation.\n",
112
- "\n",
113
- "CNN accepts up to 256 characters per line. ByT5 accepts up to 1,024 UTF-8 byte tokens,\n",
114
- "including the end token. The tokenizer rejects overlong input.\n",
115
- "Scores are class probabilities, not confidence intervals. These models cover only\n",
116
- "the four listed meters and do not generate prosodic explanations.\n",
117
- "\n",
118
- "See the [model card](https://huggingface.co/sprx7767/chandassu-recognition) for results,\n",
119
- "provenance, and licensing. Cite Pranav Surampudi,\n",
120
- "*Chandassu Recognition: Telugu Poetic Meter Classification* (2026).\n",
121
- "[Project code](https://github.com/Pranav-20186017/chandassu_recognition) ·\n",
122
- "[Citation metadata](https://huggingface.co/sprx7767/chandassu-recognition/blob/main/cnn/CITATION.cff)\n"
123
  ]
124
  }
125
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  }
 
1
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  "cells": [
3
  {
4
  "cell_type": "markdown",
5
+ "id": "f12898a8d61a",
6
  "metadata": {},
7
  "source": [
8
+ "# Chandassu: eight-class Telugu poem metre recognition\n",
9
  "\n",
10
+ "The default model is the new **eight-class ordered poem CNN**. It recognizes\n",
11
+ "ఉత్పలమాల, చంపకమాల, మత్తేభము, శార్దూలం, ఆటవెలది, తేటగీతి, కందము and సీసము.\n",
12
+ "It predicts once from all four ordered pādas; a Seesamu prediction uses its body\n",
13
+ "only. CPU is supported; CUDA is optional. No project checkout or login is required.\n",
14
  "\n",
15
+ "**Fixed held-out benchmark:** Macro F1 94.84%, accuracy 97.90%. Ataveladi F1 is\n",
16
+ "69.34%, the main weakness. These source-labelled tests include a historically\n",
17
+ "inspected benchmark; they are not independent expert gold or a wholly blind test.\n",
18
+ "Scores are **uncalibrated** and do not verify formal metre rules.\n",
19
  "\n",
20
+ "Run the setup, loader, and prediction cells in order. The loader resolves `main`\n",
21
+ "once and pins both tokenizer and model to that immutable commit. `trust_remote_code`\n",
22
+ "loads the published, inspectable `hf_poem.py` from this repository. The optional\n",
23
+ "original four-class example remains separate below.\n"
24
  ]
25
  },
26
  {
27
  "cell_type": "code",
28
+ "id": "2f83c3532128",
29
+ "metadata": {
30
+ "tags": [
31
+ "dependencies"
32
+ ]
33
+ },
34
+ "source": [
35
+ "# Run once in a fresh notebook kernel. Keep Colab's preinstalled PyTorch.\n",
36
+ "%pip install -q \"transformers==4.57.6\" \"safetensors==0.8.0\" \"huggingface-hub==0.36.2\"\n"
37
+ ],
38
+ "execution_count": null,
39
+ "outputs": []
40
+ },
41
+ {
42
+ "cell_type": "code",
43
+ "id": "31ee51cadf3a",
44
  "metadata": {},
45
  "source": [
 
 
 
46
  "import torch\n",
47
+ "from huggingface_hub import HfApi\n",
48
+ "from transformers import AutoTokenizer, AutoModelForSequenceClassification\n",
49
+ "\n",
50
+ "REPO_ID = \"sprx7767/chandassu-recognition\"\n",
51
+ "REVISION = None # Optional: replace with a complete 40-character release commit.\n",
52
+ "SUBFOLDER = None # Root defaults to eight classes; \"cnn-eight-class\" is equivalent.\n",
53
  "\n",
54
+ "resolved_revision = REVISION or HfApi().model_info(REPO_ID, token=False).sha\n",
55
+ "options = {\"revision\": resolved_revision, \"trust_remote_code\": True, \"token\": False}\n",
56
+ "if SUBFOLDER:\n",
57
+ " options[\"subfolder\"] = SUBFOLDER\n",
58
+ "\n",
59
+ "tokenizer = AutoTokenizer.from_pretrained(REPO_ID, **options)\n",
60
+ "model = AutoModelForSequenceClassification.from_pretrained(REPO_ID, **options).eval()\n",
61
  "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n",
62
+ "model = model.to(device)\n",
63
+ "assert model.config.prediction_unit == \"poem\" and len(model.config.labels) == 8\n",
64
+ "print(\"HF commit:\", resolved_revision)\n",
65
+ "print(\"Device:\", device)\n",
66
+ "print(\"Labels:\", model.config.labels)\n"
 
67
  ],
68
  "execution_count": null,
69
  "outputs": []
70
  },
71
+ {
72
+ "cell_type": "markdown",
73
+ "id": "e2dffdfa4464",
74
+ "metadata": {},
75
+ "source": [
76
+ "## Enter a complete poem\n",
77
+ "\n",
78
+ "Use one newline-separated string containing **four full ordered pādas**.\n",
79
+ "For Seesamu, eight body half-lines are paired into four pādas; a 12-line input\n",
80
+ "(eight body half-lines plus four closing geeti lines) also works, and its geeti\n",
81
+ "is excluded. An eight-line input always means eight Seesamu body half-lines,\n",
82
+ "not four full body pādas plus four geeti lines.\n",
83
+ "\n",
84
+ "The limit is 512 Unicode characters per full pāda. Input is never silently\n",
85
+ "truncated. A batch is a list of complete poem strings, not a list of individual\n",
86
+ "pādas. Whole-poem tensors have shape `[batch, 4, tokens]`; logits have shape\n",
87
+ "`[batch, 8]`. There are no independent per-line scores to average.\n"
88
+ ]
89
+ },
90
  {
91
  "cell_type": "code",
92
+ "id": "adb382bb6c60",
93
  "metadata": {},
94
  "source": [
95
+ "POEM = \"\"\"శ్రీ కైవల్య పదంబుఁ జేరుటకునై చింతించెదన్ లోక ర\n",
 
96
  "క్షైకారంభకు, భక్త పాలన కళా సంరంభకున్, దానవో\n",
97
  "ద్రేకస్తంభకుఁ, గేళి లోల విలసద్దృగ్జాల సంభూత నా\n",
98
  "నా కంజాత భవాండ కుంభకు, మహానందాంగనాడింభకున్.\"\"\"\n",
99
  "\n",
100
+ "\n",
101
+ "def predict_poems(poems):\n",
102
+ " inputs = tokenizer(poems, padding=True, return_tensors=\"pt\").to(device)\n",
103
+ " with torch.inference_mode():\n",
104
+ " probabilities = model(**inputs).logits.double().softmax(dim=-1).cpu()\n",
105
+ " results = []\n",
106
+ " for scores in probabilities:\n",
107
+ " winner = int(scores.argmax())\n",
108
+ " results.append({\n",
109
+ " \"prediction\": model.config.id2label[winner],\n",
110
+ " \"uncalibrated_scores\": {\n",
111
+ " model.config.id2label[i]: float(scores[i])\n",
112
+ " for i in scores.argsort(descending=True).tolist()\n",
113
+ " },\n",
114
+ " })\n",
115
+ " return results\n",
116
+ "\n",
117
+ "\n",
118
+ "result = predict_poems(POEM)[0]\n",
119
+ "print(\"Prediction:\", result[\"prediction\"])\n",
120
+ "for label, score in result[\"uncalibrated_scores\"].items():\n",
121
+ " print(f\"{label}: {score:.2%}\")\n"
122
+ ],
123
+ "execution_count": null,
124
+ "outputs": []
125
+ },
126
+ {
127
+ "cell_type": "code",
128
+ "id": "5b00c2754e96",
129
+ "metadata": {},
130
+ "source": [
131
+ "# Optional: paste a Seesamu body as four full pādas or eight half-lines.\n",
132
+ "# A 12-line body-plus-geeti input is supported too; the final geeti is ignored.\n",
133
+ "SEESAMU = None\n",
134
+ "if SEESAMU:\n",
135
+ " print(predict_poems(SEESAMU)[0])\n",
136
+ "\n",
137
+ "# For a batch, use predict_poems([POEM, ANOTHER_COMPLETE_POEM]).\n"
138
+ ],
139
+ "execution_count": null,
140
+ "outputs": []
141
+ },
142
+ {
143
+ "cell_type": "markdown",
144
+ "id": "e32c59f04656",
145
+ "metadata": {},
146
+ "source": [
147
+ "## Benchmark and limits\n",
148
+ "\n",
149
+ "| New label | Fit | Validation | Held-out test | Test F1 |\n",
150
+ "|---|---:|---:|---:|---:|\n",
151
+ "| Ataveladi | 289 | 1,092 | 152 | 69.34% |\n",
152
+ "| Tetageeti | 943 | 209 | 640 | 92.27% |\n",
153
+ "| Kandamu | 2,571 | 721 | 1,071 | 99.63% |\n",
154
+ "| Seesamu body | 680 | 250 | 466 | 98.50% |\n",
155
+ "\n",
156
+ "The complete v3 corpus has 23,029 poems: 12,058 fit, 4,131 validation, 5,282 test,\n",
157
+ "and 1,558 reserved calibration poems (unused in this experiment). All original\n",
158
+ "v2 roles stay frozen. Whole poems and work/edition/exact-duplicate groups stay\n",
159
+ "together. Validation poem Macro F1 selected epoch 11; training stopped after 19.\n",
160
+ "The CPU model has 266,056 parameters. No ByT5 retraining was performed.\n",
161
+ "\n",
162
+ "More diverse Ataveladi fitting data is needed. Vemana dominates its validation\n",
163
+ "support; authors can overlap, and the exact-duplicate screen is not proof against\n",
164
+ "fuzzy duplicates. High scores do not validate prosody or reliable rejection of\n",
165
+ "unlisted metres. See [full reports](https://github.com/Pranav-20186017/chandassu_recognition/tree/main/results/v3).\n"
166
+ ]
167
+ },
168
+ {
169
+ "cell_type": "markdown",
170
+ "id": "bdddcacc85bf",
171
+ "metadata": {},
172
+ "source": [
173
+ "## Optional: original four-class line models\n",
174
+ "\n",
175
+ "The original `cnn/` and `byt5/` packages remain available. They classify individual\n",
176
+ "lines into the original four vruttas and average calibrated line probabilities\n",
177
+ "for poems. Keep this calculation separate from the eight-class joint CNN above.\n",
178
+ "ByT5 is a much larger download and is parked by default.\n"
179
+ ]
180
+ },
181
+ {
182
+ "cell_type": "code",
183
+ "id": "7da03b036678",
184
+ "metadata": {},
185
+ "source": [
186
+ "RUN_LEGACY = False\n",
187
+ "LEGACY_MODEL = \"cnn\" # \"byt5\" is also retained; it downloads a much larger encoder.\n",
188
+ "\n",
189
+ "if RUN_LEGACY:\n",
190
+ " legacy_options = {\"subfolder\": LEGACY_MODEL, \"revision\": resolved_revision,\n",
191
+ " \"trust_remote_code\": True, \"token\": False}\n",
192
+ " legacy_tokenizer = AutoTokenizer.from_pretrained(REPO_ID, **legacy_options)\n",
193
+ " legacy_model = AutoModelForSequenceClassification.from_pretrained(\n",
194
+ " REPO_ID, **legacy_options).to(device).eval()\n",
195
+ " lines = [line.strip() for line in POEM.splitlines() if line.strip()]\n",
196
+ " if len(lines) not in (1, 4):\n",
197
+ " raise ValueError(\"The original model accepts one line or four full pādas\")\n",
198
+ " legacy_inputs = legacy_tokenizer(lines, padding=True, return_tensors=\"pt\").to(device)\n",
199
+ " with torch.inference_mode():\n",
200
+ " logits = legacy_model(**legacy_inputs).logits\n",
201
+ " scores = (logits.double() / legacy_model.config.calibration_temperature).softmax(-1).mean(0)\n",
202
+ " print(\"Original four-class prediction:\", legacy_model.config.id2label[int(scores.argmax())])\n",
203
+ " for i, score in enumerate(scores):\n",
204
+ " print(f\"{legacy_model.config.id2label[i]}: {float(score):.2%}\")\n"
205
+ ],
206
+ "execution_count": null,
207
+ "outputs": []
208
+ },
209
+ {
210
+ "cell_type": "code",
211
+ "id": "d58d1813824b",
212
+ "metadata": {},
213
+ "source": [
214
+ "import platform\n",
215
+ "import transformers\n",
216
+ "\n",
217
+ "print({\"python\": platform.python_version(), \"torch\": torch.__version__,\n",
218
+ " \"transformers\": transformers.__version__, \"huggingface_revision\": resolved_revision})\n"
219
  ],
220
  "execution_count": null,
221
  "outputs": []
222
  },
223
  {
224
  "cell_type": "markdown",
225
+ "id": "0208ef2a8279",
226
  "metadata": {},
227
  "source": [
228
+ "## Sources and citation\n",
229
+ "\n",
230
+ "[Source and rule references](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/SOURCES.md) ·\n",
231
+ "[Work catalogue](https://github.com/Pranav-20186017/chandassu_recognition/blob/main/data/v3/WORKS.md) ·\n",
232
+ "[Model card](https://huggingface.co/sprx7767/chandassu-recognition) ·\n",
233
+ "[Project code](https://github.com/Pranav-20186017/chandassu_recognition)\n",
234
+ "\n",
235
+ "Author: Pranav Surampudi. Project-owned material follows the Chandassu citation\n",
236
+ "license. Poems, editions, transcriptions and annotations retain their source\n",
237
+ "rights. Preserve authors and source links. The examples use a pretrained\n",
238
+ "classifier; they do not implement a formal lakshana verifier or teacher distillation.\n"
 
 
 
 
 
 
239
  ]
240
  }
241
+ ],
242
+ "metadata": {
243
+ "colab": {
244
+ "name": "notebook.ipynb",
245
+ "provenance": []
246
+ },
247
+ "kernelspec": {
248
+ "display_name": "Python 3",
249
+ "language": "python",
250
+ "name": "python3"
251
+ },
252
+ "language_info": {
253
+ "name": "python"
254
+ }
255
+ },
256
+ "nbformat": 4,
257
+ "nbformat_minor": 5
258
  }
release.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "calibrated": false,
3
+ "classes": 8,
4
+ "data_manifest_sha256": "e73dd42275930a8ab3dfc6db64f575e6c0dc8fad83d295af66a0711381ff5a22",
5
+ "github_commit": "662c990fff5d8e2c03fd277dd337c405baed6556",
6
+ "github_repository": "https://github.com/Pranav-20186017/chandassu_recognition",
7
+ "legacy_packages_preserved": [
8
+ "cnn/",
9
+ "byt5/",
10
+ "hf_model.py"
11
+ ],
12
+ "loading_script": "load_hf_model.py",
13
+ "model": "ordered_poem_cnn_v1",
14
+ "native_run_id": "4e4a52c8970f00812f0ba5aee3818b9831f560353b94288ee553bdfa21386255",
15
+ "notebook": "notebook.ipynb",
16
+ "python_loader": "hf_poem.py",
17
+ "seed": 17,
18
+ "selected_epoch": 11,
19
+ "test_accuracy": 0.9789852328663385,
20
+ "test_macro_f1": 0.9484251702907207,
21
+ "test_poems": 5282,
22
+ "weights_sha256": "cb94cb037b13ad8ff2e4e773fa6a80a5291537c10c4a978634717fbd37f12eeb"
23
+ }
tokenizer_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "hf_poem.ChandassuPoemTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "model_max_length": 512,
9
+ "padding_side": "right",
10
+ "tokenizer_class": "ChandassuPoemTokenizer"
11
+ }
vocabulary.json ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ " ": 2,
3
+ "!": 3,
4
+ "\"": 4,
5
+ "#": 5,
6
+ "'": 6,
7
+ "(": 7,
8
+ ")": 8,
9
+ ",": 9,
10
+ "-": 10,
11
+ ".": 11,
12
+ "0": 12,
13
+ "1": 13,
14
+ "2": 14,
15
+ "3": 15,
16
+ "4": 16,
17
+ "5": 17,
18
+ "6": 18,
19
+ "7": 19,
20
+ "8": 20,
21
+ "9": 21,
22
+ ":": 22,
23
+ ";": 23,
24
+ "?": 24,
25
+ "[": 25,
26
+ "\\": 26,
27
+ "|": 27,
28
+ "।": 28,
29
+ "॥": 29,
30
+ "ఁ": 30,
31
+ "ం": 31,
32
+ "ః": 32,
33
+ "అ": 33,
34
+ "ఆ": 34,
35
+ "ఇ": 35,
36
+ "ఈ": 36,
37
+ "ఉ": 37,
38
+ "ఊ": 38,
39
+ "ఋ": 39,
40
+ "ఎ": 40,
41
+ "ఏ": 41,
42
+ "ఐ": 42,
43
+ "ఒ": 43,
44
+ "ఓ": 44,
45
+ "ఔ": 45,
46
+ "క": 46,
47
+ "ఖ": 47,
48
+ "గ": 48,
49
+ "ఘ": 49,
50
+ "ఙ": 50,
51
+ "చ": 51,
52
+ "ఛ": 52,
53
+ "జ": 53,
54
+ "ఝ": 54,
55
+ "ఞ": 55,
56
+ "ట": 56,
57
+ "ఠ": 57,
58
+ "డ": 58,
59
+ "ఢ": 59,
60
+ "ణ": 60,
61
+ "త": 61,
62
+ "థ": 62,
63
+ "ద": 63,
64
+ "ధ": 64,
65
+ "న": 65,
66
+ "ప": 66,
67
+ "ఫ": 67,
68
+ "బ": 68,
69
+ "భ": 69,
70
+ "మ": 70,
71
+ "య": 71,
72
+ "ర": 72,
73
+ "ఱ": 73,
74
+ "ల": 74,
75
+ "ళ": 75,
76
+ "వ": 76,
77
+ "శ": 77,
78
+ "ష": 78,
79
+ "స": 79,
80
+ "హ": 80,
81
+ "ఽ": 81,
82
+ "ా": 82,
83
+ "ి": 83,
84
+ "ీ": 84,
85
+ "ు": 85,
86
+ "ూ": 86,
87
+ "ృ": 87,
88
+ "ె": 88,
89
+ "ే": 89,
90
+ "ై": 90,
91
+ "ొ": 91,
92
+ "ో": 92,
93
+ "ౌ": 93,
94
+ "్": 94,
95
+ "ౢ": 95,
96
+ "౦": 96,
97
+ "౽": 97,
98
+ "‌": 98,
99
+ "‍": 99,
100
+ "‘": 100,
101
+ "’": 101,
102
+ "“": 102,
103
+ "”": 103
104
+ }