Model.Predict上的Tensorflow.js print()和dataSync方法不起作用

时间:2018-10-01 14:00:20

标签: tensorflow.js

为了使问题更深入,我将其精简为最少的代码行。

当前这些是下面的配置常量(我使用长度为1的数组表示我正在进行语义分析的标记化单词。

.grandparent .parent .color

这是代码,我现在将张量替换为模拟令牌或一个字长。我收到打字稿掉毛错误,显示.print()或.dataSync()[0]将基于它们不存在而失败。有问题的代码行(.predict)返回的张量没有打印或数据同步方法

export const top_words = 10000; 
export const max_review_length = 1
export const embedding_vector_length = 32

predictOut.print()或predictOut.dataSync()[0] 返回

2 个答案:

答案 0 :(得分:1)

如果您使用的是TypeScript,则需要指定以这种方式返回的Forecast():

(model.predict(...) as tf.Tensor).print()

因为predict()可以返回张量或张量[]

答案 1 :(得分:0)

好吧,如果您不习惯使用Python,那么一件事很容易忘记。 Python是同步的!

模型是异步的,因此可以在此代码中解决此问题。 历史(结果)

history.then(result => {
  model.predict(tftensor2d([10)).print()
  console.log('loss ', result.history.loss)
}

否则该模型还没有预测方法,因为它仍在计算中。

必须爱异步。