Spaces:
Running
on
Zero
Running
on
Zero
import importlib.util | |
import shutil | |
import os | |
import ctypes | |
import logging | |
torch_spec = importlib.util.find_spec("torch") | |
for folder in torch_spec.submodule_search_locations: | |
lib_folder = os.path.join(folder, "lib") | |
test_file = os.path.join(lib_folder, "fbgemm.dll") | |
dest = os.path.join(lib_folder, "libomp140.x86_64.dll") | |
if os.path.exists(dest): | |
break | |
with open(test_file, 'rb') as f: | |
contents = f.read() | |
if b"libomp140.x86_64.dll" not in contents: | |
break | |
try: | |
mydll = ctypes.cdll.LoadLibrary(test_file) | |
except FileNotFoundError as e: | |
logging.warning("Detected pytorch version with libomp issue, patching.") | |
shutil.copyfile(os.path.join(lib_folder, "libiomp5md.dll"), dest) | |