いつもは anacoda を使っていますが、miniconda で仕上げる必要が出てきた

いつものように pyenv でconda環境を切り替えれるようにして、その上にminicondaを敷いた.

git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
 
pyenv install miniconda3-4.7.12
pyenv global miniconda3-4.7.12
export PATH=$PYENV_ROOT/versions/miniconda3-4.7.12/bin/:$PATH
conda update conda -y

っで pyenv/miniconda 環境が用意できた。
ここでライセンスのお話から anaconda由来のパッケージはダメで、conda-forge 由来に限定させてみる。
miniconda参照

[root@rockylinux ~]# conda config --get channels
 
[root@rockylinux ~]# conda config --add channels conda-forge
[root@rockylinux ~]# conda config --get channels
--add channels 'defaults'   # lowest priority
--add channels 'conda-forge'   # highest priority
 
[root@rockylinux ~]# conda config --remove channels defaults
[root@rockylinux ~]# conda config --get channels
--add channels 'conda-forge'   # lowest priority
 
[root@rockylinux ~]#

これで「conda-forge」のみ参照となる。 リポジトリがconda-forgeのみって感じでしょうか

これでtopazアプリを入れてみる

[root@rockylinux ~]# conda create -n topaz python=3.6 -y
[root@rockylinux ~]# source activate topaz
(topaz) [root@rockylinux ~]#
(topaz) [root@rockylinux ~]# conda install topaz  pytorch cudatoolkit -c pytorch -c tbepler
 
(topaz) [root@rockylinux ~]# conda list
# packages in environment at /apps/pyenv/versions/miniconda3-4.7.12/envs/topaz:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                  2_kmp_llvm    conda-forge
blas                      2.115                       mkl    conda-forge
blas-devel                3.9.0            15_linux64_mkl    conda-forge
ca-certificates           2022.6.15            ha878542_0    conda-forge
certifi                   2016.9.26                py36_0    conda-forge
cudatoolkit               11.7.0              hd8887f6_10    conda-forge
dataclasses               0.8                pyh787bdff_2    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
future                    0.18.2           py36h5fab9bb_3    conda-forge
joblib                    1.1.0              pyhd8ed1ab_0    conda-forge
jpeg                      9e                   h166bdaf_2    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      3.0                  h9c3ff4c_0    conda-forge
libblas                   3.9.0            15_linux64_mkl    conda-forge
libcblas                  3.9.0            15_linux64_mkl    conda-forge
libdeflate                1.10                 h7f98852_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
liblapack                 3.9.0            15_linux64_mkl    conda-forge
liblapacke                3.9.0            15_linux64_mkl    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libpng                    1.6.37               h753d276_3    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libtiff                   4.3.0                h0fcbabc_4    conda-forge
libuv                     1.44.2               h166bdaf_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libzlib                   1.2.12               h166bdaf_2    conda-forge
llvm-openmp               14.0.4               he0ac6c6_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
mkl                       2022.1.0           h84fe81f_915    conda-forge
mkl-devel                 2022.1.0           ha770c72_916    conda-forge
mkl-include               2022.1.0           h84fe81f_915    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
numpy                     1.19.5           py36hfc0c790_2    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openssl                   1.1.1q               h166bdaf_0    conda-forge
pandas                    1.1.5            py36h284efc9_0    conda-forge
pillow                    7.2.0            py36h8328e55_2    conda-forge
pip                       21.2.4             pyhd8ed1ab_0    conda-forge
python                    3.6.15          hb7a2778_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.6                     2_cp36m    conda-forge
pytorch                   1.10.2              py3.6_cpu_0    pytorch
pytorch-mutex             1.0                         cpu    pytorch
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
scikit-learn              0.23.2           py36hb6e6923_3    conda-forge
scipy                     1.5.3            py36h81d768a_1    conda-forge
setuptools                49.6.0           py36h5fab9bb_3    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.39.1               h4ff8645_0    conda-forge
tbb                       2021.5.0             h924138e_1    conda-forge
threadpoolctl             3.1.0              pyh8a188c0_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
topaz                     0.2.5                      py_0    tbepler
torchvision               0.2.2                      py_3    pytorch
typing_extensions         3.10.0.2           pyha770c72_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.12               h166bdaf_2    conda-forge
zstd                      1.5.2                h8a70e8d_2    conda-forge
(topaz) [root@rockylinux ~]#

だが作ったtopazで計算しようとすると

[illya@rockylinux test]$ topaz extract -r 14  -o predicted_particles.txt *.mrc -d 0
CudaWarning: module 'torch._C' has no attribute '_cuda_setDevice'
Falling back to CPU.
 
[illya@rockylinux test]$

と言われてしまう。cudaが見えないようだ

[illya@rockylinux test]$ nvidia-smi -L
GPU 0: NVIDIA RTX A2000 (UUID: GPU-23cc3ee7-31d3-a068-2f61-5aa00052d084)
[illya@rockylinux test]$

とあるのだけど....っで

[illya@rockylinux test]$ which python
/apps/pyenv/versions/miniconda3-4.7.12/envs/topaz/bin/python
[illya@rockylinux test]$ python
Python 3.6.15 | packaged by conda-forge | (default, Dec  3 2021, 18:49:41)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
False
>>>
[illya@rockylinux test]$

なので作った環境自体がダメな模様.

それ以上にconda-forge以外のリポジトリがある段階でダメなんだろうけど.

pipで作る

condaがだめならpipで用意してみる. だけどminicondaで仮想実行環境は作ってそこに用意してみる.

(topaz) [root@rockylinux ~]# source deactivate
[root@rockylinux ~]# conda env remove --name topaz           <-- 前の環境の削除
[root@rockylinux ~]# conda create -n topaz python=3.6 -y
[root@rockylinux ~]# source activate topaz
(topaz) [root@rockylinux ~]# conda list
# packages in environment at /apps/pyenv/versions/miniconda3-4.7.12/envs/topaz:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
ca-certificates           2022.6.15            ha878542_0    conda-forge
certifi                   2016.9.26                py36_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libzlib                   1.2.12               h166bdaf_2    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
openssl                   1.1.1q               h166bdaf_0    conda-forge
pip                       21.2.4             pyhd8ed1ab_0    conda-forge
python                    3.6.15          hb7a2778_0_cpython    conda-forge
python_abi                3.6                     2_cp36m    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
setuptools                49.6.0           py36h5fab9bb_3    conda-forge
sqlite                    3.39.1               h4ff8645_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.12               h166bdaf_2    conda-forge
(topaz) [root@rockylinux ~]#

conda-forgeリポジトリで埋められている.
次にpipでtopazを入れる

(topaz) [root@rockylinux ~]# pip install topaz-em
 :
(topazの実行に必要なpipパッケージがダウンロード・インストールされます)
 :
(topaz) [root@rockylinux ~]#
 
(インストールパッケージの確認)
(topaz) [root@rockylinux ~]# conda list
# packages in environment at /apps/pyenv/versions/miniconda3-4.7.12/envs/topaz:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
ca-certificates           2022.6.15            ha878542_0    conda-forge
certifi                   2016.9.26                py36_0    conda-forge
dataclasses               0.8                      pypi_0    pypi
future                    0.18.2                   pypi_0    pypi
joblib                    1.1.0                    pypi_0    pypi
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libzlib                   1.2.12               h166bdaf_2    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
numpy                     1.19.5                   pypi_0    pypi
openssl                   1.1.1q               h166bdaf_0    conda-forge
pandas                    1.1.5                    pypi_0    pypi
pillow                    8.4.0                    pypi_0    pypi
pip                       21.2.4             pyhd8ed1ab_0    conda-forge
python                    3.6.15          hb7a2778_0_cpython    conda-forge
python-dateutil           2.8.2                    pypi_0    pypi
python_abi                3.6                     2_cp36m    conda-forge
pytz                      2022.1                   pypi_0    pypi
readline                  8.1.2                h0f457ee_0    conda-forge
scikit-learn              0.24.2                   pypi_0    pypi
scipy                     1.5.4                    pypi_0    pypi
setuptools                49.6.0           py36h5fab9bb_3    conda-forge
six                       1.16.0                   pypi_0    pypi
sqlite                    3.39.1               h4ff8645_0    conda-forge
threadpoolctl             3.1.0                    pypi_0    pypi
tk                        8.6.12               h27826a3_0    conda-forge
topaz-em                  0.2.5                    pypi_0    pypi
torch                     1.10.1                   pypi_0    pypi
torchvision               0.11.2                   pypi_0    pypi
typing-extensions         4.1.1                    pypi_0    pypi
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.12               h166bdaf_2    conda-forge
(topaz) [root@rockylinux ~]#

この段階で一応完成なのだが、ここでtopazを試験してみると

[illya@rockylinux test]$ topaz extract -r 14  -o predicted_particles.txt *.mrc -d 0
UserWarning:
NVIDIA RTX A2000 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA RTX A2000 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
 :

と言われる. torch が sm86な A2000 に対応していないのが原因のご様子. っでそれに対応したパッケージ(whl)を https://download.pytorch.org/whl/torch/ から探す.
インストールされている torch が「1.10.1」なのでそれに合致して、python3.6なモノを選ぶ
すると「torch-1.10.1+cu113-cp36-cp36m-linux_x86_64.whl」になり、これを加える

(topaz) [root@rockylinux ~]# pip install https://download.pytorch.org/whl/cu113/torch-1.10.1%2Bcu113-cp36-cp36m-linux_x86_64.whl
(topaz) [root@rockylinux ~]# conda list
 :
topaz-em                  0.2.5                    pypi_0    pypi
torch                     1.10.1+cu113             pypi_0    pypi        <-- 入れ替わった
torchvision               0.11.2                   pypi_0    pypi
 :
(topaz) [root@rockylinux ~]#

っで再テスト

[illya@rockylinux test]$ topaz extract -r 14  -o predicted_particles.txt *.mrc -d 0

っと成功

メモ

python3.8で同様に作ったら
「UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. (略」とワーニングが表示される


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-07-19 (火) 12:45:20 (67d)