summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-efficientnet.spec489
-rw-r--r--sources1
3 files changed, 491 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7efbbad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/efficientnet-1.1.1.tar.gz
diff --git a/python-efficientnet.spec b/python-efficientnet.spec
new file mode 100644
index 0000000..173224c
--- /dev/null
+++ b/python-efficientnet.spec
@@ -0,0 +1,489 @@
+%global _empty_manifest_terminate_build 0
+Name: python-efficientnet
+Version: 1.1.1
+Release: 1
+Summary: EfficientNet model re-implementation. Keras and TensorFlow Keras.
+License: Apache License 2.0
+URL: https://github.com/qubvel/efficientnet
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bc/0f/811c73e9e579361b202b1e8205fff114ee7f9a738489247207c9141266f3/efficientnet-1.1.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-keras-applications
+Requires: python3-scikit-image
+Requires: python3-pytest
+
+%description
+
+# EfficientNet Keras (and TensorFlow Keras)
+
+[![PyPI version](https://badge.fury.io/py/efficientnet.svg)](https://badge.fury.io/py/efficientnet) [![Downloads](https://pepy.tech/badge/efficientnet/month)](https://pepy.tech/project/efficientnet/month)
+
+This repository contains a Keras (and TensorFlow Keras) reimplementation of **EfficientNet**, a lightweight convolutional neural network architecture achieving the [state-of-the-art accuracy with an order of magnitude fewer parameters and FLOPS](https://arxiv.org/abs/1905.11946), on both ImageNet and
+five other commonly used transfer learning datasets.
+
+The codebase is heavily inspired by the [TensorFlow implementation](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet).
+
+## Important!
+There was a huge library update **24 of July 2019**. Now efficintnet works with both frameworks: `keras` and `tensorflow.keras`.
+If you have models, trained before that date, to load them, please, use efficientnet of 0.0.4 version (PyPI). You can roll back using `pip install -U efficientnet==0.0.4`.
+
+## Table of Contents
+
+ 1. [About EfficientNet Models](#about-efficientnet-models)
+ 2. [Examples](#examples)
+ 3. [Models](#models)
+ 4. [Installation](#installation)
+ 5. [Frequently Asked Questions](#frequently-asked-questions)
+ 6. [Acknowledgements](#acknowledgements)
+
+## About EfficientNet Models
+
+EfficientNets rely on AutoML and compound scaling to achieve superior performance without compromising resource efficiency. The [AutoML Mobile framework](https://ai.googleblog.com/2018/08/mnasnet-towards-automating-design-of.html) has helped develop a mobile-size baseline network, **EfficientNet-B0**, which is then improved by the compound scaling method to obtain EfficientNet-B1 to B7.
+
+<table border="0">
+<tr>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/params.png" width="100%" />
+ </td>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/flops.png", width="90%" />
+ </td>
+</tr>
+</table>
+
+EfficientNets achieve state-of-the-art accuracy on ImageNet with an order of magnitude better efficiency:
+
+* In high-accuracy regime, EfficientNet-B7 achieves the state-of-the-art 84.4% top-1 / 97.1% top-5 accuracy on ImageNet with 66M parameters and 37B FLOPS. At the same time, the model is 8.4x smaller and 6.1x faster on CPU inference than the former leader, [Gpipe](https://arxiv.org/abs/1811.06965).
+
+* In middle-accuracy regime, EfficientNet-B1 is 7.6x smaller and 5.7x faster on CPU inference than [ResNet-152](https://arxiv.org/abs/1512.03385), with similar ImageNet accuracy.
+
+* Compared to the widely used [ResNet-50](https://arxiv.org/abs/1512.03385), EfficientNet-B4 improves the top-1 accuracy from 76.3% of ResNet-50 to 82.6% (+6.3%), under similar FLOPS constraints.
+
+## Examples
+
+* *Initializing the model*:
+
+```python
+# models can be build with Keras or Tensorflow frameworks
+# use keras and tfkeras modules respectively
+# efficientnet.keras / efficientnet.tfkeras
+import efficientnet.keras as efn
+
+model = efn.EfficientNetB0(weights='imagenet') # or weights='noisy-student'
+
+```
+
+* *Loading the pre-trained weights*:
+
+```python
+# model use some custom objects, so before loading saved model
+# import module your network was build with
+# e.g. import efficientnet.keras / import efficientnet.tfkeras
+import efficientnet.tfkeras
+from tensorflow.keras.models import load_model
+
+model = load_model('path/to/model.h5')
+```
+
+See the complete example of loading the model and making an inference in the Jupyter notebook [here](https://github.com/qubvel/efficientnet/blob/master/examples/inference_example.ipynb).
+
+## Models
+
+The performance of each model variant using the pre-trained weights converted from checkpoints provided by the authors is as follows:
+
+| Architecture | @top1* Imagenet| @top1* Noisy-Student|
+| -------------- | :----: |:---:|
+| EfficientNetB0 | 0.772 |0.788|
+| EfficientNetB1 | 0.791 |0.815|
+| EfficientNetB2 | 0.802 |0.824|
+| EfficientNetB3 | 0.816 |0.841|
+| EfficientNetB4 | 0.830 |0.853|
+| EfficientNetB5 | 0.837 |0.861|
+| EfficientNetB6 | 0.841 |0.864|
+| EfficientNetB7 | 0.844 |0.869|
+
+**\*** - topK accuracy score for converted models (imagenet `val` set)
+
+## Installation
+
+### Requirements
+
+* `Keras >= 2.2.0` / `TensorFlow >= 1.12.0`
+* `keras_applications >= 1.0.7`
+* `scikit-image`
+
+### Installing from the source
+
+```bash
+$ pip install -U git+https://github.com/qubvel/efficientnet
+```
+
+### Installing from PyPI
+
+PyPI stable release
+
+```bash
+$ pip install -U efficientnet
+```
+
+PyPI latest release (with keras and tf.keras support)
+
+```bash
+$ pip install -U --pre efficientnet
+```
+
+## Frequently Asked Questions
+
+* **How can I convert the original TensorFlow checkpoints to Keras HDF5?**
+
+Pick the target directory (like `dist`) and run the [converter script](./scripts) from the repo directory as follows:
+
+```bash
+$ ./scripts/convert_efficientnet.sh --target_dir dist
+```
+
+You can also optionally create the virtual environment with all the dependencies installed by adding `--make_venv=true` and operate in a self-destructing temporary location instead of the target directory by setting `--tmp_working_dir=true`.
+
+## Acknowledgements
+I would like to thanks community members who actively contribute to this repository:
+
+1) Sasha Illarionov ([@sdll](https://github.com/sdll)) for preparing automated script for weights conversion
+2) Björn Barz ([@Callidior](https://github.com/Callidior)) for model code adaptation for keras and tensorflow.keras frameworks
+
+
+
+
+%package -n python3-efficientnet
+Summary: EfficientNet model re-implementation. Keras and TensorFlow Keras.
+Provides: python-efficientnet
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-efficientnet
+
+# EfficientNet Keras (and TensorFlow Keras)
+
+[![PyPI version](https://badge.fury.io/py/efficientnet.svg)](https://badge.fury.io/py/efficientnet) [![Downloads](https://pepy.tech/badge/efficientnet/month)](https://pepy.tech/project/efficientnet/month)
+
+This repository contains a Keras (and TensorFlow Keras) reimplementation of **EfficientNet**, a lightweight convolutional neural network architecture achieving the [state-of-the-art accuracy with an order of magnitude fewer parameters and FLOPS](https://arxiv.org/abs/1905.11946), on both ImageNet and
+five other commonly used transfer learning datasets.
+
+The codebase is heavily inspired by the [TensorFlow implementation](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet).
+
+## Important!
+There was a huge library update **24 of July 2019**. Now efficintnet works with both frameworks: `keras` and `tensorflow.keras`.
+If you have models, trained before that date, to load them, please, use efficientnet of 0.0.4 version (PyPI). You can roll back using `pip install -U efficientnet==0.0.4`.
+
+## Table of Contents
+
+ 1. [About EfficientNet Models](#about-efficientnet-models)
+ 2. [Examples](#examples)
+ 3. [Models](#models)
+ 4. [Installation](#installation)
+ 5. [Frequently Asked Questions](#frequently-asked-questions)
+ 6. [Acknowledgements](#acknowledgements)
+
+## About EfficientNet Models
+
+EfficientNets rely on AutoML and compound scaling to achieve superior performance without compromising resource efficiency. The [AutoML Mobile framework](https://ai.googleblog.com/2018/08/mnasnet-towards-automating-design-of.html) has helped develop a mobile-size baseline network, **EfficientNet-B0**, which is then improved by the compound scaling method to obtain EfficientNet-B1 to B7.
+
+<table border="0">
+<tr>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/params.png" width="100%" />
+ </td>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/flops.png", width="90%" />
+ </td>
+</tr>
+</table>
+
+EfficientNets achieve state-of-the-art accuracy on ImageNet with an order of magnitude better efficiency:
+
+* In high-accuracy regime, EfficientNet-B7 achieves the state-of-the-art 84.4% top-1 / 97.1% top-5 accuracy on ImageNet with 66M parameters and 37B FLOPS. At the same time, the model is 8.4x smaller and 6.1x faster on CPU inference than the former leader, [Gpipe](https://arxiv.org/abs/1811.06965).
+
+* In middle-accuracy regime, EfficientNet-B1 is 7.6x smaller and 5.7x faster on CPU inference than [ResNet-152](https://arxiv.org/abs/1512.03385), with similar ImageNet accuracy.
+
+* Compared to the widely used [ResNet-50](https://arxiv.org/abs/1512.03385), EfficientNet-B4 improves the top-1 accuracy from 76.3% of ResNet-50 to 82.6% (+6.3%), under similar FLOPS constraints.
+
+## Examples
+
+* *Initializing the model*:
+
+```python
+# models can be build with Keras or Tensorflow frameworks
+# use keras and tfkeras modules respectively
+# efficientnet.keras / efficientnet.tfkeras
+import efficientnet.keras as efn
+
+model = efn.EfficientNetB0(weights='imagenet') # or weights='noisy-student'
+
+```
+
+* *Loading the pre-trained weights*:
+
+```python
+# model use some custom objects, so before loading saved model
+# import module your network was build with
+# e.g. import efficientnet.keras / import efficientnet.tfkeras
+import efficientnet.tfkeras
+from tensorflow.keras.models import load_model
+
+model = load_model('path/to/model.h5')
+```
+
+See the complete example of loading the model and making an inference in the Jupyter notebook [here](https://github.com/qubvel/efficientnet/blob/master/examples/inference_example.ipynb).
+
+## Models
+
+The performance of each model variant using the pre-trained weights converted from checkpoints provided by the authors is as follows:
+
+| Architecture | @top1* Imagenet| @top1* Noisy-Student|
+| -------------- | :----: |:---:|
+| EfficientNetB0 | 0.772 |0.788|
+| EfficientNetB1 | 0.791 |0.815|
+| EfficientNetB2 | 0.802 |0.824|
+| EfficientNetB3 | 0.816 |0.841|
+| EfficientNetB4 | 0.830 |0.853|
+| EfficientNetB5 | 0.837 |0.861|
+| EfficientNetB6 | 0.841 |0.864|
+| EfficientNetB7 | 0.844 |0.869|
+
+**\*** - topK accuracy score for converted models (imagenet `val` set)
+
+## Installation
+
+### Requirements
+
+* `Keras >= 2.2.0` / `TensorFlow >= 1.12.0`
+* `keras_applications >= 1.0.7`
+* `scikit-image`
+
+### Installing from the source
+
+```bash
+$ pip install -U git+https://github.com/qubvel/efficientnet
+```
+
+### Installing from PyPI
+
+PyPI stable release
+
+```bash
+$ pip install -U efficientnet
+```
+
+PyPI latest release (with keras and tf.keras support)
+
+```bash
+$ pip install -U --pre efficientnet
+```
+
+## Frequently Asked Questions
+
+* **How can I convert the original TensorFlow checkpoints to Keras HDF5?**
+
+Pick the target directory (like `dist`) and run the [converter script](./scripts) from the repo directory as follows:
+
+```bash
+$ ./scripts/convert_efficientnet.sh --target_dir dist
+```
+
+You can also optionally create the virtual environment with all the dependencies installed by adding `--make_venv=true` and operate in a self-destructing temporary location instead of the target directory by setting `--tmp_working_dir=true`.
+
+## Acknowledgements
+I would like to thanks community members who actively contribute to this repository:
+
+1) Sasha Illarionov ([@sdll](https://github.com/sdll)) for preparing automated script for weights conversion
+2) Björn Barz ([@Callidior](https://github.com/Callidior)) for model code adaptation for keras and tensorflow.keras frameworks
+
+
+
+
+%package help
+Summary: Development documents and examples for efficientnet
+Provides: python3-efficientnet-doc
+%description help
+
+# EfficientNet Keras (and TensorFlow Keras)
+
+[![PyPI version](https://badge.fury.io/py/efficientnet.svg)](https://badge.fury.io/py/efficientnet) [![Downloads](https://pepy.tech/badge/efficientnet/month)](https://pepy.tech/project/efficientnet/month)
+
+This repository contains a Keras (and TensorFlow Keras) reimplementation of **EfficientNet**, a lightweight convolutional neural network architecture achieving the [state-of-the-art accuracy with an order of magnitude fewer parameters and FLOPS](https://arxiv.org/abs/1905.11946), on both ImageNet and
+five other commonly used transfer learning datasets.
+
+The codebase is heavily inspired by the [TensorFlow implementation](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet).
+
+## Important!
+There was a huge library update **24 of July 2019**. Now efficintnet works with both frameworks: `keras` and `tensorflow.keras`.
+If you have models, trained before that date, to load them, please, use efficientnet of 0.0.4 version (PyPI). You can roll back using `pip install -U efficientnet==0.0.4`.
+
+## Table of Contents
+
+ 1. [About EfficientNet Models](#about-efficientnet-models)
+ 2. [Examples](#examples)
+ 3. [Models](#models)
+ 4. [Installation](#installation)
+ 5. [Frequently Asked Questions](#frequently-asked-questions)
+ 6. [Acknowledgements](#acknowledgements)
+
+## About EfficientNet Models
+
+EfficientNets rely on AutoML and compound scaling to achieve superior performance without compromising resource efficiency. The [AutoML Mobile framework](https://ai.googleblog.com/2018/08/mnasnet-towards-automating-design-of.html) has helped develop a mobile-size baseline network, **EfficientNet-B0**, which is then improved by the compound scaling method to obtain EfficientNet-B1 to B7.
+
+<table border="0">
+<tr>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/params.png" width="100%" />
+ </td>
+ <td>
+ <img src="https://raw.githubusercontent.com/tensorflow/tpu/master/models/official/efficientnet/g3doc/flops.png", width="90%" />
+ </td>
+</tr>
+</table>
+
+EfficientNets achieve state-of-the-art accuracy on ImageNet with an order of magnitude better efficiency:
+
+* In high-accuracy regime, EfficientNet-B7 achieves the state-of-the-art 84.4% top-1 / 97.1% top-5 accuracy on ImageNet with 66M parameters and 37B FLOPS. At the same time, the model is 8.4x smaller and 6.1x faster on CPU inference than the former leader, [Gpipe](https://arxiv.org/abs/1811.06965).
+
+* In middle-accuracy regime, EfficientNet-B1 is 7.6x smaller and 5.7x faster on CPU inference than [ResNet-152](https://arxiv.org/abs/1512.03385), with similar ImageNet accuracy.
+
+* Compared to the widely used [ResNet-50](https://arxiv.org/abs/1512.03385), EfficientNet-B4 improves the top-1 accuracy from 76.3% of ResNet-50 to 82.6% (+6.3%), under similar FLOPS constraints.
+
+## Examples
+
+* *Initializing the model*:
+
+```python
+# models can be build with Keras or Tensorflow frameworks
+# use keras and tfkeras modules respectively
+# efficientnet.keras / efficientnet.tfkeras
+import efficientnet.keras as efn
+
+model = efn.EfficientNetB0(weights='imagenet') # or weights='noisy-student'
+
+```
+
+* *Loading the pre-trained weights*:
+
+```python
+# model use some custom objects, so before loading saved model
+# import module your network was build with
+# e.g. import efficientnet.keras / import efficientnet.tfkeras
+import efficientnet.tfkeras
+from tensorflow.keras.models import load_model
+
+model = load_model('path/to/model.h5')
+```
+
+See the complete example of loading the model and making an inference in the Jupyter notebook [here](https://github.com/qubvel/efficientnet/blob/master/examples/inference_example.ipynb).
+
+## Models
+
+The performance of each model variant using the pre-trained weights converted from checkpoints provided by the authors is as follows:
+
+| Architecture | @top1* Imagenet| @top1* Noisy-Student|
+| -------------- | :----: |:---:|
+| EfficientNetB0 | 0.772 |0.788|
+| EfficientNetB1 | 0.791 |0.815|
+| EfficientNetB2 | 0.802 |0.824|
+| EfficientNetB3 | 0.816 |0.841|
+| EfficientNetB4 | 0.830 |0.853|
+| EfficientNetB5 | 0.837 |0.861|
+| EfficientNetB6 | 0.841 |0.864|
+| EfficientNetB7 | 0.844 |0.869|
+
+**\*** - topK accuracy score for converted models (imagenet `val` set)
+
+## Installation
+
+### Requirements
+
+* `Keras >= 2.2.0` / `TensorFlow >= 1.12.0`
+* `keras_applications >= 1.0.7`
+* `scikit-image`
+
+### Installing from the source
+
+```bash
+$ pip install -U git+https://github.com/qubvel/efficientnet
+```
+
+### Installing from PyPI
+
+PyPI stable release
+
+```bash
+$ pip install -U efficientnet
+```
+
+PyPI latest release (with keras and tf.keras support)
+
+```bash
+$ pip install -U --pre efficientnet
+```
+
+## Frequently Asked Questions
+
+* **How can I convert the original TensorFlow checkpoints to Keras HDF5?**
+
+Pick the target directory (like `dist`) and run the [converter script](./scripts) from the repo directory as follows:
+
+```bash
+$ ./scripts/convert_efficientnet.sh --target_dir dist
+```
+
+You can also optionally create the virtual environment with all the dependencies installed by adding `--make_venv=true` and operate in a self-destructing temporary location instead of the target directory by setting `--tmp_working_dir=true`.
+
+## Acknowledgements
+I would like to thanks community members who actively contribute to this repository:
+
+1) Sasha Illarionov ([@sdll](https://github.com/sdll)) for preparing automated script for weights conversion
+2) Björn Barz ([@Callidior](https://github.com/Callidior)) for model code adaptation for keras and tensorflow.keras frameworks
+
+
+
+
+%prep
+%autosetup -n efficientnet-1.1.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-efficientnet -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..27dfe6a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+dbab59272ed84a46ab608e15bb897a97 efficientnet-1.1.1.tar.gz