kimsan0622
commited on
Commit
•
ad00165
1
Parent(s):
151ef5e
Update README.md
Browse files
README.md
CHANGED
@@ -1,199 +1,298 @@
|
|
1 |
---
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
---
|
5 |
|
6 |
-
|
|
|
7 |
|
8 |
-
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
|
12 |
-
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
<!-- Provide a longer summary of what this model is. -->
|
17 |
|
18 |
-
|
19 |
|
20 |
-
|
21 |
-
- **Funded by [optional]:** [More Information Needed]
|
22 |
-
- **Shared by [optional]:** [More Information Needed]
|
23 |
-
- **Model type:** [More Information Needed]
|
24 |
-
- **Language(s) (NLP):** [More Information Needed]
|
25 |
-
- **License:** [More Information Needed]
|
26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
27 |
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
<!-- Provide the basic links for the model. -->
|
31 |
|
32 |
-
|
33 |
-
- **Paper [optional]:** [More Information Needed]
|
34 |
-
- **Demo [optional]:** [More Information Needed]
|
35 |
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
39 |
|
40 |
-
### Direct Use
|
41 |
|
42 |
-
|
43 |
|
44 |
-
|
45 |
|
46 |
-
### Downstream Use [optional]
|
47 |
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
[More Information Needed]
|
51 |
|
52 |
-
### Out-of-Scope Use
|
53 |
|
54 |
-
|
55 |
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
-
## Bias, Risks, and Limitations
|
59 |
|
60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
61 |
-
|
62 |
-
[More Information Needed]
|
63 |
-
|
64 |
-
### Recommendations
|
65 |
-
|
66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
67 |
-
|
68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
69 |
-
|
70 |
-
## How to Get Started with the Model
|
71 |
-
|
72 |
-
Use the code below to get started with the model.
|
73 |
-
|
74 |
-
[More Information Needed]
|
75 |
-
|
76 |
-
## Training Details
|
77 |
-
|
78 |
-
### Training Data
|
79 |
-
|
80 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
81 |
-
|
82 |
-
[More Information Needed]
|
83 |
-
|
84 |
-
### Training Procedure
|
85 |
-
|
86 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
87 |
-
|
88 |
-
#### Preprocessing [optional]
|
89 |
-
|
90 |
-
[More Information Needed]
|
91 |
-
|
92 |
-
|
93 |
-
#### Training Hyperparameters
|
94 |
-
|
95 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
96 |
-
|
97 |
-
#### Speeds, Sizes, Times [optional]
|
98 |
-
|
99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
100 |
-
|
101 |
-
[More Information Needed]
|
102 |
-
|
103 |
-
## Evaluation
|
104 |
-
|
105 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
106 |
-
|
107 |
-
### Testing Data, Factors & Metrics
|
108 |
-
|
109 |
-
#### Testing Data
|
110 |
-
|
111 |
-
<!-- This should link to a Dataset Card if possible. -->
|
112 |
-
|
113 |
-
[More Information Needed]
|
114 |
-
|
115 |
-
#### Factors
|
116 |
-
|
117 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
118 |
-
|
119 |
-
[More Information Needed]
|
120 |
-
|
121 |
-
#### Metrics
|
122 |
-
|
123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
124 |
-
|
125 |
-
[More Information Needed]
|
126 |
-
|
127 |
-
### Results
|
128 |
-
|
129 |
-
[More Information Needed]
|
130 |
-
|
131 |
-
#### Summary
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
## Model Examination [optional]
|
136 |
-
|
137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
138 |
-
|
139 |
-
[More Information Needed]
|
140 |
-
|
141 |
-
## Environmental Impact
|
142 |
-
|
143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
144 |
-
|
145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
146 |
-
|
147 |
-
- **Hardware Type:** [More Information Needed]
|
148 |
-
- **Hours used:** [More Information Needed]
|
149 |
-
- **Cloud Provider:** [More Information Needed]
|
150 |
-
- **Compute Region:** [More Information Needed]
|
151 |
-
- **Carbon Emitted:** [More Information Needed]
|
152 |
-
|
153 |
-
## Technical Specifications [optional]
|
154 |
-
|
155 |
-
### Model Architecture and Objective
|
156 |
-
|
157 |
-
[More Information Needed]
|
158 |
-
|
159 |
-
### Compute Infrastructure
|
160 |
-
|
161 |
-
[More Information Needed]
|
162 |
-
|
163 |
-
#### Hardware
|
164 |
-
|
165 |
-
[More Information Needed]
|
166 |
-
|
167 |
-
#### Software
|
168 |
-
|
169 |
-
[More Information Needed]
|
170 |
-
|
171 |
-
## Citation [optional]
|
172 |
-
|
173 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
174 |
-
|
175 |
-
**BibTeX:**
|
176 |
-
|
177 |
-
[More Information Needed]
|
178 |
-
|
179 |
-
**APA:**
|
180 |
-
|
181 |
-
[More Information Needed]
|
182 |
-
|
183 |
-
## Glossary [optional]
|
184 |
-
|
185 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
186 |
-
|
187 |
-
[More Information Needed]
|
188 |
-
|
189 |
-
## More Information [optional]
|
190 |
-
|
191 |
-
[More Information Needed]
|
192 |
-
|
193 |
-
## Model Card Authors [optional]
|
194 |
-
|
195 |
-
[More Information Needed]
|
196 |
-
|
197 |
-
## Model Card Contact
|
198 |
-
|
199 |
-
[More Information Needed]
|
|
|
1 |
---
|
2 |
+
base_model: meta-llama/Llama-3.2-1B
|
3 |
+
library_name: peft
|
4 |
+
license: llama3.2
|
5 |
+
metrics:
|
6 |
+
- accuracy
|
7 |
+
tags:
|
8 |
+
- generated_from_trainer
|
9 |
+
model-index:
|
10 |
+
- name: code-knowledge-eval
|
11 |
+
results: []
|
12 |
---
|
13 |
|
14 |
+
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
|
15 |
+
should probably proofread and complete it, then remove this comment. -->
|
16 |
|
17 |
+
# Llama-3.2-1B-Code-Knowledge-Value-Eval-lora
|
18 |
|
19 |
+
This model is a fine-tuned version of [meta-llama/Llama-3.2-1B](https://huggingface.co/meta-llama/Llama-3.2-1B) on the [kimsan0622/code-knowledge-eval](https://huggingface.co/datasets/kimsan0622/code-knowledge-eval) dataset.
|
20 |
+
It achieves the following results on the evaluation set:
|
21 |
+
- Loss: 0.9410
|
22 |
+
- Accuracy: 0.5820
|
23 |
+
|
24 |
+
## **Model Description**
|
25 |
+
The model trained on the **Code Knowledge Value Evaluation Dataset** is designed to assess the educational and knowledge value of code snippets. It leverages patterns and contextual information from a large collection of open-source code, sourced from the `bigcode/the-stack` repository. By analyzing these code samples, the model can evaluate their utility in teaching coding concepts, solving problems, and improving developer education.
|
26 |
+
|
27 |
+
The model focuses on understanding the structure, syntax, and logic of various programming languages, enabling it to provide insights into the learning potential and technical depth of different code samples. The dataset used for training consists of 22,786 samples for training, 4,555 for validation, and 18,232 for testing, ensuring that the model is both robust and well-generalized across different coding contexts.
|
28 |
+
|
29 |
+
## **Intended Uses & Limitations**
|
30 |
+
### **Intended Uses**:
|
31 |
+
1. **Automated Code Review**: The model can be applied in automated systems to assess the knowledge value of code during code review processes. It can help identify areas where code could be optimized for better readability, maintainability, and educational impact.
|
32 |
+
2. **Educational Feedback**: For instructors and educational platforms, the model can offer feedback on the effectiveness of code samples used in teaching, helping to improve curriculum materials and select code that best conveys core programming concepts.
|
33 |
+
3. **Curriculum Development**: The model can aid in designing coding courses or instructional materials by suggesting code examples that have higher educational value, supporting a more effective learning experience.
|
34 |
+
4. **Technical Skill Assessment**: Organizations or platforms can use the model to assess the complexity and educational value of code submissions in coding challenges or exams.
|
35 |
+
|
36 |
+
### **Limitations**:
|
37 |
+
1. **Narrow Scope in Knowledge Evaluation**: The model is specialized in evaluating code from an educational standpoint, focusing primarily on learning potential rather than production-level code quality (e.g., performance optimization or security).
|
38 |
+
2. **Language and Domain Limitations**: Since the dataset is sourced from `bigcode/the-stack`, it may not cover all programming languages or specialized domains. The model may perform less effectively in underrepresented languages or niche coding styles not well-represented in the dataset.
|
39 |
+
3. **Not Suitable for All Educational Levels**: While the model is designed to evaluate code for educational purposes, its outputs may be better suited for certain levels (e.g., beginner or intermediate coding), and its recommendations might not fully cater to advanced or highly specialized learners.
|
40 |
+
|
41 |
+
|
42 |
+
|
43 |
+
## How to use this model?
|
44 |
+
|
45 |
+
```python
|
46 |
+
import torch
|
47 |
+
import numpy as np
|
48 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
49 |
+
from peft import PeftModel, PeftConfig
|
50 |
+
|
51 |
+
# Define the model name or path for loading the tokenizer and model using LoRA fine-tuning
|
52 |
+
model_name_or_path = "kimsan0622/Llama-3.2-1B-Code-Knowledge-Value-Eval-lora"
|
53 |
+
|
54 |
+
# Load the PEFT (Parameter-Efficient Fine-Tuning) configuration from the pretrained model
|
55 |
+
config = PeftConfig.from_pretrained(model_name_or_path)
|
56 |
+
|
57 |
+
# Load the base model for sequence classification, setting up for 6 possible labels
|
58 |
+
inference_model = AutoModelForSequenceClassification.from_pretrained(
|
59 |
+
config.base_model_name_or_path, # Base model path
|
60 |
+
device_map="cuda:0", # Use the first CUDA device for inference
|
61 |
+
label2id={str(k): k for k in range(6)}, # Map label names (0-5) to IDs
|
62 |
+
id2label={k: str(k) for k in range(6)}, # Map label IDs to names (0-5)
|
63 |
+
num_labels=6, # Define the number of labels for classification (0 to 5)
|
64 |
+
)
|
65 |
+
|
66 |
+
# Load the tokenizer for the base model
|
67 |
+
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
|
68 |
+
|
69 |
+
# Set the padding token if it is not already defined, matching it with the EOS token
|
70 |
+
if not tokenizer.pad_token_id:
|
71 |
+
tokenizer.pad_token_id = tokenizer.eos_token_id
|
72 |
+
inference_model.config.pad_token_id = inference_model.config.eos_token_id
|
73 |
+
|
74 |
+
# Load the PEFT model using the pre-trained LoRA model and the base model
|
75 |
+
model = PeftModel.from_pretrained(inference_model, model_name_or_path)
|
76 |
+
|
77 |
+
# Sample code input to evaluate
|
78 |
+
code = [
|
79 |
+
"""
|
80 |
+
import torch
|
81 |
+
import numpy as np
|
82 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
83 |
+
from peft import PeftModel, PeftConfig
|
84 |
+
|
85 |
+
# Define the model name or path for loading the tokenizer and model using LoRA fine-tuning
|
86 |
+
model_name_or_path = "kimsan0622/Llama-3.2-1B-Code-Knowledge-Value-Eval-lora"
|
87 |
+
|
88 |
+
# Load the PEFT (Parameter-Efficient Fine-Tuning) configuration from the pretrained model
|
89 |
+
config = PeftConfig.from_pretrained(model_name_or_path)
|
90 |
+
|
91 |
+
# Load the base model for sequence classification, setting up for 6 possible labels
|
92 |
+
inference_model = AutoModelForSequenceClassification.from_pretrained(
|
93 |
+
config.base_model_name_or_path, # Base model path
|
94 |
+
device_map="cuda:0", # Use the first CUDA device for inference
|
95 |
+
label2id={str(k): k for k in range(6)}, # Map label names (0-5) to IDs
|
96 |
+
id2label={k: str(k) for k in range(6)}, # Map label IDs to names (0-5)
|
97 |
+
num_labels=6, # Define the number of labels for classification (0 to 5)
|
98 |
+
)
|
99 |
+
|
100 |
+
# Load the tokenizer for the base model
|
101 |
+
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
|
102 |
+
|
103 |
+
# Set the padding token if it is not already defined, matching it with the EOS token
|
104 |
+
if not tokenizer.pad_token_id:
|
105 |
+
tokenizer.pad_token_id = tokenizer.eos_token_id
|
106 |
+
inference_model.config.pad_token_id = inference_model.config.eos_token_id
|
107 |
+
|
108 |
+
# Load the PEFT model using the pre-trained LoRA model and the base model
|
109 |
+
model = PeftModel.from_pretrained(inference_model, model_name_or_path)
|
110 |
+
|
111 |
+
# Sample code input to evaluate
|
112 |
+
code = ["code"]
|
113 |
+
|
114 |
+
# Tokenize the input code, setting the maximum length and ensuring proper padding and truncation
|
115 |
+
batch = tokenizer(code, max_length=1024, padding=True, truncation=True, return_tensors="pt")
|
116 |
+
|
117 |
+
# Perform inference without computing gradients for faster processing
|
118 |
+
with torch.no_grad():
|
119 |
+
# Pass the input IDs and attention mask to the model for prediction
|
120 |
+
res = model(
|
121 |
+
input_ids=batch["input_ids"].to("cuda:0"),
|
122 |
+
attention_mask=batch["attention_mask"].to("cuda:0"),
|
123 |
+
)
|
124 |
+
|
125 |
+
# Move the logits to the CPU and convert them to a numpy array
|
126 |
+
preds = res.logits.cpu().numpy()
|
127 |
+
|
128 |
+
# Get the predicted label by taking the argmax of the logits
|
129 |
+
preds = np.argmax(preds, axis=1).tolist()
|
130 |
+
|
131 |
+
# Print the predicted labels
|
132 |
+
print(preds)
|
133 |
+
"""
|
134 |
+
]
|
135 |
+
|
136 |
+
# Tokenize the input code, setting the maximum length and ensuring proper padding and truncation
|
137 |
+
batch = tokenizer(code, max_length=1024, padding=True, truncation=True, return_tensors="pt")
|
138 |
+
|
139 |
+
# Perform inference without computing gradients for faster processing
|
140 |
+
with torch.no_grad():
|
141 |
+
# Pass the input IDs and attention mask to the model for prediction
|
142 |
+
res = model(
|
143 |
+
input_ids=batch["input_ids"].to("cuda:0"),
|
144 |
+
attention_mask=batch["attention_mask"].to("cuda:0"),
|
145 |
+
)
|
146 |
+
|
147 |
+
# Move the logits to the CPU and convert them to a numpy array
|
148 |
+
preds = res.logits.cpu().numpy()
|
149 |
+
|
150 |
+
# Get the predicted label by taking the argmax of the logits
|
151 |
+
preds = np.argmax(preds, axis=1).tolist()
|
152 |
+
|
153 |
+
# Print the predicted labels
|
154 |
+
print(preds)
|
155 |
+
|
156 |
+
```
|
157 |
+
|
158 |
+
### 8 Bit quantization
|
159 |
+
|
160 |
+
```python
|
161 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification, BitsAndBytesConfig
|
162 |
+
from peft import PeftModel, PeftConfig
|
163 |
+
|
164 |
+
# Define the model name or path for loading the LoRA fine-tuned model
|
165 |
+
model_name_or_path = "kimsan0622/Llama-3.2-1B-Code-Knowledge-Value-Eval-lora"
|
166 |
+
|
167 |
+
# Configure the model to load in 8-bit precision to optimize memory usage and speed
|
168 |
+
bnb_config = BitsAndBytesConfig(load_in_8bit=True)
|
169 |
+
|
170 |
+
# Load the PEFT (Parameter-Efficient Fine-Tuning) configuration from the pre-trained model
|
171 |
+
config = PeftConfig.from_pretrained(model_path)
|
172 |
+
|
173 |
+
# Load the base model for sequence classification with 8-bit quantization and a device map to the first CUDA device
|
174 |
+
inference_model = AutoModelForSequenceClassification.from_pretrained(
|
175 |
+
config.base_model_name_or_path, # Base model path from PEFT config
|
176 |
+
quantization_config=bnb_config, # Apply 8-bit quantization for memory efficiency
|
177 |
+
device_map="cuda:0", # Map the model to the first CUDA device
|
178 |
+
label2id={str(k): k for k in range(6)}, # Map label names (0-5) to label IDs
|
179 |
+
id2label={k: str(k) for k in range(6)}, # Map label IDs to label names (0-5)
|
180 |
+
num_labels=6, # Specify the number of labels for classification
|
181 |
+
)
|
182 |
+
|
183 |
+
# Load the tokenizer associated with the base model
|
184 |
+
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
|
185 |
+
|
186 |
+
# Set the padding token if it's not defined, using the EOS token as the fallback
|
187 |
+
if not tokenizer.pad_token_id:
|
188 |
+
tokenizer.pad_token_id = tokenizer.eos_token_id
|
189 |
+
inference_model.config.pad_token_id = inference_model.config.eos_token_id
|
190 |
+
|
191 |
+
# Load the PEFT model by applying LoRA (Low-Rank Adaptation) on top of the base model
|
192 |
+
model = PeftModel.from_pretrained(inference_model, model_path)
|
193 |
+
```
|
194 |
+
|
195 |
+
|
196 |
+
## Training and evaluation data
|
197 |
+
|
198 |
+
[kimsan0622/code-knowledge-eval](https://huggingface.co/datasets/kimsan0622/code-knowledge-eval)
|
199 |
+
|
200 |
+
## Training procedure
|
201 |
+
|
202 |
+
### Training hyperparameters
|
203 |
+
|
204 |
+
The following hyperparameters were used during training:
|
205 |
+
- learning_rate: 0.0001
|
206 |
+
- train_batch_size: 2
|
207 |
+
- eval_batch_size: 8
|
208 |
+
- seed: 42
|
209 |
+
- distributed_type: multi-GPU
|
210 |
+
- num_devices: 8
|
211 |
+
- gradient_accumulation_steps: 8
|
212 |
+
- total_train_batch_size: 128
|
213 |
+
- total_eval_batch_size: 64
|
214 |
+
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
|
215 |
+
- lr_scheduler_type: linear
|
216 |
+
- num_epochs: 5.0
|
217 |
+
|
218 |
+
### Training results
|
219 |
+
|
220 |
+
| Training Loss | Epoch | Step | Validation Loss | Accuracy |
|
221 |
+
|:-------------:|:------:|:----:|:---------------:|:--------:|
|
222 |
+
| 1.0141 | 0.9993 | 178 | 1.0181 | 0.5374 |
|
223 |
+
| 0.9435 | 1.9986 | 356 | 0.9410 | 0.5820 |
|
224 |
+
| 0.8826 | 2.9979 | 534 | 0.9428 | 0.5978 |
|
225 |
+
| 0.7727 | 3.9972 | 712 | 0.9441 | 0.6013 |
|
226 |
+
| 0.7075 | 4.9965 | 890 | 0.9526 | 0.6020 |
|
227 |
|
228 |
|
229 |
+
### Framework versions
|
230 |
|
231 |
+
- PEFT 0.11.1
|
232 |
+
- Transformers 4.44.2
|
233 |
+
- Pytorch 2.3.0
|
234 |
+
- Datasets 2.20.0
|
235 |
+
- Tokenizers 0.19.1
|
236 |
|
|
|
237 |
|
238 |
+
## Test set results
|
239 |
|
240 |
+
### Confusion matrix
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
+
| y_true |**pred_0**|**pred_1**|**pred_2**|**pred_3**|**pred_4**|**pred_5**|
|
243 |
+
|-------|-------|-------|-------|-------|-------|-------|
|
244 |
+
| 0 | 1104 | 151 | 84 | 35 | 2 | 1 |
|
245 |
+
| 1 | 401 | 303 | 280 | 256 | 3 | 1 |
|
246 |
+
| 2 | 151 | 213 | 366 | 982 | 49 | 13 |
|
247 |
+
| 3 | 63 | 93 | 265 | 3301 | 1115 | 88 |
|
248 |
+
| 4 | 14 | 6 | 26 | 1551 | 3482 | 1245 |
|
249 |
+
| 5 | 2 | 0 | 1 | 54 | 615 | 1916 |
|
250 |
|
|
|
251 |
|
252 |
+
### Classification reports
|
|
|
|
|
253 |
|
254 |
+
| y_true | **precision** | **recall** | **f1-score** | **support** |
|
255 |
+
|:-------------:|:-------------:|:----------:|:------------:|:-----------:|
|
256 |
+
| 0 | 0.64 | 0.80 | 0.71 | 1377 |
|
257 |
+
| 1 | 0.40 | 0.24 | 0.30 | 1244 |
|
258 |
+
| 2 | 0.36 | 0.21 | 0.26 | 1774 |
|
259 |
+
| 3 | 0.53 | 0.67 | 0.59 | 4925 |
|
260 |
+
| 4 | 0.66 | 0.55 | 0.60 | 6324 |
|
261 |
+
| 5 | 0.58 | 0.74 | 0.65 | 2588 |
|
262 |
+
| **accuracy** | | | 0.57 | 18232 |
|
263 |
+
| **macro avg**| 0.53 | 0.53 | 0.52 | 18232 |
|
264 |
+
| **weighted avg** | 0.57 | 0.57 | 0.56 | 18232 |
|
265 |
|
|
|
266 |
|
|
|
267 |
|
268 |
+
## 8 bit quantization
|
269 |
|
270 |
+
### Confusion matrix
|
271 |
|
|
|
272 |
|
273 |
+
| y_true |**pred_0**|**pred_1**|**pred_2**|**pred_3**|**pred_4**|**pred_5**|
|
274 |
+
|-------|-------|-------|-------|-------|-------|-------|
|
275 |
+
| 0 | 1126 | 124 | 96 | 28 | 2 | 1 |
|
276 |
+
| 1 | 415 | 282 | 311 | 232 | 4 | 0 |
|
277 |
+
| 2 | 163 | 211 | 416 | 934 | 36 | 14 |
|
278 |
+
| 3 | 70 | 84 | 322 | 3331 | 1035 | 83 |
|
279 |
+
| 4 | 14 | 5 | 33 | 1630 | 3417 | 1225 |
|
280 |
+
| 5 | 2 | 0 | 1 | 62 | 623 | 1900 |
|
281 |
|
|
|
282 |
|
|
|
283 |
|
284 |
+
### Classification reports
|
285 |
|
286 |
+
| y_true | **precision** | **recall** | **f1-score** | **support** |
|
287 |
+
|:-------------:|:-------------:|:----------:|:------------:|:-----------:|
|
288 |
+
| 0 | 0.63 | 0.82 | 0.71 | 1377 |
|
289 |
+
| 1 | 0.40 | 0.23 | 0.29 | 1244 |
|
290 |
+
| 2 | 0.35 | 0.23 | 0.28 | 1774 |
|
291 |
+
| 3 | 0.54 | 0.68 | 0.60 | 4925 |
|
292 |
+
| 4 | 0.67 | 0.54 | 0.60 | 6324 |
|
293 |
+
| 5 | 0.59 | 0.73 | 0.65 | 2588 |
|
294 |
+
| **accuracy** | | | 0.57 | 18232 |
|
295 |
+
| **macro avg**| 0.53 | 0.54 | 0.52 | 18232 |
|
296 |
+
| **weighted avg** | 0.57 | 0.57 | 0.56 | 18232 |
|
297 |
|
|
|
298 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|