Я пытаюсь использовать openbte (https://pypi.org/project/openbte/), и я продолжаю получать эту конкретную ошибку из того, что я предполагаю, что он тупой:
Traceback (most recent call last):
File "C:\Python27\Lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\Lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Users\turtl\PycharmProjects\27\venv\Scripts\openbte.exe\__main__.py", line 9, in <module>
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\__main__.py", line 53, in main
Solver(**vars(args))
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\solver.py", line 91, in __init__
self.compute_function(**argv)
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\solver.py", line 458, in compute_function
'suppression_zeroth':suppression_zeroth.copy()})
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\utils.py", line 79, in compute_sum
compute_serial_sum(func,n_tot,output,options)
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\utils.py", line 13, in compute_serial_sum
tmp = func(n,options)
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\openbte\solver.py", line 231, in solve_bte
HW_PLUS = np.load(open(self.cache +'/HW_PLUS_' + str(index) +r'.np','r'))
File "c:\users\turtl\pycharmprojects\27\venv\lib\site-packages\numpy\lib\npyio.py", line 443, in load
"Failed to interpret file %s as a pickle" % repr(file))
IOError: Failed to interpret file <open file '.cache/HW_PLUS_1.np', mode 'r' at 0x000000001A7D19C0> as a pickle
Кажется, что он не смог интерпретировать файл в'.cache / HW_PLUS_1.np' как огурчик. Однако, копаясь в коде, я обнаружил, что все файлы были сохранены следующим образом:
HW_minus.dump(open(self.cache + '/HW_MINUS_' + str(index) +r'.np','w+'))
HW_plus.dump(open(self.cache + '/HW_PLUS_' + str(index) +r'.np','w+'))
, а затем загружены следующим образом:
HW_MINUS = np.load(open(self.cache + '/HW_MINUS_' + str(index) +r'.np','r'))
HW_PLUS = np.load(open(self.cache +'/HW_PLUS_' + str(index) +r'.np','r'))
Я также попытался проследить за процессом и обнаружил, что он успешно загрузил
'. Cache / HW_MINUS 0.np'
'. Cache / HW_PLUS_0.np'
'.cache / HW_MINUS 1.np'
, но не работает на .cache / HW_PLUS_1.np, несмотря на то, что все они сохраняются и загружаются одинаково. Кто-нибудь знает, почему это происходит и как это исправить?с благодарностью.