crYOLO

updateがあったので更新してみた

基本http://sphire.mpg.de/wiki/doku.php?id=downloads:cryolo_1に従って更新します。

pyenvの環境を読み込みます

[root@c ~]# export PYENV_ROOT=/Appl/pyenv
[root@c ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@c ~]# eval "$(pyenv init - --no-rehash)"
[root@c ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH

今現在用意されているconda環境は

[root@c ~]# conda env list
# conda environments:
#
                         /Appl/eman2.3
                         /Appl/eman2.31
base                  *  /Appl/pyenv/versions/anaconda3-5.3.1
cinderella               /Appl/pyenv/versions/anaconda3-5.3.1/envs/cinderella
cryolo                   /Appl/pyenv/versions/anaconda3-5.3.1/envs/cryolo
janni                    /Appl/pyenv/versions/anaconda3-5.3.1/envs/janni
transphire               /Appl/pyenv/versions/anaconda3-5.3.1/envs/transphire
                         /Appl/scipion/software/em/eman-2.3
                         /home/cryosparc/software/cryosparc/cryosparc2_master/deps/anaconda
                         /home/cryosparc/software/cryosparc/cryosparc2_worker/deps/anaconda
 
[root@c ~]#

と結構な数になってます。ここでは cryolo 環境を一旦削除して再度作り直します。

[root@c ~]# conda env remove --name cryolo
 
Remove all packages in environment /Appl/pyenv/versions/anaconda3-5.3.1/envs/cryolo:
 
[root@c ~]#

再度「conda env list」でcryolo環境が消えたことを確認します。
その後、新しい cryolo環境をURLに記載のように作ります。

[root@c ~]# conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 numpy==1.14.5 cython \
              wxPython==4.0.4 intel-openmp==2019.4

作った cryolo 環境でactivateして、

[root@c ~]# source activate cryolo
(cryolo) [root@c ~]#

pipコマンドでcrYOLOアプリをインストールします。ここではGPUを使いたいのでGPU版をインストール

(cryolo) [root@c ~]# pip install 'cryolo[gpu]'
 
*同時に「crYOLO Boxmanager」もインストールされます

途中下記のようなエラーが発生しますが、

ERROR: tifffile 2019.7.26.2 has requirement numpy>=1.14.6, but you'll have numpy 1.14.5 which is incompatible.
ERROR: janni 0.1.1 has requirement imagecodecs-lite==2019.2.22, but you'll have imagecodecs-lite 2019.12.3 which is incompatible.

前者はURLにも記載のあることなので無視。後者はjanniの更新で解消されるかな?

EnvironmentModules

EnvironmentModulesに組み込むための方法がここに記載されている
http://sphire.mpg.de/wiki/doku.php?id=pipeline:window:cryolo:integration_into_module_system
「conda env list」で得られるcryolo環境のroot情報を基にして用意できるようで

[root@c ~]# conda env list | grep cryolo
cryolo                   /Appl/pyenv/versions/anaconda3-5.3.1/envs/cryolo
 
[root@c ~]#

これからmodulefileの配置場所に「/home/Common/modules/crYOLO」として下記を記載する

#%Module -*- tcl -*-
##
## dot modulefile
##
proc ModulesHelp { } {
 
  puts stderr "\tAdds anaconda to your environment variables,"
}
 
module-whatis "Adds anaconda to your environment variables"
 
 
set              root              /Appl/pyenv/versions/anaconda3-5.3.1/envs/cryolo
 
setenv CRYOLOPATH $root
prepend-path      PATH              $root/bin

使う

上記のようにmoduleでロードするほかに、「source activate cryolo」で環境に移って、

[saber@c ~]$ cryolo_predict.py

と実行すると下記画面が表示される。
2019y12m06d_235249429.png
基本はコマンドライン入力をそのまま継承したような感じだけど、一見使い勝手があがったように見える

従来のコマンドも当然ながら使えました。

メモ

URLに
crYOLO depends on CUDA Toolkit 9.0 and the cuDNN 7.1.2 library」とある。
CUDA-9.0のライブラリ(/usr/local/cuda-9.0)が必要なのかは?


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-12-06 (金) 23:54:00 (183d)