NotImplementedError: Wrong number or type of arguments for overloaded function 'IVector_create'.
Created by: hyo009
模型:
x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(18)) y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Softmax()) y = paddle.layer.data(name="y", type = paddle.data_type.integer_value(3)) cost = paddle.layer.cross_entropy_cost(input=y_predict, label=y)
parameters = paddle.parameters.create(cost) optimizer = paddle.optimizer.Momentum(momentum=0) trainer = paddle.trainer.SGD(cost=cost, parameters=parameters, update_equation=optimizer)
#训练:
feeding = {'x': 0, 'y': 1}
def event_handler(event): if isinstance(event, paddle.event.EndIteration): if event.batch_id % 1 == 0: print "Pass %d, Batch %d, Cost %f" % ( event.pass_id, event.batch_id, event.cost)
trainer.train( reader=paddle.batch(train_reader(), batch_size=10), feeding=feeding, event_handler=event_handler, num_passes=4)
输出错误:
I1115 06:21:29.279609 76 Util.cpp:166] commandline: --use_gpu=False [INFO 2017-11-15 06:21:29,286 networks.py:1482] The input order is [x, y] [INFO 2017-11-15 06:21:29,287 networks.py:1488] The output order is [cross_entropy_0] [INFO 2017-11-15 06:21:29,290 networks.py:1482] The input order is [x, y] [INFO 2017-11-15 06:21:29,291 networks.py:1488] The output order is [cross_entropy_0] I1115 06:21:29.292371 76 GradientMachine.cpp:86] Initing parameters.. I1115 06:21:29.292428 76 GradientMachine.cpp:93] Init parameters done. Traceback (most recent call last): File "paddleTry.py", line 81, in num_passes=4) File "/usr/local/lib/python2.7/dist-packages/paddle/v2/trainer.py", line 114, in train feeder(data_batch), out_args, pass_type) File "/usr/local/lib/python2.7/dist-packages/py_paddle/dataprovider_converter.py", line 249, in call return self.convert(dat, argument) File "/usr/local/lib/python2.7/dist-packages/paddle/v2/data_feeder.py", line 134, in convert return DataProviderConverter.convert(self, reorder_data(dat), argument) File "/usr/local/lib/python2.7/dist-packages/py_paddle/dataprovider_converter.py", line 244, in convert scanner.finish_scan(argument) File "/usr/local/lib/python2.7/dist-packages/py_paddle/dataprovider_converter.py", line 178, in finish_scan ids = swig_paddle.IVector.create(self.ids, self.data_in_gpu) File "/usr/local/lib/python2.7/dist-packages/py_paddle/swig_paddle.py", line 881, in create return _swig_paddle.IVector_create(*args) NotImplementedError: Wrong number or type of arguments for overloaded function 'IVector_create'. Possible C/C++ prototypes are: IVector::create(std::vector< int,std::allocator< int > > const &,bool) IVector::create(std::vector< int,std::allocator< int > > const &)