Files changed (1) hide show
  1. README.md +101 -2
README.md CHANGED
@@ -1,21 +1,120 @@
1
  ---
2
  library_name: litert
 
3
  tags:
4
  - vision
5
  - image-classification
 
 
6
  datasets:
7
  - imagenet-1k
8
  base_model:
9
  - google/efficientnet-b0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ---
 
11
  # EfficientNet B0
12
 
13
- EfficientNet B0 model pre-trained on ImageNet-1k.
14
 
15
  ## Intended uses & limitations
16
 
17
  The model files were converted from pretrained weights from PyTorch Vision. The models may have their own licenses or terms and conditions derived from PyTorch Vision and the dataset used for training. It is your responsibility to determine whether you have permission to use the models for your use case.
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  ### BibTeX entry and citation info
20
 
21
  ```bibtex
@@ -26,4 +125,4 @@ The model files were converted from pretrained weights from PyTorch Vision. The
26
  year={2019},
27
  volume={abs/1905.11946}
28
  }
29
- ```
 
1
  ---
2
  library_name: litert
3
+ pipeline_tag: image-classification
4
  tags:
5
  - vision
6
  - image-classification
7
+ - google
8
+ - computer-vision
9
  datasets:
10
  - imagenet-1k
11
  base_model:
12
  - google/efficientnet-b0
13
+ model-index:
14
+ - name: EfficientNet_B0
15
+ results:
16
+ - task:
17
+ type: image-classification
18
+ name: Image Classification
19
+ dataset:
20
+ name: ImageNet-1k
21
+ type: imagenet-1k
22
+ config: default
23
+ split: validation
24
+ metrics:
25
+ - name: Top 1 Accuracy (Full Precision)
26
+ type: accuracy
27
+ value: 0.7765
28
+ - name: Top 5 Accuracy (Full Precision)
29
+ type: accuracy
30
+ value: 0.9353
31
+ - name: Top 1 Accuracy (Dynamic Quantized wi8 afp32)
32
+ type: accuracy
33
+ value: 0.7047
34
+ - name: Top 5 Accuracy (Dynamic Quantized wi8 afp32)
35
+ type: accuracy
36
+ value: 0.8950
37
  ---
38
+
39
  # EfficientNet B0
40
 
41
+ EfficientNet B0 model pre-trained on ImageNet-1k. Originally introduced by Tan and Le in the influential paper, [**EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks**](https://arxiv.org/abs/1905.11946) this model utilizes compound scaling to systematically balance network depth, width, and resolution, enabling superior accuracy with significantly higher efficiency than traditional architectures.
42
 
43
  ## Intended uses & limitations
44
 
45
  The model files were converted from pretrained weights from PyTorch Vision. The models may have their own licenses or terms and conditions derived from PyTorch Vision and the dataset used for training. It is your responsibility to determine whether you have permission to use the models for your use case.
46
 
47
+
48
+ ## Model description
49
+ The model was converted from a checkpoint from PyTorch Vision.
50
+
51
+ The original model has:
52
+ acc@1 (on ImageNet-1K): 77.692%
53
+ acc@5 (on ImageNet-1K): 93.532%
54
+ num_params: 5,288,548
55
+
56
+
57
+ ## Use
58
+ ```python
59
+ #!/usr/bin/env python3
60
+ import argparse, json
61
+ import numpy as np
62
+ from PIL import Image
63
+ from huggingface_hub import hf_hub_download
64
+ from ai_edge_litert.compiled_model import CompiledModel
65
+
66
+ def preprocess(img: Image.Image) -> np.ndarray:
67
+ img = img.convert("RGB")
68
+ w, h = img.size
69
+ s = 256
70
+ if w < h:
71
+ img = img.resize((s, int(round(h * s / w))), Image.BICUBIC)
72
+ else:
73
+ img = img.resize((int(round(w * s / h)), s), Image.BICUBIC)
74
+ left = (img.size[0] - 224) // 2
75
+ top = (img.size[1] - 224) // 2
76
+ img = img.crop((left, top, left + 224, top + 224))
77
+
78
+ x = np.asarray(img, dtype=np.float32) / 255.0
79
+ x = (x - np.array([0.485, 0.456, 0.406], dtype=np.float32)) / np.array(
80
+ [0.229, 0.224, 0.225], dtype=np.float32
81
+ )
82
+ return np.transpose(x, (2, 0, 1))
83
+
84
+ def main():
85
+ ap = argparse.ArgumentParser()
86
+ ap.add_argument("--image", required=True)
87
+ args = ap.parse_args()
88
+
89
+ model_path = hf_hub_download("litert-community/efficientnet_b0", "efficientnet_b0.tflite")
90
+ labels_path = hf_hub_download(
91
+ "huggingface/label-files", "imagenet-1k-id2label.json", repo_type="dataset"
92
+ )
93
+ with open(labels_path, "r", encoding="utf-8") as f:
94
+ id2label = {int(k): v for k, v in json.load(f).items()}
95
+
96
+ img = Image.open(args.image)
97
+ x = preprocess(img)
98
+
99
+ model = CompiledModel.from_file(model_path)
100
+ inp = model.create_input_buffers(0)
101
+ out = model.create_output_buffers(0)
102
+
103
+ inp[0].write(x)
104
+ model.run_by_index(0, inp, out)
105
+
106
+ req = model.get_output_buffer_requirements(0, 0)
107
+ y = out[0].read(req["buffer_size"] // np.dtype(np.float32).itemsize, np.float32)
108
+
109
+ pred = int(np.argmax(y))
110
+ label = id2label.get(pred, f"class_{pred}")
111
+
112
+
113
+ print(f"Top-1 class index: {pred}")
114
+ print(f"Top-1 label: {label}")
115
+ if __name__ == "__main__":
116
+ main()
117
+ ```
118
  ### BibTeX entry and citation info
119
 
120
  ```bibtex
 
125
  year={2019},
126
  volume={abs/1905.11946}
127
  }
128
+ ```