Не удается заставить Pytorch / Python / Анаконду работать вместе

#python #pytorch #anaconda

Вопрос:

Я пытаюсь обучать пользовательские модели локально для Deepstack, используя свой графический процессор. К сожалению, я сталкивался с проблемой за проблемой с правильной регистрацией модулей, несмотря на то, что следовал документации Pytorch/Deepstacks. Я использую следующее:

  • Навигатор Anaconda 2.0.4 (среда установлена и активирована)
  • Pytorch 1.9.0 (устанавливается на https://pytorch.org/get-started/locally/ использование conda install PyTorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

Я могу подтвердить в Python, что Pytorch установлен правильно и что CUDA доступен (одна из причин, по которой я хочу обучать эти модели локально, а не через Google Colab). К сожалению, команда bash, предоставленная для обучения модели python3 train.py --dataset-path "/path-to/my-dataset" (которую я установил на правильный, соответствующий путь), кажется, работает не в той среде, которую я настроил в Anaconda, что сводит с ума. Я проверил PATH и PYTHONPATH в системных переменных (я на Windows 10 Pro), и они, похоже, установлены правильно. Когда я запускаю эту команду, мне говорят, что мне не хватает ссылок на модули в train.py сценарий, за исключением того, что я могу подтвердить с помощью Анаконды, что они присутствуют.

Пожалуйста, помогите мне. Ты моя единственная надежда.

Спасибо. -Выдергиваю Волосы.

@мерв,

Этот подход работает, но по-прежнему сталкивается с отсутствующими модулями, несмотря на то, что они находятся в пределах env conda.

 ERROR conda.cli.main_run:execute(33): Subprocess for 'conda run ['python', 'train.py', '--dataset-path', 'C:\Users\Benson\traindeepstack\deepstack-trainer\Cat']' command failed.  (See above for error)
Traceback (most recent call last):
  File "train.py", line 12, in <module>
    import torch.distributed as dist
ModuleNotFoundError: No module named 'torch'```

This is what I get when I check the modules within this env:

```# packages in environment at C:UsersBensonanaconda3envsdeepstack:
#
# Name                    Version                   Build  Channel
blas                      2.111                       mkl    conda-forge
blas-devel                3.9.0              11_win64_mkl    conda-forge
ca-certificates           2021.5.30            h5b45459_0    conda-forge
cudatoolkit               11.1.1               heb2d755_7    conda-forge
freetype                  2.10.4               h546665d_1    conda-forge
intel-openmp              2021.3.0          h57928b3_3372    conda-forge
jbig                      2.1               h8d14728_2003    conda-forge
jpeg                      9d                   h8ffe710_0    conda-forge
lcms2                     2.12                 h2a16943_0    conda-forge
lerc                      2.2.1                h0e60522_0    conda-forge
libblas                   3.9.0              11_win64_mkl    conda-forge
libcblas                  3.9.0              11_win64_mkl    conda-forge
libdeflate                1.7                  h8ffe710_5    conda-forge
liblapack                 3.9.0              11_win64_mkl    conda-forge
liblapacke                3.9.0              11_win64_mkl    conda-forge
libpng                    1.6.37               h1d00b33_2    conda-forge
libtiff                   4.3.0                h0c97f57_1    conda-forge
libuv                     1.42.0               h8ffe710_0    conda-forge
lz4-c                     1.9.3                h8ffe710_1    conda-forge
m2w64-gcc-libgfortran     5.3.0                         6    conda-forge
m2w64-gcc-libs            5.3.0                         7    conda-forge
m2w64-gcc-libs-core       5.3.0                         7    conda-forge
m2w64-gmp                 6.1.0                         2    conda-forge
m2w64-libwinpthread-git   5.0.0.4634.697f757               2    conda-forge
mkl                       2021.3.0           hb70f87d_564    conda-forge
mkl-devel                 2021.3.0           h57928b3_565    conda-forge
mkl-include               2021.3.0           hb70f87d_564    conda-forge
msys2-conda-epoch         20160418                      1    conda-forge
ninja                     1.10.2               h5362a0b_0    conda-forge
numpy                     1.21.2           py38h089cfbf_0    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openjpeg                  2.4.0                hb211442_1    conda-forge
openssl                   1.1.1l               h8ffe710_0    conda-forge
pillow                    8.3.2            py38h794f750_0    conda-forge
pip                       21.2.4             pyhd8ed1ab_0    conda-forge
python                    3.8.12          h7840368_0_cpython    conda-forge
python_abi                3.8                      2_cp38    conda-forge
pytorch                   1.9.0           py3.8_cuda11.1_cudnn8_0    pytorch
setuptools                58.0.4           py38haa244fe_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.36.0               h8ffe710_1    conda-forge
tbb                       2021.3.0             h2d74725_0    conda-forge
tk                        8.6.11               h8ffe710_1    conda-forge
torchaudio                0.9.0                      py38    pytorch
torchvision               0.2.2                      py_3    pytorch
typing_extensions         3.10.0.0           pyha770c72_0    conda-forge
ucrt                      10.0.20348.0         h57928b3_0    conda-forge
vc                        14.2                 hb210afc_5    conda-forge
vs2015_runtime            14.29.30037          h902a5da_5    conda-forge
wheel                     0.37.0             pyhd8ed1ab_1    conda-forge
xz                        5.2.5                h62dcd97_1    conda-forge
zlib                      1.2.11            h62dcd97_1010    conda-forge
zstd                      1.5.0                h6255e5f_0    conda-forge```

Pytorch is clearly present.
 

Комментарии:

1. может быть, попробовать запустить в образе докера Linux :пожать плечами:

2. Если » установить правильно «, это означает, что PYTHONPATH пуст, верно? Кроме того, активируйте среду и python не используйте python3 ее . Весь смысл системы активации Conda заключается в том, что не нужно возиться с псевдонимами и вручную манипулировать переменными среды, чтобы команды работали. В качестве альтернативы можно использовать conda run -n env_name python ... для запуска команды из контекста среды без активации вручную.

3. Инструкции от Deepstack заключаются в том, чтобы запустить команду python3 как bash, и, похоже, именно здесь у меня все ломается.