0

我正在使用 TensorFlow 2.4.1 并且有一个对音频文件进行分类的工作脚本。它几乎是从示例中复制/粘贴的,并且效果很好。我现在想将音频文件发送到模型服务器进行预测。

我被卡住了,以及如何将音频放入 json 消息中。我是 TensorFlow 和 Python 的新手,所以可能缺少一些基本的东西。

完整代码:https ://gitlab.com/-/snippets/2089884

我尝试使用现有数据集(类型错误)作为数据:

data = json.dumps({"signature_name": "serving_default", "instances": train_ds.batch(3).tolist()})

在这种情况下,错误是:

Saved model:
Traceback (most recent call last):
  File "./xmits_train", line 361, in <module>
    data = json.dumps({"signature_name": "serving_default", "instances": train_ds.batch(3).tolist()})
AttributeError: 'BatchDataset' object has no attribute 'tolist'

我没有看到他如何将 BatchDataset 转换为对“.tolist”正确的结构。当然,我可能还需要使用不同的起始结构。

在脚本中,我尝试了所有保存音频的结构,没有一个可以直接使用。

4

1 回答 1

0

我能够利用 test_audio 数据结构。要将前几个请求编码为 json:

data = json.dumps({"signature_name": "serving_default", "instances": test_audio[0:3].tolist()})

可能有一些方法可以利用其他数据结构,但这解决了这个问题。

于 2021-03-15T19:50:51.553 回答