在Tensorflow Lite模型推断期间重启内核(Python)

时间:2019-12-11 09:13:10

标签: python tensorflow jupyter-notebook kernel tensorflow-lite

我正在尝试使用TensorFlow Lite模型对输入数据进行预测。使用Keras训练了神经网络,然后将其转换为TFLite标准模型,如下所示:

keras_file = "pruned_model.h5"
converter = lite.TocoConverter.from_keras_model_file(keras_file)
tflite_model = converter.convert()

并将其保存在本地:

TFLITE_MODEL = "dts-model.tflite"
open(TFLITE_MODEL, "wb").write(tflite_model)

然后我将模型加载到Interpreter表示中,以便推理过程可以在其上运行:

tflite_interpreter = tf.lite.Interpreter(model_path=TFLITE_MODEL)

# extracted input and output details
input_details = tflite_interpreter.get_input_details()
output_details = tflite_interpreter.get_output_details()

#created random sample data matching input shape
input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)

当尝试运行以下代码时,笔记本内核不断崩溃。

tflite_interpreter.set_tensor(input_details[0]['index'], input_data)

Kernel crash/restart screenshot

编辑:这是内核的终端回溯。在运行解释器时,在执行此代码之前,将其初始化,并在执行上述操作后,重新启动。

INFO: Initialized TensorFlow Lite runtime.
[I 09:04:00.289 LabApp] KernelRestarter: restarting kernel (1/5), keep random ports
kernel d960c8d0-d14d-416a-bee3-3549c6a11c76 restarted

这是Jupyter的内核列表:

jupyter kernelspec list
>> Available kernels:
>> python3    /home/username/anaconda3/envs/LearningML/share/jupyter/kernels/python3

我不确定为什么会这样。

1)为什么内核通常会重新启动?我的内核重新启动的原因是什么?
2)还有什么更好的方法可以运行TFLite模型推断并获取输出?

谢谢!

0 个答案:

没有答案