mirror of
https://github.com/lordmathis/CUDANet.git
synced 2025-11-05 17:34:21 +00:00
Update inception v3 readme
This commit is contained in:
43
examples/inception_v3/README.md
Normal file
43
examples/inception_v3/README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Inception v3
|
||||
|
||||
Inception v3 Inference on CUDANet
|
||||
|
||||
## Usage
|
||||
|
||||
1. Export pytorch Inception v3 weights pretrained on ImageNet (requires pytorch and torchvision):
|
||||
|
||||
```sh
|
||||
python inception_v3.py
|
||||
```
|
||||
|
||||
2. Follow the instructions from the repository root to build the CUDANet library.
|
||||
|
||||
3. Build Inception v3 (requires [OpenCV](https://opencv.org/) for image loading and preprocessing):
|
||||
|
||||
```sh
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -S ..
|
||||
make
|
||||
```
|
||||
|
||||
4. (Optional) Run tests
|
||||
|
||||
Generate test input/output and resources by running `inception_blocks.py` in the `test` folder
|
||||
|
||||
Build and run tests (requires [Google Test](https://github.com/google/googletest))
|
||||
|
||||
```sh
|
||||
cd build
|
||||
make test_inception_v3
|
||||
./tests/test_inception_v3
|
||||
```
|
||||
|
||||
5. Run Inception v3 inference:
|
||||
```sh
|
||||
inception_v3 ../inception_v3_weights.bin ../image.jpg
|
||||
```
|
||||
|
||||
## Note on Preprocessing
|
||||
|
||||
The image preprocessing in this implementation uses OpenCV, which may produce slightly different results compared to PyTorch's Pillow-based preprocessing due to differences in interpolation methods during resizing.
|
||||
@@ -4,14 +4,21 @@ import sys
|
||||
sys.path.append("../../tools") # Ugly hack
|
||||
from utils import export_model_weights, print_model_parameters, predict
|
||||
|
||||
import torch
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
weights = torchvision.models.Inception_V3_Weights.DEFAULT
|
||||
inception = torchvision.models.inception_v3(
|
||||
weights=torchvision.models.Inception_V3_Weights.DEFAULT
|
||||
weights=weights,
|
||||
transform_input=False
|
||||
)
|
||||
|
||||
inception.transform_input = False
|
||||
inception.eval()
|
||||
|
||||
# print_model_parameters(inception) # print layer names and number of parameters
|
||||
export_model_weights(inception, "inception_v3_weights.bin")
|
||||
|
||||
# print(predict(inception, "bird.jpg"))
|
||||
# class_labels = weights.meta["categories"]
|
||||
# prediction = predict(inception, "bird.jpg")
|
||||
# print(prediction, class_labels[prediction])
|
||||
|
||||
Reference in New Issue
Block a user