Я установил pytorch и fastai через conda:
conda list
...
fastai 1.0.28 py_1 fastai
pytorch 1.0.0 py3.6_1 pytorch
torchtext 0.3.1 <pip>
torchvision 0.2.1 py_2 pytorch
Я использую одну из моделей fasttai.
Код для загрузки модели выглядит следующим образом (самая последняя строка - это ошибка):
import numpy as np
import torch
from fastai import untar_data, URLs
import pickle
from fastai.text import get_language_model
from torchtext import data
# puzzling the pieces together
# get weights and itos
model_path = untar_data(URLs.WT103, data=False)
fnames = [list(model_path.glob(f'*.{ext}'))[0] for ext in ['pth', 'pkl']]
wgts_fname, itos_fname = fnames
itos = pickle.load(open(itos_fname, 'rb'))
wgts = torch.load(wgts_fname, map_location=lambda storage, loc: storage)
выдает ошибку:
dyld: Symbol not found: _PySlice_Unpack
Referenced from: /anaconda3/envs/t1/lib/python3.6/site-packages/torch/lib/libtorch_python.dylib
Expected in: flat namespace
После просмотра SO я нашел этот связанный вопрос:
dyld: символ не найден: ошибка, как решить эту проблему
Очевидно, что ошибка в символах dyld связана с отсутствием зависимостей / неработающими путями к двоичным файлам.
В этом случае для меня это выглядит как внутренняя проблема pytorch.
Как это может произойти при использовании менеджера пакетов, такого как conda?
Моя операционная система MacOS 10.14.2