Не удалось интерпретировать файл как рассол (numpy) - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь использовать 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, несмотря на то, что все они сохраняются и загружаются одинаково. Кто-нибудь знает, почему это происходит и как это исправить?с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...