# tf-npu-115
**Repository Path**: apulis/tf-npu-115
## Basic Information
- **Project Name**: tf-npu-115
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 2
- **Created**: 2020-11-24
- **Last Updated**: 2023-02-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# TF_Apulis
## Introduction
`TF_Apulis` is a customized TensorFlow 1.15.0 release. It aims to minimize the porting work of migrating code from GPU to NPU.
## Evaluation
### LeNet
#### Hyperparameters
* dataset = mnist, distributed_mode = Horovod
#### Porting Effort
##### `Session.run` mode
| | GPU --> TF_Apulis | GPU --> TF + tf_adapter |
| -------------------------- | ----------------- | ----------------------- |
| \# of modified files \* | 1 | 1 |
| \# of modified code blocks | 3 | 11 |
| \# of modified code lines | 4 | 35 |
##### `Estimator` mode
| | GPU --> TF_Apulis | GPU --> TF + tf_adapter |
| -------------------------- | ----------------- | ----------------------- |
| \# of modified files \* | 1 | 1 |
| \# of modified code blocks | 2 | 12 |
| \# of modified code lines | 2 | 47 |
### ResNet50
#### Hyperparameters
- base_learning rate = 0.1,train_epochs = 182,epochs_between_evals = 60,batch_size = 128,save_checkpoints_steps = 20000,total_global_step = 71088,iterations_per_loop = 100
- dataset = cifar10,resnet_size = 56
#### Training with TF_Apulis (Ascend-910)
| Devices | Time | Accurary (%) |
| ------- | ------ | ----------- |
| 1 | 21m56s | 93.49 |
| 2 | 23m47s | 94.11 |
| 4 | 22m41s | 93.63 |
| 8 | 23m56s | 94.35 |
#### Training with tf_adapter (Ascend-910)
| Devices | Time | Accuracy (%) |
| ------- | -------- | ------------ |
| 1 | 22m55s| 93.02 |
| 2 | 20m53s | 93.14 |
| 4 | 22m20s | 93.33 |
| 8 | 21m30s | 93.46 |
#### Training with Tensorflow-GPU (NVIDIA-GTX2080Ti)
| Devices | Time | Accuracy (%) |
| ------- | ---- | -------- |
| 1 | 48m36 | 93.26 |
| 2 | 54m26s | 93.14 |
| 4 | 1h4m25s | 93.05 |
| 8 | 1h6m40s | 93.54 |
#### Porting Effort
| | GPU --> TF_Apulis | GPU --> TF + tf_adapter |
| -------------------------- | ----------------- | ----------------------- |
| \# of modified files \* | 0 | 3 |
| \# of modified code blocks | 0 | 22 |
| \# of modified code lines | 0 | 74 |
\* shell and json files are not included, since both they are needed in both TF_Apulis and TF + tf_adapter environments.
### MobileNetV2
#### Hyperparameters
- learning_rate = 0.8,max_epoch = 200,batch_size = 96,moving_average_decay=0.9999,iterations_per_loop = 50
- dataset = cifar10,num_samples = 50000
#### Training with TF_Apulis (Ascend-910)
| Devices | Time | Accuracy (%) | Steps |
| ------- | ------ | ----------- | -------- |
| 1 | 1h58m | 78.13 | 104000 |
| 2 | 58m42s | 77.86 | 52000 |
| 4 | 34m45s | 77.39 |26000 |
| 8 | 22m55s | 76.21 |13000|
#### Training with tf_adapter (Ascend-910)
| Devices | Time | Accuracy(%) | Steps |
| ------- | ------ | ----------- | -------- |
| 1 | 2h5m | 77.64 | 104000 |
| 2 | 1h4m | 78.66 | 52000 |
| 4 | 35m55s | 78.09 |26000 |
| 8 | 21m53s | 75.86 |13000|
#### Training with Tensorflow-GPU (NVIDIA-GTX2080Ti)
| Devices | Time | Accuracy(%) | Steps |
| ------- | ------ | ----------- | -------- |
| 1 | 8h26m | 77.53 | 104000 |
| 2 | 5h4m | 76.67 | 52000 |
| 4 | 2h19m | 73.94 |26000 |
| 8 | 1h10m | 70.22 | 13000 |
#### Porting Effort
| | GPU --> TF_Apulis | GPU --> TF + tf_adapter |
| -------------------------- | ----------------- | ----------------------- |
| \# of modified files \* | 1 | 3 |
| \# of modified code blocks | 1 | 11 |
| \# of modified code lines | 1 | 34 |
## Build and Install
```shell
cd $TENSORFLOW_ROOT
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package >debug.txt && ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /root/npu_test/ && pip3.7 uninstall -y tensorflow && pip3.7 install /root/npu_test/tensorflow-1.15.0-cp37-cp37m-linux_aarch64.whl
```
---
# README by TensorFlow
| **`Documentation`** |
|-----------------|
| [](https://www.tensorflow.org/api_docs/) |
[TensorFlow](https://www.tensorflow.org/) is an end-to-end open source platform
for machine learning. It has a comprehensive, flexible ecosystem of
[tools](https://www.tensorflow.org/resources/tools),
[libraries](https://www.tensorflow.org/resources/libraries-extensions), and
[community](https://www.tensorflow.org/community) resources that lets
researchers push the state-of-the-art in ML and developers easily build and
deploy ML powered applications.
TensorFlow was originally developed by researchers and engineers working on the
Google Brain team within Google's Machine Intelligence Research organization for
the purposes of conducting machine learning and deep neural networks research.
The system is general enough to be applicable in a wide variety of other
domains, as well.
TensorFlow provides stable [Python](https://www.tensorflow.org/api_docs/python)
and [C++](https://www.tensorflow.org/api_docs/cc) APIs, as well as
non-guaranteed backwards compatible API for
[other languages](https://www.tensorflow.org/api_docs).
Keep up-to-date with release announcements and security updates by subscribing
to
[announce@tensorflow.org](https://groups.google.com/a/tensorflow.org/forum/#!forum/announce).
See all the [mailing lists](https://www.tensorflow.org/community/forums).
## Install
See the [TensorFlow install guide](https://www.tensorflow.org/install) for the
[pip package](https://www.tensorflow.org/install/pip), to
[enable GPU support](https://www.tensorflow.org/install/gpu), use a
[Docker container](https://www.tensorflow.org/install/docker), and
[build from source](https://www.tensorflow.org/install/source).
To install the current release:
```
$ pip install tensorflow
```
The `tensorflow` package also includes GPU support on Linux and Windows.
If package size is a concern, CPU-only packages can be installed with:
```
$ pip install tensorflow-cpu
```
*Nightly binaries are available for testing using the
[tf-nightly](https://pypi.python.org/pypi/tf-nightly) and
[tf-nightly-gpu](https://pypi.python.org/pypi/tf-nightly-gpu) packages on PyPi.*
#### *Try your first TensorFlow program*
```shell
$ python
```
```python
>>> import tensorflow as tf
>>> tf.enable_eager_execution()
>>> tf.add(1, 2).numpy()
3
>>> hello = tf.constant('Hello, TensorFlow!')
>>> hello.numpy()
'Hello, TensorFlow!'
```
For more examples, see the
[TensorFlow tutorials](https://www.tensorflow.org/tutorials/).
## Contribution guidelines
**If you want to contribute to TensorFlow, be sure to review the [contribution
guidelines](CONTRIBUTING.md). This project adheres to TensorFlow's
[code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to
uphold this code.**
**We use [GitHub issues](https://github.com/tensorflow/tensorflow/issues) for
tracking requests and bugs, please see
[TensorFlow Discuss](https://groups.google.com/a/tensorflow.org/forum/#!forum/discuss)
for general questions and discussion, and please direct specific questions to
[Stack Overflow](https://stackoverflow.com/questions/tagged/tensorflow).**
The TensorFlow project strives to abide by generally accepted best practices in open-source software development:
[](https://bestpractices.coreinfrastructure.org/projects/1486)
[](CODE_OF_CONDUCT.md)
## Continuous build status
### Official Builds
| Build Type | Status | Artifacts |
| --- | --- | --- |
| **Linux CPU** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/ubuntu-cc.html) | [pypi](https://pypi.org/project/tf-nightly/) |
| **Linux GPU** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/ubuntu-gpu-py3.html) | [pypi](https://pypi.org/project/tf-nightly-gpu/) |
| **Linux XLA** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/ubuntu-xla.html) | TBA |
| **MacOS** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/macos-py2-cc.html) | [pypi](https://pypi.org/project/tf-nightly/) |
| **Windows CPU** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/windows-cpu.html) | [pypi](https://pypi.org/project/tf-nightly/) |
| **Windows GPU** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/windows-gpu.html) | [pypi](https://pypi.org/project/tf-nightly-gpu/) |
| **Android** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/android.html) | [](https://bintray.com/google/tensorflow/tensorflow/_latestVersion) |
| **Raspberry Pi 0 and 1** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/rpi01-py2.html) [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/rpi01-py3.html) | [Py2](https://storage.googleapis.com/tensorflow-nightly/tensorflow-1.10.0-cp27-none-linux_armv6l.whl) [Py3](https://storage.googleapis.com/tensorflow-nightly/tensorflow-1.10.0-cp34-none-linux_armv6l.whl) |
| **Raspberry Pi 2 and 3** | [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/rpi23-py2.html) [](https://storage.googleapis.com/tensorflow-kokoro-build-badges/rpi23-py3.html) | [Py2](https://storage.googleapis.com/tensorflow-nightly/tensorflow-1.10.0-cp27-none-linux_armv7l.whl) [Py3](https://storage.googleapis.com/tensorflow-nightly/tensorflow-1.10.0-cp34-none-linux_armv7l.whl) |
### Community Supported Builds
Build Type | Status | Artifacts
--------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------
**Linux AMD ROCm GPU** Nightly | [](http://ml-ci.amd.com:21096/job/tensorflow-rocm-nightly) | [Nightly](http://ml-ci.amd.com:21096/job/tensorflow-rocm-nightly/lastSuccessfulBuild/)
**Linux AMD ROCm GPU** Stable Release | [](http://ml-ci.amd.com:21096/job/tensorflow-rocm-release/) | [Release](http://ml-ci.amd.com:21096/job/tensorflow-rocm-release/lastSuccessfulBuild/)
**Linux s390x** Nightly | [](http://ibmz-ci.osuosl.org/job/TensorFlow_IBMZ_CI/) | [Nightly](http://ibmz-ci.osuosl.org/job/TensorFlow_IBMZ_CI/)
**Linux s390x CPU** Stable Release | [](https://ibmz-ci.osuosl.org/job/TensorFlow_IBMZ_Release_Build/) | [Release](https://ibmz-ci.osuosl.org/job/TensorFlow_IBMZ_Release_Build/)
**Linux ppc64le CPU** Nightly | [](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_CPU_Build/) | [Nightly](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_CPU_Nightly_Artifact/)
**Linux ppc64le CPU** Stable Release | [](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_CPU_Release_Build/) | [Release](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_CPU_Release_Build/)
**Linux ppc64le GPU** Nightly | [](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_GPU_Build/) | [Nightly](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_GPU_Nightly_Artifact/)
**Linux ppc64le GPU** Stable Release | [](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_GPU_Release_Build/) | [Release](https://powerci.osuosl.org/job/TensorFlow_PPC64LE_GPU_Release_Build/)
**Linux CPU with Intel® MKL-DNN** Nightly | [](https://tensorflow-ci.intel.com/job/tensorflow-mkl-linux-cpu/) | [Nightly](https://tensorflow-ci.intel.com/job/tensorflow-mkl-build-whl-nightly/)
**Linux CPU with Intel® MKL-DNN**
**Supports Python 2.7, 3.4, 3.5, and 3.6** | [](https://tensorflow-ci.intel.com/job/tensorflow-mkl-build-release-whl/lastStableBuild) | [1.13.1 pypi](https://pypi.org/project/intel-tensorflow/)
**Red Hat® Enterprise Linux® 7.6 CPU & GPU**
Python 2.7, 3.6 | [](https://jenkins-tensorflow.apps.ci.centos.org/job/tensorflow-rhel7-3.6/2/) | [1.13.1 pypi](https://tensorflow.pypi.thoth-station.ninja/index/)
## Resources
* [TensorFlow.org](https://www.tensorflow.org)
* [TensorFlow tutorials](https://www.tensorflow.org/tutorials/)
* [TensorFlow official models](https://github.com/tensorflow/models/tree/master/official)
* [TensorFlow examples](https://github.com/tensorflow/examples)
* [TensorFlow in Practice from Coursera](https://www.coursera.org/specializations/tensorflow-in-practice)
* [TensorFlow blog](https://blog.tensorflow.org)
* [TensorFlow Twitter](https://twitter.com/tensorflow)
* [TensorFlow YouTube](https://www.youtube.com/channel/UC0rqucBdTuFTjJiefW5t-IQ)
* [TensorFlow roadmap](https://www.tensorflow.org/community/roadmap)
* [TensorFlow white papers](https://www.tensorflow.org/about/bib)
* [TensorBoard visualization toolkit](https://github.com/tensorflow/tensorboard)
Learn more about the
[TensorFlow community](https://www.tensorflow.org/community) and how to
[contribute](https://www.tensorflow.org/community/contribute).
## License
[Apache License 2.0](LICENSE)