首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >形状必须是等级2,但输入形状为[100,100],[?,15,100]的'MatMul_46‘(op:'MatMul')的等级为3

形状必须是等级2,但输入形状为[100,100],[?,15,100]的'MatMul_46‘(op:'MatMul')的等级为3
EN

Stack Overflow用户
提问于 2018-03-05 05:26:43
回答 1查看 2.3K关注 0票数 0

我在尝试实现这几行代码时遇到了这个错误

形状的等级必须为2,但对于输入形状为100,100,?,15,100的'MatMul_46‘(op:'MatMul'),形状的等级为3。

代码语言:javascript
复制
Q = tf.placeholder(tf.float32, shape=(None, 15))
word_level = Embedding ( vocab_size , 100 , input_length=15)(Q) 
#shape(?,15,100)
Wb = tf.Variable(tf.zeros([100, 100]))
C = tf.matmul( word_level ,Wb)

我认为这个问题是因为三维和二维矩阵的秩不同,但我不知道如何修改这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-05 05:41:49

要修改张量以适合特定形状,可以使用tf.reshape,但要小心以有意义的方式重塑它。

请参阅documentation

代码语言:javascript
复制
reshape = tf.reshape(word_level, [-1, 100])
Wb = tf.Variable(tf.zeros([100, 100]))
C = tf.matmul(reshape ,Wb)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49100680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档