无法使用Python在GPU(Jetson Nano)上运行tflite模型

时间:2019-07-23 19:09:26

标签: python tensorflow tensorflow-lite nvidia-jetson

我有一个量化的tflite模型,我想以此为基准来对Nvidia Jetson Nano进行推理。我使用tf.lite.Interpreter()方法进行推断。该过程似乎未在GPU上运行,因为CPU和GPU上的推理时间相同。

是否可以使用Python在GPU上运行tflite模型?

我试图通过设置tf.device()方法来强制使用GPU,但仍然无法正常工作。官方文档中有一些所谓的用于GPU加速的委托,但是我似乎找不到用于Python的任何东西。

with tf.device('/device:GPU:0'):

    interpreter = tf.lite.Interpreter(model_path="model.tflite")

    interpreter.allocate_tensors()

    input_details = interpreter.get_input_details()
    output_details = interpreter.get_output_details()

    input_shape = input_details[0]['shape']
    input_data = np.array(np.random.random_sample(input_shape), dtype=np.uint8)
    interpreter.set_tensor(input_details[0]['index'], input_data)

    start_time = time.time()

    interpreter.invoke()

    elapsed_time = time.time() - start_time
    print(elapsed_time)

    output_data = interpreter.get_tensor(output_details[0]['index'])

3 个答案:

答案 0 :(得分:2)

TFLite 不支持 Nvidia GPU,因为 link

答案 1 :(得分:1)

您的 Jetson Nano 是否支持 OpenCL? 如果是,您可以将 OpenCL 委托与 TFLite 结合使用。 https://www.tensorflow.org/lite/guide/build_cmake#opencl_gpu_delegate

答案 2 :(得分:0)

根据this的最新消息,它似乎可以在jetson nano上使用。 但这看起来像是自定义版本,请尝试使用它而不是tensorflow lite。

如果您已经安装了该软件,则可能会要求nvidia开发人员提供该版本是否应支持GPU。

或者您可以通过这种方式安装nvidia自定义tensorflow。

Python 3.6 + JetPack4.4

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip
sudo pip3 install -U pip
sudo pip3 install -U pip testresources setuptools numpy==1.16.1 future==0.17.1 mock==3.0.5 h5py==2.9.0 keras_preprocessing==1.0.5 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
# TF-2.x
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow==2.2.0+nv20.8
# TF-1.15
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 ‘tensorflow<2’

Python 3.6 + JetPack4.3

$ sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
$ sudo apt-get install python3-pip
$ sudo pip3 install -U pip
$ sudo pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta
# TF-2.x
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v43 tensorflow==2.1.0+nv20.3
# TF-1.15
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v43 tensorflow==1.15.2+nv20.3