27

我有一个量化的 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'])
4

3 回答 3

3

根据此链接,TFLite 不支持 Nvidia GPU

于 2021-03-08T03:38:14.450 回答
1

根据这个最近的线程,它似乎在 jetson nano 上可用。但它看起来像一个自定义构建,尝试它而不是 tensorflow lite。

如果您已经安装了它,如果该版本应该支持 GPU,则可能会要求 nvidia developerper。

或者您可以通过这种方式安装 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
于 2020-10-02T02:43:59.683 回答
1

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

于 2021-03-03T04:45:45.183 回答