--------------------------------------------
C++ Call Stacks (More useful to developers):
--------------------------------------------
Windows not support stack backtrace yet.
----------------------
Error Message Summary:
----------------------
Error: Tensor holds no memory. Call Tensor::mutable_data first.
[Hint: holder_ should not be null.] at (D:\1.7.1\paddle\paddle\fluid\framework\tensor.cc:23)
错误发生在CNN_net中,出入的参数都有值
in ()
8 # model = CNN_net(words, dict_dim, 15)
9 # 获取分类器
---> 10 model = CNN_net(words, dict_dim)
11 # 获取损失函数和准确率
12 cost = fluid.layers.cross_entropy(input=model, label=label)
in CNN_net(data, dict_dim, class_dim, emb_dim, hid_dim, hid_dim2)
33 def CNN_net(data,dict_dim, class_dim=10, emb_dim=128, hid_dim=128,hid_dim2=98):
34 emb = fluid.layers.embedding(input=data,
---> 35 size=[dict_dim, emb_dim])
36 conv_3 = fluid.nets.sequence_conv_pool(
37 input=emb,
看样子是内存不够了
16G内存还不够么?
我又测试了fluid.layers.embedding的示例,也是一样的错误提示
import paddle.fluid as fluid
data = fluid.layers.data(name='sequence', shape=[1], dtype='int64', lod_level=1)
# 示例 1
emb_1 = fluid.layers.embedding(input=data, size=[128, 64])
这是完整的错误吗?我觉得应该是没有把数据丢到网络里报的错
分段调试看看,一点点的注释,打印输出,看bug出在哪