Tensorflow not working on VIM3, no documentation on the NPU?

Would appreciate some instructions on running Tensorflow on VIM3. There seem to be errors when you compile from source.

Also, is there any documentation on how we can tap on the NPU?
We bought the VIM3 because of the NPU capabilities for AI, but have no idea how to tap on this chip so far.

1 Like

@Jingq Can you provide information about installation errors? We installed them, but the documents are not ready yet. Which version you used with VIM3 (basic or pro)?

1 Like


What’s the situation? I follow the tutorial, but there have been mistakes like this all the time. I hope you can help me.

Hello @hjs.A

The documentation you follow if for Ubuntu 16.04, so it will not work on 18.04. We alreay have a documentation about how to install the TensorFlow(CPU only), but still need to tidy up. We will push to the Khadas docs in the future.


OK, thank you for your reply.
I hope you can release more information as soon as possible. Before that, I will continue to explore. It doesn’t affect my liking for khadas.:smiley:

we’re using the VIM3 basic, was planning to get the Pro also after testing the basic.
My staff will update me on the exact errors, but we really need to test the NPU function with Tensorflow to decide whether we can use this across our machines.

Will appreciate documentation as soon as possible.

@Jingq If you use basic version . when you install tensonrflow , it maybe encountered a mistake about insufficient disk space . If you encountered this error. you can do this steps:

$ mkdir ~/tmp
$ export TMPDIR=$HOME/tmp

If you encounterer other errors. Please provide error information and log,we will try it.

We faced the exact same problem as the other user. Please investigate

@Jingq Maybe you can try with tihs page

I also got same error before, and I’ve downloaded version 1.14.0 using this link, and run
" pip3 install tensorflow-1.14.0-cp35-none-linux_aarch64.whl "
I got same error
“tensorflow-1.14.0-cp35-none-linux_aarch64.whl is not a supported wheel on this platform.”

I also want to use NPU, but there is no document.

Same here:

tensorflow-1.14.0-cp35-none-linux_aarch64.whl is not a supported wheel on this platform.

Any info on when the updated documentation will be available?

Also, as these seem to be generic tensorflow builds (for CPU) they probably won’t benefit from the much advertised NPU, will they?

Managed to install tensorflow by downgrading python to 3.5 using pyenv.
I winged it and forgot steps i took

please help cant get past this, am using Documentation to follow

@AKBAAR Hello, just TF1.10 can work with khadas boards at present .
You can follow up this to do it

Maybe new versions will be added in the future, but at present, 1.10 is the only version that can run normally on our board.
I want to know what you need to do to install TF. I don’t recommend installing TF directly on the board to run the model, which is extremely inefficient. At the same time, your TF cannot call NPU.

1 Like

@Frank is right, using the full tensorlflow on the board is not of much use. You normally use it on a pc linux/windows to train etc. The only thing that could make sense to use on the board is tensorflowlite, to to that you need to:

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow/tensorflow/lite/

this will generate a static lib tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a that you can use for you projects


is tensorflowlite able to use NPU on VIM3L?

NO NPU support for tensorflow.

Tensorflow package(developed by Google) only supports cuda enabled cards(nvidia) and I think there has been some work around opencl/amd but I’m not sure to what degree that works. Out of the box they don’t even support their own edgetpu device (coral).
All edge inference devices on the market at the moment make use of a custom graph compiler to convert formats from frameworks as such as tensorflow to their own format. Same goes for aml npu used in vim3.
In my case, I had to use/compile tensorflow lite for vim as it is required by the Coral device/libraries and that is by looking at google coral sdk only to format/parse input output, the execution of the inference itself is handled by a custom coral driver/compiler not integrated in tensorflow lite.

@larrylart At this level, NVIDIA is almost monopolistic. This year, AMD will launch a new video card, which is rumored to support most of the AI platforms. At present, I think the possibility of short-term implementation is relatively small . Edge inference devices cannot use the unified graphics editor because of its own characteristics . We will optimize the NPU tools in the future, which is still very inconvenient to use at present . But like adding pytroch support, you can only hope the chip source factory to complete it ,we can’t do it ourselves .


can we say that currently there is not much benefit from using VIM3 instead of VIM1 to play with tensorflow (lite)?