Johnson0722 / CTR_Prediction

CTR prediction using FM FFM and DeepFM
746 stars 297 forks source link

DeepFM.py文件报错,难道是tensorflow版本问题(本人用tf1.12-GPU测试),求告知? #18

Open beathahahaha opened 3 years ago

beathahahaha commented 3 years ago

Caused by op u'Ftrl/update_Variable/SparseApplyFtrl', defined at: File "DeepFM.py", line 325, in model.build_graph() File "DeepFM.py", line 132, in build_graph self.train() File "DeepFM.py", line 124, in train self.train_op = optimizer.minimize(self.loss, global_step=self.global_step) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 410, in minimize name=name) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 610, in apply_gradients update_ops.append(processor.update_op(self, grad)) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 128, in update_op return optimizer._apply_sparse_duplicate_indices(g, self._v) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/optimizer.py", line 1019, in _apply_sparse_duplicate_indices return self._apply_sparse(gradient_no_duplicate_indices, var) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/ftrl.py", line 224, in _apply_sparse use_locking=self._use_locking) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/training/gen_training_ops.py", line 3299, in sparse_apply_ftrl use_locking=use_locking, name=name) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py",line 488, in new_func return func(*args, **kwargs) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op op_def=op_def) File "/home/u2019101432/.conda/envs/tf1.12/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1770, in init self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Index 131989 at offset 131989 in indices is out of range [[node Ftrl/update_Variable/SparseApplyFtrl (defined at DeepFM.py:124) = SparseApplyFtrl[T=DT_FLOAT, Tindices=DT_INT64, use_locking=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable, Variable/Ftrl, Variable/Ftrl_1, Ftrl/update_Variable/UnsortedSegmentSum, Ftrl/update_Variable/Unique, Ftrl/learning_rate, Ftrl/l1_regularization_strength, Ftrl/update_DNN/b1/Cast, Ftrl/learning_rate_power)]]

beathahahaha commented 3 years ago

感觉不是tf版本问题,而是tf的优化器Ftrl有问题,无法解决,使用Adam后可以运行