-
Notifications
You must be signed in to change notification settings - Fork 35
Description
How can we help you?
Running PheKnowLator on a Windows workstation with 48 core/512 GB RAM failed due to memory running out. Is it because Pickle used too much memory? Any suggestions? See error log below:
MemoryError Traceback (most recent call last)
Cell In[9], line 24
16 else:
17 kg = FullBuild(construction=construction_approach,
18 node_data=add_node_data_to_kg,
19 inverse_relations=add_inverse_relations_to_kg,
20 decode_owl=decode_owl_semantics,
21 cpus=cpus,
22 write_location=kg_directory_location)
---> 24 kg.construct_knowledge_graph()
25 ray.shutdown()
File w:\MyWork\PheKnowLator\pkt_kg\knowledge_graph.py:636, in FullBuild.construct_knowledge_graph(self)
634 graphs = [updates_pkt_namespace_identifiers(self.graph, self.construct_approach)] + g2
635 owlnets = OwlNets(graphs, self.write_location, kg_owl_main, self.construct_approach, self.owl_tools)
--> 636 results = [results[0]] + list(owlnets.runs_owlnets(self.cpus))
638 # STEP 7: WRITE OUT KNOWLEDGE GRAPH METADATA AND CREATE EDGE LISTS
639 log_str = '*** Writing Knowledge Graph Edge Lists ***'; print('\n' + log_str); logger.info(log_str)
File w:\MyWork\PheKnowLator\pkt_kg\owlnets.py:809, in OwlNets.runs_owlnets(self, cpus)
807 try: ray.init()
808 except RuntimeError: pass
--> 809 acts = [ray.remote(OwlNets).remote(self.graph, loc, f, cons, ot) for _ in range(cpus)] # type: ignore
810 for i in range(0, cpus): acts[i % cpus].cleans_owl_encoded_entities.remote(entities[i]) # type: ignore
...
-> 1245 return super().dump(obj)
1246 except RuntimeError as e:
1247 if len(e.args) > 0 and "recursion" in e.args[0]: