recommenders
recommenders copied to clipboard
[ASK] Unexpected Behavior with LightGCN Model When Loading Saved Files
Description
I am currently using the LightGCN model for predictions on my own dataset. The regular workflow, including initializing the model, model.fit()
, and model.recommend_k_items()
, functions without any issues.
However, after I use model.load()
to restore the model from previously saved data, model.recommend_k_items()
throws an error:
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
File ~\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\client\session.py:1402, in BaseSession._do_call(self, fn, *args)
1401 try:
-> 1402 return fn(*args)
1403 except errors.OpError as e:
File ~\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\client\session.py:1385, in BaseSession._do_run.<locals>._run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
1384 self._extend_graph()
-> 1385 return self._call_tf_sessionrun(options, feed_dict, fetch_list,
1386 target_list, run_metadata)
File ~\AppData\Roaming\Python\Python39\site-packages\tensorflow\python\client\session.py:1478, in BaseSession._call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
1476 def _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list,
1477 run_metadata):
-> 1478 return tf_session.TF_SessionRun_wrapper(self._session, options, feed_dict,
1479 fetch_list, target_list,
1480 run_metadata)
InvalidArgumentError: Cannot multiply A and B because inner dimension does not match: 2160 vs. 2162. Did you forget a transpose? Dimensions of A: [2160, 2160). Dimensions of B: [2162,64]
[[{{node SparseTensorDenseMatMul/SparseTensorDenseMatMul}}]]
Please assist in resolving this issue. Thank you!
Other Comments
Update: Ignore this, it does not work at all.
For those who encounter this issue, you have to restore the model like this:
model.saver = tf.compat.v1.train.import_meta_graph('./model/lightgcn.meta')
model.saver.restore(model.sess, tf.train.latest_checkpoint('./model'))