Data-competitions icon indicating copy to clipboard operation
Data-competitions copied to clipboard

关于inference在cpu上失败的提问

Open lee-liew opened this issue 2 years ago • 6 comments

你好,感谢您的代码分享,收获很多。有一个问题,是否可以帮忙回答下。 我在train的时候,完美通过了。但在inference的时候提示如下, Node: 'embedding_lookup' indices[0,6] = 12 is not in [0, 12) [[{{node embedding_lookup}}]] [Op:__inference_restored_function_body_349059]

代码错误定位到如下这一行: y = model(x)

我在网上找了好久,大概是说cpu和gpu的区别,需要修改下input_size,但由于对tf不熟悉,不知道怎么修改您的代码,如果能帮助我,万分感谢~

lee-liew avatar Jun 13 '22 03:06 lee-liew

@lee-liew

这个看上去是预测时数据输入范围的问题。

比如训练时这个数据是从0-11的,embedding只到类别11。但是预测时,你的输入有12,embed查找时越界了。

LongxingTan avatar Jun 13 '22 03:06 LongxingTan

@LongxingTan 谢谢您的回复,我的理解是这样,因为模型搭建的时间,input shape=(None, 12, 24, 72) ,因此我predict的时候把数据组织成(1,12,24,72),照理说应该不会报错呀,不知道我理解的对不对。。。

lee-liew avatar Jun 13 '22 04:06 lee-liew

嗯,你这部分理解的是没错的。

模型的输入除了时空这部分外,还有月份的。(时间比较久了,我记得也不一定清楚) 但这个12应该是来自月份的embedding,可以参考一下inference script 里对于月份的输入。

LongxingTan avatar Jun 13 '22 04:06 LongxingTan

这个应该是月份的数字大于11了吧。比如7月份是开始,如果用cpu训练,1月会变成13月。 另外感谢您的代码分享,看了您的一些文章介绍思路,主要集中在seq2seq,不知道能不能详细讲解空间分布是怎么处理的呢? 谢谢!

plyu3 avatar Aug 17 '22 06:08 plyu3

@plyu3

空间信息主要是手动提取了一些业务特征,除了待预测的NINO3.4以外,其他还有一些NINO12,NINO3,NINO4这样的定义,可参考相关代码和注释

LongxingTan avatar Aug 17 '22 12:08 LongxingTan