TensorFlow is a free and open-source AI/ML framework from Google used for training and inferencing of neural networks. Tensorflow Lite is designed as a smaller subset of Tensorflow aimed at deployment on mobile and edge devices.
Clonecpuinfo
from https://github.com/pytorch/cpuinfo.git
Clone pthreadpool
from https://github.com/Maratyszcza/pthreadpool.git
Clone XNNPACK
from https://github.com/everton1984/XNNPACK.git and use branch woa_enablement
Clone tensorflow
from https://github.com/everton1984/tensorflow.git and use branch woa_enablement2
Download LLVM for WoA at least 18.1.0
Download bazel for WoA version 6.5.0
Make sure to take a look into XNNPACK
’s and tensorflow
’s workspace
and update the addresses for cpuinfo
, pthreadpool
and XNNPACK
to your respective local clones
Make sure to set the environment variables BAZEL_LLVM
, BAZEL_VC
and TF_PYTHON_VERSION
to the respective proper directories on your system as well as the Python version you are using.
Go to the XNNPACK folder and open the WORKSPACE
file. Fix the directory of the local repositories to match to your own clones of pthreadpool and cpuinfo. Do the same for Tensorflow under tensorflow\workspace2.bzl
Now run
bazel.exe build //tensorflow/lite:tensorflowlite --cpu=arm64_windows --compiler=clang-cl --copt="/clang:-march=armv8-a+dotprod+fp16+i8mm" --cxxopt="/clang:-march=armv8-a+dotprod+fp16+i8mm" |
You will find tensorflow.dll
inside the bazel-bin\tensorflow
directory