ユーザ環境でcrYOLOを入れてみる

system側でインストールして使おうと思ったのだが、どうもパーミッションで上手く動かない。
やっぱり各ユーザ再度にpyenvを入れて自分で環境を作って使うのがいいみたい....

ユーザ環境で構築

ここでは、/home/saber/pyenvにpyenvをインストールして、systemとは別のpython実行環境を自分のホームディレクトリ内に整える。
その後、anacondaをインストールして、anacondaによるcrYOLO向けの仮想環境を構築する

[saber@c ~]$ git clone https://github.com/yyuu/pyenv.git
[saber@c ~]$ ls -ld pyenv/
drwxr-xr-x 11 saber fate 331  4月 17 23:38 pyenv/
 
[saber@c ~]$

この/home/saber/pyenvをpyenvのROOTであると宣言させます。

[saber@c ~]$ export PYENV_ROOT=~/pyenv
[saber@c ~]$ export PATH=$PYENV_ROOT/bin:$PATH
[saber@c ~]$ eval "$(pyenv init -)"

なにが組み込まれたかは env とかで確認できます。

[saber@c ~]$ env
 :
PYENV_ROOT=/home/saber/pyenv
PATH=/home/saber/pyenv/shims:/home/saber/pyenv/bin:/usr/local/bin:/bin:(略
PYENV_SHELL=bash
 :
 
[saber@c ~]$

この設定後に anaconda をインストールします(バージョン確認)

(pyenvでインストール可能なバージョン一覧すると)
[saber@c ~]$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
 :
  anaconda3-5.3.0
  anaconda3-5.3.1
 :
  miniconda3-4.3.27
  miniconda3-4.3.30
 :
[saber@c ~]$ pyenv install anaconda3-5.3.1
 
[saber@c ~]$ pyenv version
system (set by /home/saber/pyenv/version)
 
[saber@c ~]$ pyenv versions
* system (set by /home/saber/pyenv/version)
  anaconda3-5.3.1
 
[saber@c ~]$ pyenv global anaconda3-5.3.1
  system
* anaconda3-5.3.1 (set by /home/saber/pyenv/version)
[saber@c ~]$

これで仮想化環境を作れる状態になったので、次にその仮想環境を作ります。

[saber@c ~]$ export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
 
[saber@c ~]$ conda update conda
[saber@c ~]$ conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2
 
(作った環境を削除するなら)
([saber@c ~]$ conda env remove --name cryolo)
 
(作った環境のリストはこれ)
[saber@c ~]$ conda env list
# conda environments:
#
base                  *  /home/saber/pyenv/versions/anaconda3-5.3.1
cryolo                   /home/saber/pyenv/versions/anaconda3-5.3.1/envs/cryolo
 
[saber@c ~]$

最後に仮想環境へアクセスしやすいように.bashrcらを整える

[saber@c ~]$ vi .bashrc
 :
 :
export PYENV_ROOT=~/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
 
[saber@c ~]$

crYOLOのインストール

これまでが下準備。作った環境をアクティベートしてcrYOLOをインストールします。

そのまえに、crYOLOのソースらを入手します。

[saber@c ~]$ mkdir src
[saber@c ~]$ cd src
[saber@c src]$ curl -O ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_3_3/cryolo-1.3.3.tar.gz    (cuda対応)
 
あるいは
 
[saber@c src]$ curl -O ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_3_3/cryolo-1.3.3.dev0.tar.gz   (cpu対応)
 
[saber@c src]$ curl -O  ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_BM_V1_2_1/cryoloBM-1.2.1.tar.gz

別のターミナルを立ち上げて、.bashrcを再読み込みさせて、
作った環境をアクティベートします。その環境下でcrYOLOのパッケージをインストールします

[saber@c ~]$ source activate cryolo
(cryolo) [saber@c ~]$ cd src
 
(cryolo) [saber@c src]$ conda install numpy==1.14.5
 
(cryolo) [saber@c src]$ pip install cryolo-1.3.3.tar.gz
 
(cryolo) [saber@c src]$ pip install cryoloBM-1.2.1.tar.gz

計算してみる

ここではhttp://sphire.mpg.de/wiki/doku.php?id=pipeline:window:cryolo#picking_particles_-_without_training_using_a_general_model
「Picking particles - Without training using a general model」を試してみる

必要なのはトレーニング済みモデル。
「cryo em images」向けと「negative stain images」向けが用意されている
参照http://sphire.mpg.de/wiki/doku.php?id=downloads:cryolo_1&redirect=1
まずはそれを入手します。

 (cryo images向け)
[saber@c ~]$ curl -O ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO-GENERAL-MODELS/gmodel_phosnet_20190314.h5
 (負染色向け)
[saber@c ~]$ curl -O ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO-GENERAL-MODELS/gmodel_phosnet_negstain_20190226.h5

そのほか、configuration fileなるものが必要で、これも「cryo em images」向けと「negative stain images」向けが用意されている。

  • 「cryo em images」向けのconfiguration file
        {
        "model" : {
            "architecture":         "PhosaurusNet",
            "input_size":           1024,
            "anchors":              [205,205],
            "max_box_per_image":    700,
            "num_patches":          1,
            "filter":               [0.1,"tmp_filtered"]
          }
        }
  • 「negative stain images」向けのconfiguration file
        {
        "model" : {
            "architecture":         "PhosaurusNet",
            "input_size":           1024,
            "anchors":              [205,205],
            "max_box_per_image":    700,
            "num_patches":          1
          }
        }

っで、計算なのであるが、pickさせたい画像を用意します。

[saber@c ~]$ cd crYOLO
[saber@c crYOLO]$ ls -l
合計 65540
-rwxr-xr-x 1 saber fate 67109888  4月 18 02:52 test8.mrc
 
[saber@c crYOLO]$ e2iminfo.py ID006C01_00001.mrc
ID006C01_00001.mrc       1 images in MRC format 4096 x 4096
representing 0 particles
 
[saber@c crYOLO]$

中を e2display.py で表示させると
2019y04m18d_030018187.png
これにpickをかけるには

[saber@c ~]$ source activate cryolo
(cryolo) [saber@c ~]$ cd crYOLO/
(cryolo) [saber@c crYOLO]$ cryolo_predict.py -c config.json -w ~/gmodel_yolo_20180823_0806_loss_0059.h5  -i ID006C01_00001.mrc -o ./

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-04-20 (土) 00:36:11 (6d)