当我尝试使用tensorflow.js模型进行预测时,出现错误:Uncaught TypeError:无法读取未定义的属性“ length”

时间:2019-07-24 12:16:14

标签: javascript python tensorflow.js

我正在尝试创建一个使用深度学习模型进行实时情感分析的网页。

使用model.predict()函数时出现错误: Uncaught TypeError:无法读取未定义的属性“ length”。

我当前正在使用版本1.2.3 of tensorflow.js,并且我曾尝试降级该版本,但这无济于事。

这是我的代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/tensorflow/1.2.3/tf.js"></script>
<script type="text/javascript">
    async function init()   {
       model =  await tf.loadLayersModel('http://127.0.0.1:8000/model.json');
       model.predict([[tf.zeros(500)]]);
    };
    init();
</script>

我收到以下错误:

training.ts:320 Uncaught TypeError: Cannot read property 'length' of undefined
    at checkInputData (training.ts:320)
    at t.predict (training.ts:1101)
    at t.predict (models.ts:780)
    at <anonymous>:1:7

1 个答案:

答案 0 :(得分:0)

问题似乎出在这里[[tf.zeros(500)]]。如果模型具有多个输入条目,则model.predicts将张量或张量数组作为参数。

取决于模型的InputShape,tf.zeros(500)应该足够,或者也许tf.zeros(500).reshape(appropriateShape)