本家様 https://github.com/cbmi-group/DeepETPicker
A deep learning based open-source software with a friendly user interface to pick 3D particles rapidly and accurately from cryo-electron tomograms.
With the advantages of weak labels, lightweight architecture and GPU-accelerated pooling operations, the cost of annotations and the time of computational inference are significantly reduced while the accuracy is greatly improved by applying a Gaussian-type mask and using a customized architecture design.
(deepL様翻訳)
クライオ電子断層像から3次元粒子を高速かつ高精度に検出する、ディープラーニングベースのオープンソースソフトウェア。
弱いラベル、軽量アーキテクチャー、GPUで加速されるプーリング操作の利点を生かし、ガウシアンタイプのマスクを適用し、カスタマイズされたアーキテクチャー設計を使用することで、精度を大幅に向上させながら、アノテーションのコストと計算推論の時間を大幅に削減する。
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 570.133.07 Fri Mar 14 13:12:07 UTC 2025
GCC version: gcc version 11.5.0 20240719 (Red Hat 11.5.0-2) (GCC)
[root@rockylinux9 ~]# ls /usr/local/cuda
ls: cannot access '/usr/local/cuda': No such file or directory <-- cuda-toolkitは入れてません
[root@rockylinux9 ~]#
こちらでは pyenv を敷いて、その上に anacondaやminiforgeらを置いてconda環境を選べるようにしている
(ただ今回のこのDeepETPickerはananodaでは構築に失敗した. miniforgeで作ってます)
すでにconda環境があれば
source /apps/pyenv/versions/miniforge3-25.1.1-2/etc/profile.d/conda.sh
でconda環境をロードしますが、まだpyev/condaを未定義なら下記のようにして用意します
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install --list <--これでanaconda,minicondaのバージョンが一覧されます.
pyenv install miniforge3-25.1.1-2
そのうえで
source /apps/pyenv/versions/miniforge3-25.1.1-2/etc/profile.d/conda.sh
と実施します 上記はminiforge3-25.1.1-2を使う場合です
gitに手順が書かれているのでそれに従います
[root@rockylinux9 ~]# conda create -n deepetpicker -c conda-forge python=3.8.3 -y
[root@rockylinux9 ~]# conda activate deepetpicker
(deepetpicker) [root@rockylinux9 ~]# cd /apps
(deepetpicker) [root@rockylinux9 apps]# git clone https://github.com/cbmi-group/DeepETPicker
(deepetpicker) [root@rockylinux9 apps]# cd DeepETPicker
(deepetpicker) [root@rockylinux9 DeepETPicker]# ls -CF
bin/ dataset/ main.py model/ README.md test.py tutorials/
configs/ LICENSE MainWindow_3D_PP.py options/ requirement.txt train.py utils/
(deepetpicker) [root@rockylinux9 DeepETPicker]# conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch -y
(deepetpicker) [root@rockylinux9 DeepETPicker]# cat ./requirement.txt
matplotlib
pandas
mrcfile
scikit-image
pillow==8.3.2
pycm
scikit-plot
pyqtgraph==0.12.1
PyQt5==5.15.4
batchgenerators==0.21
tinyaes
pytorch_lightning==1.1.0
opencv-python==4.2.0.34
(deepetpicker) [root@rockylinux9 DeepETPicker]# pip install -r ./requirement.txt
(deepetpicker) [root@rockylinux9 DeepETPicker]# conda list
:
cudatoolkit 11.0.3 h7761cd4_13 conda-forge
:
matplotlib 3.7.5 pypi_0 pypi
mkl 2020.4 h726a3e6_304 conda-forge
mrcfile 1.5.4 pypi_0 pypi
:
numpy 1.24.0 pypi_0 pypi
:
pyqt5 5.15.4 pypi_0 pypi
pyqt5-qt5 5.15.16 pypi_0 pypi
pyqt5-sip 12.15.0 pypi_0 pypi
pyqtgraph 0.12.1 pypi_0 pypi
python 3.8.19 hd12c33a_0_cpython conda-forge
python-dateutil 2.9.0.post0 pypi_0 pypi
python_abi 3.8 7_cp38 conda-forge
pytorch 1.7.1 cpu_py38h36eccb8_2 conda-forge
pytorch-lightning 1.1.0 pypi_0 pypi
:
(deepetpicker) [root@rockylinux9 DeepETPicker]#
一応インストールはできたが、pytorchは「cpu_py38h36eccb8_2」とcpu版であるため、これをgpu版に差し替える必要がある
っでまずは検索
(deepetpicker) [root@rockylinux9 DeepETPicker]# conda search pytorch==1.7.1
Loading channels: done
# Name Version Build Channel
pytorch 1.7.1 cpu_py36h63cae03_1 conda-forge
pytorch 1.7.1 cpu_py36h63cae03_2 conda-forge
pytorch 1.7.1 cpu_py37hf1c21f6_1 conda-forge
pytorch 1.7.1 cpu_py37hf1c21f6_2 conda-forge
pytorch 1.7.1 cpu_py38h36eccb8_1 conda-forge
pytorch 1.7.1 cpu_py38h36eccb8_2 conda-forge
pytorch 1.7.1 cpu_py39h714fb45_1 conda-forge
pytorch 1.7.1 cpu_py39h714fb45_2 conda-forge
pytorch 1.7.1 cuda100py36hd82b6f9_1 conda-forge
pytorch 1.7.1 cuda100py37h50b9e00_1 conda-forge
pytorch 1.7.1 cuda100py38h679e3f5_1 conda-forge
pytorch 1.7.1 cuda100py39h2b73809_1 conda-forge
pytorch 1.7.1 cuda101py36h42dc283_1 conda-forge
pytorch 1.7.1 cuda101py37h7589291_1 conda-forge
pytorch 1.7.1 cuda101py38h2499a06_1 conda-forge
pytorch 1.7.1 cuda101py39h41d04a9_1 conda-forge
pytorch 1.7.1 cuda102py36h8620ce9_1 conda-forge
pytorch 1.7.1 cuda102py37h4d98c68_1 conda-forge
pytorch 1.7.1 cuda102py38h9f8c3ab_1 conda-forge
pytorch 1.7.1 cuda102py39h09d0254_1 conda-forge
pytorch 1.7.1 cuda92py36h7ecc001_1 conda-forge
pytorch 1.7.1 cuda92py37hc3ec645_1 conda-forge
pytorch 1.7.1 cuda92py38hb6ed0dd_1 conda-forge
pytorch 1.7.1 cuda92py39hde86683_1 conda-forge
(deepetpicker) [root@rockylinux9 DeepETPicker]#
と得られた. どうやらcuda102で得られそう. でもそうなるとcudatoolkit 11.0.3は何に?まぁーcudatoolkit102も入れておく
(deepetpicker) [root@rockylinux9 DeepETPicker]# conda install pytorch=1.7.1=cuda102* cudatoolkit=10.2
これでなら正しくgpuが扱えた
(deepetpicker) [root@rockylinux9 DeepETPicker]# python
Python 3.8.19 | packaged by conda-forge | (default, Mar 20 2024, 12:47:35)
[GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.get_device_name())
NVIDIA GeForce GTX 1070
>>> quit();
(deepetpicker) [root@rockylinux9 DeepETPicker]#
加えて pycm も「requirement.txt」でインストールされるが、versionが新しくなったためかエラーになる
っで
(deepetpicker) [root@rockylinux9 DeepETPicker]# pip install pycm==4.0
として古いバージョンに差し替える必要があった.
あとGUIで使うなら追加でOSパッケージをインストールします
dnf install mesa-libGL libXext libSM libXrender fontconfig xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil libxkbcommon-x11
「/apps/modulefiles/DeepETPicker」
#%Module1.0
set root /apps/pyenv/versions/miniforge3-25.1.1-2/envs/deepetpicker
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib
として
[saber@rockylinux9 ~]$ module use /apps/modulefiles/
[saber@rockylinux9 ~]$ module load DeepETPicker
[saber@rockylinux9 ~]$ python /apps/DeepETPicker/main.py
とするとGUIが立ち上がり下記画面が表示されます
GUIを使わなくて、CUIでも操作可能のようで詳しくは「/apps/DeepETPicker/bin/bash_command.md」が参照先みたい