SkillAgentSearch skills...

TripleNet

[JRTIP 2023] Efficient Convolutional Neural Networks on Raspberry Pi for Image Classification

Install / Use

/learn @RuiyangJu/TripleNet
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

TripleNet

Efficient Convolutional Neural Networks on Raspberry Pi for Image Classification

Architecture

<p align="center"> <img src="Img/architecture.jpg" width="640" title="architecture"> </p>

Layers

<p align="center"> <img src="Img/conv_layers.jpg" width="640" title="conv_layers"> </p>

Citation

If you find TripleNet useful in your research, please consider citing:

@article{ju2023efficient,
  title={Efficient convolutional neural networks on Raspberry Pi for image classification},
  author={Ju, Rui-Yang and Lin, Ting-Yu and Jian, Jia-Hao and Chiang, Jen-Shiun},
  journal={Journal of Real-Time Image Processing},
  volume={20},
  number={2},
  pages={1--9},
  year={2023},
  publisher={Springer}
}
 

Contents

  1. Introduction
  2. Usage
  3. Config
  4. Model
  5. Results
  6. Requirements
  7. References

Usage

python3 main.py

optional arguments:

--lr                default=1e-3    learning rate
--epoch             default=200     number of epochs tp train for
--trainBatchSize    default=64     training batch size
--testBatchSize     default=64     test batch size

pre-training:

return TripleNet(pretrained=True, weight_path='your pre-trained model address')

Config

Optimizer
  • Adam Optimizer
Learning Rate
  • 1e-3 for [1,74] epochs <br>
  • 5e-4 for [75,149] epochs <br>
  • 2.5e-4 for [150,200) epochs <br>

Model

| Model | Layer | Channel | Growth Rate | | :---: | :---: | :---: | :---: | | TripleNet-S | 6, 16, 16, 16, 2 | 128, 192, 256, 320, 720 | 32, 16, 20, 40, 160 | | TripleNet-B | 6, 16, 16, 16, 3 | 128, 192, 256, 320, 1080 | 32, 16, 20, 40, 160 |

Results

| Name | Raspberry Pi 4 Time* (ms) | C10 Error (%) | FLOPs (G) | MAdd (G) | Memory (MB) | #Params (M) | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | TripleNet-S | 40.6 | 13.05 | 4.17 | 8.32 | 90.25 | 9.67 | | ShuffleNet | 44.1 | 13.35 | 2.22 | 4.31 | 617.00 | 1.01 | | ThreshNet-28 | 45.3 | 14.75 | 2.28 | 4.55 | 83.26 | 10.18 | | TripleNet-B | 65.1 | 12.97 | 4.29 | 8.57 | 91.33 | 12.63 | | MobileNetV2 | 67.4 | 14.06 | 2.42 | 4.75 | 384.78 | 2.37 | | MobileNet | 76.8 | 16.12 | 2.34 | 4.63 | 230.84 | 3.32 | | ThreshNet-95 | 77.9 | 13.31 | 4.07 | 8.12 | 132.34 | 16.19 | | EfficientNet-B0 | 85.4 | 13.40 | 1.51 | 2.99 | 203.74 | 3.60 | | HarDNet-85 | 92.5 | 13.89 | 9.10 | 18.18 | 74.65 | 36.67 |

* Raspberry Pi Time is the inference time per image on Raspberry Pi 4

Requirements

Raspberry Pi 4 Model B 4GB

  • python3 - 3.9.2
  • torch - 1.11.0
  • torchvision - 0.12
  • numpy - 1.22.3

References

<details><summary> <b>GitHub</b> </summary>

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated2mo ago
Forks2

Languages

Python

Security Score

95/100

Audited on Jan 27, 2026

No findings