カテゴリー: 研究ツール

  • SLEAPのインストール方法[2024年2月更新]

    SLEAPのインストール方法[2024年2月更新]

    SLEAPという機械学習を用いた動物の身体部位のトラッキングツールのインストール方法について書いていきたいと思います。

    DeepLabCutがトラッキングツールとして最もメジャーであり僕自身も過去にインストール方法について書いたり、他の人が多くの記事を残してくれています。

    しかし、SLEAPについては日本語での記事は少ないのが現状です。
    SLEAPはDeepLabCutよりも優れている点はたくさんあり、選択肢の一つとしてできるようにするために今回インストール方法を書こうと決意しました。

    SLEAPはインストール方法から使い方まで動画付きで非常にわかりやすくまとまっているので、英語がわかる方なら簡単に使うことができると思います。

    SLEAPの論文についてはこちら

    SLEAPの公式サイトはこちら

    SLEAPのGitHubはこちら

    はじめに

    まず初めに、SLEAP(公式)のインストール方法に書いてある、

    mamba create -y -n sleap -c conda-forge -c nvidia -c sleap -c anaconda sleap=1.3.3

    で一発で環境構築からパッケージのインストール、その他の諸々を行うという方法は、筆者はいくつかのパソコンで試したが、どれも環境構築の段階でずっと処理中になってしまい、うまくいかなかった。

    よって、今回は公式が提案する別の方法でインストールする方法を紹介する。

    インストール方法

    基本的にはSLEAP公式のサイトのインストール方法にのっとって行なっていきます。

    動作環境

    ・Windows 11 pro
    ・NVIDIA 3080で動作確認
    ・SLEAP 1.3.3
    ・Python 3.7.12

    ファイルのダウンロード

    まず初めに、SLEAPのGitHubからファイルを自分のパソコンにダウンロードします。

    Gitで行う場合には以下のコードを行います。

    git clone https://github.com/talmolab/sleap

    gitコマンドが使えない場合には、gitをインストールする、もしくはGitHubから直接ファイルをダウンロードします。

    GPUのドライバーのインストール

    NVIDIAのドライバーをインストールします。
    (もともとインストールされている場合はスキップします。)

    Anacondaのインストール

    次に、AnacondaのサイトからWindows 10 64bit版をダウンロード、インストールします。
    AnacondaのサイトのFree Downloadを押し、サイトの下の方に行くと下のような画面になるので、
    一番左のWindowsのインストーラーを入れましょう。

    Anacondaがインストールできると、windowsのアプリ一覧の中に、”Anaconda Prompt”が入っていると思います。
    それを使って、以下のコードを実行し、仮想環境の構築やインストール、さらにはSLEAPの起動を行ってきます。

    仮想環境の構築とインストール

    その後、以下のコードを実行し、仮想環境の構築、そしてSLEAPのインストールします。
    仮想環境名は”sleap”になります。

    cd sleap
    conda env create -f environment.yml -n sleap

    ちなみに、GPUの入っているパソコンでは上記のコードで行うことができますが、
    もし入っていないパソコンでは、以下のコードで行うことができます。

    cd sleap
    conda env create -f environment_no_cuda.yml -n sleap

    これでインストールは完了です。

    インストールできたかの確認

    仮想環境のアクティベーションを行い、sleap-labelでSLEAPを起動します。

    conda activate sleap
    sleap-label

    仮想環境のアクティベーション(codna activate sleapのコマンド部分です。)はAnaconda Promptを閉じた際には毎度行う必要があります。

    仮想環境のアクティベーションで(base)から、(sleap)になると思います。

    起動できたら問題なくインストールができました。

    論文に載せる際のバージョンなどの確認

    バージョンの確認はsleapの仮想環境をアクティベートした後で、以下のコマンドを実行します。

    python -c "import sleap; sleap.versions()"

    すると、

    SLEAP: 1.3.3
    TensorFlow: 2.7.0
    Numpy: 1.21.5
    Python: 3.7.12
    OS: Windows-10-10.0.22621-SP0

    と、SLEAPのバージョン情報などが出力されます。

    また、SLEAPがGPUを利用できているかについては、

    python -c "import sleap; sleap.system_summary()"

    で確認できます。
    利用できているときは以下のような出力になります。

    GPUs: 1/1 available
      Device: /physical_device:GPU:0
             Available: True
           Initialized: False
         Memory growth: None

    次回以降はSLEAPの具体的な使い方について紹介できたらなと思います。

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください

  • ショウジョウバエの研究ツール・データベースまとめ

    ショウジョウバエ(Drosophila)の研究をするにあたっての、研究ツールのまとめを備忘録的に残しておきます。
    書き漏れ、追加して欲しいツールなどありましたら、サイトのコメントかこちら(haya.m.yamano.neuro@gmail.com)までご連絡お願いいたします。

    現在制作段階なので、徐々に情報が増えていくと思います。

    更新日: 2023/12/1

    データベース

    FlyBase

    URL: https://flybase.org

    ショウジョウバエの総合的なデータベース。遺伝子の配列、発現情報をはじめ、ショウジョウバエの研究論文や研究コミュニティなどの情報を入手することができる。

    FlyWire

    URL: https://flywire.ai

    NeuronBridge

    URL: https://neuronbridge.janelia.org

    FlyLight

    URL: https://www.janelia.org/project-team/flylight

    FlyCircuit

    URL: https://www.flycircuit.tw

    neuPrint

    URL: https://neuprint.janelia.org

    SCope

    URL: https://scope.aertslab.org

    Fly Cell Atlas

    URL: https://flycellatlas.org

    Paper:

    ストックセンター (Stock Center)

    Bloomington Drosophila Stock Center

    URL: https://bdsc.indiana.edu

     アメリカのBloomingtonにあるIndiana Universityのショウジョウバエストックセンターです。
    遺伝型による検索だけでなく、Stock No.(BLから始まる番号)などでも検索することができます。

    GAL4系統やUAS系統、RNAi系統など多種多様な系統がストックされています。

    Vienna Drosophila Resource Center

    URL: https://shop.vbc.ac.at/vdrc_store/

     オーストリアの Institute of Molecular Biotechnology (IMBA) にあるショウジョウバエストックセンターです。RNAi系統が特に多くストックされています。

    KYOTO Drosophila Stock Center

    URL: https://kyotofly.kit.jp/cgi-bin/stocks/index.cgi

     日本の京都の京都工芸繊維大学にあるストックセンターです。日本にある中で一番大きいショウジョウバエのストックセンターであり、サイトからStockリストがダウンロードできたり、Lineごとにまとまって検索したりすることができる。

    KYORIN-Fly : Drosophila species stock center

    URL: https://shigen.nig.ac.jp/fly/kyorin/

     日本の杏林大学にあるショウジョウバエのストックセンターである。多様な種のショウジョウバエがおり、キイロショウジョウバエの近縁種の変異体などもこのストックセンターから入手することができる。

    行動解析ツール

    DeepLabCut

    URL: http://www.mackenziemathislab.org/deeplabcut

    Paper: Mathis A, Mamidanna P, Cury KM, et al. DeepLabCut: markerless pose estimation of user-defined body parts with deep learning. Nat Neurosci. 2018;21(9):1281-1289. DOI:10.1038/s41593-018-0209-y

     

    SLEAP

    URL: https://sleap.ai

    Paper: Pereira TD, Tabris N, Matsliah A, et al. SLEAP: A deep learning system for multi-animal pose tracking. Nat Methods. 2022;19(4):486-495.
    DOI:10.1038/s41592-022-01426-1

    UMATracker

    URL: https://ymnk13.github.io/UMATracker/

    Paper: Yamanaka O, Takeuchi R. UMATracker: An intuitive image-based tracking platform. J Exp Biol. 2018;221(16):1-5.
    DOI:10.1242/jeb.182469

    Ctrax

    URL: https://ctrax.sourceforge.net

    Paper: https://www.nature.com/articles/nmeth.1328

    FlyTracker

    URL:

    Paper:

    ID Tracker

    URL:

    Paper:

    TRex

    URL:

    Paper: https://elifesciences.org/articles/64000

    JAABA

    URL:

    Paper:

    その他

    Brain and VNC template (JRC 2018 Brain templates)

    URL: https://www.janelia.org/open-science/jrc-2018-brain-templates

    Color-Depth MIP

    URL: https://www.janelia.org/open-science/color-depth-mip

    解剖と抗体染色のプロトコル

    URL: https://www.janelia.org/project-team/flylight/protocols

    ショウジョウバエの成虫や幼虫の解剖方法の動画、抗体染色のプロトコルが手に入ります。

  • [2022年12月更新]YOLOXのインストール方法

    [2022年12月更新]YOLOXのインストール方法

    YOLOXとは

    YOLOシリーズがたくさん出ている中、2021年7月に最新のYOLOXが出ました。

    YOLOXに関する論文はこちら (現在プレプリントです。)
    また、GitHubはこちら

    YOLOは物体認識のアルゴリズムです。
    リアルタイムに動かすことを前提としており、非常に動作が軽量であり(認識だけならスマホでも動かすことができます)、システムの応用性もあり、IoT装置にも多く取り入れられています。

    物体認識アルゴリズムと聞くと少し難しそうですが、簡単に想像できるのは、カメラの顔や目の自動フォーカスです。
    ここが顔ですよと視覚が現れると思いますが、それが他の物体でも適応され、そしてそれぞれが何なのかを分類することができます。

    YOLOはたくさんのシリーズがあり、YOLO, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOXと出てきています。
    また、動作環境もPythonだけでなく、MATLABでも使うことができるなど、自分の使っているプラットフォームに適応させることができます。

    YOLOXはYOLOv3からのシステムとは異なり、YOLO(最初に出版された方法)でのシステムとなっており、動作も早く、また正確性もかなり向上しているとのことです。

    詳しくは他のブログサイトでも書かれています。

    YOLOXのインストール方法

    GitHubのサイトにもインストール方法が記載されていますが、英語なのと、仮想環境を使った方法では書かれていないので、今回はAnacondaで仮想環境を使って行う方法です。

    WindowsとMacの両方で、YOLOXのマニュアル通りにインストールするとエラーが連発しました。
    今後もバージョンによって、エラーが変わってきたりするので、その都度調べてください。

    macのターミナルでcondaコマンドを使う方法は以下から

    WindowsではAnaconda Promptを使うと良いかと思います。

    ターミナル(Anaconda Prompt)を開き、文字が並んでいる黒いウィンドウができます。
    最終行の左に(base)となっているかと思います。
    現在、仮想環境には入っていない状態です。

    仮想環境なしでもYOLOXは動作できますが、他のパッケージとの環境が交差してしまうので、仮想環境を作ることをお勧めします。

    まず以下のコードを入力し、仮想環境を作成します。

    conda create -n YoloX python=3.8

    YoloXは仮想環境名で、これでなくても大丈夫です。
    また、pythonのバージョンはpython=3.8で指定できます。

    その後以下のコードで仮想環境に入ります。

    conda activate YoloX

    これで、左の(base)が(YoloX)になっていたら成功です。

    CUDAのインストール

    まず、機械学習のライブラリを初めてインストールする方で、YOLOの学習をGPUで行うおうとする方はCUDAをインストールしましょう。
    (CPUでの学習はありえないほど時間がかかるのでおすすめしません。ただ、Apple Silicon搭載のPCではGPUを使うことは現在できません。)
    CUDAは公式サイトからダウンロードできます。

    CUDAのバージョンは、PyTorchで対応しているCUDAのバージョンを確認してから、そのバージョンをインストールするといいと思います。
    PyTorchの公式サイト

    過去のバージョンをインストールするには、Download nowを押した後の画面で、下の方のResourcesのArchive of Previous CUDA Releasesでインストールすることができます。

    最新バージョンでもできるかもしれませんが、取り合えず、PyTorchに合わせておけば問題なく動かすことができると思います。

    インストールされているかはwindowsで、「システム環境変数の編集」を開き、詳細設定>環境変数と開き、
    CUDA_PATHからはじまるパスがあるか確認しましょう。
    Vの後の数字がバージョンを示しています。

    PyTorchのインストール

    まず、インストールする前に、pipの更新をしておきましょう。
    Anaconda Promptで仮想環境に入り、以下のコマンドを実行します。

    python -m pip install --upgrade pip

    PyTorchの公式サイトに行き、自分の環境に合ったインストール方法を選びましょう。
    しかし、ここで問題となるのが、Packageの欄で、ここではpipを選択しましょう
    condaでインストールするとその後でエラーが出てしまいます。

    Run this Commandのコマンドをコピペして、仮想環境にインストールします。

    インストールが終わったら、以下のコマンドでPyTorchがインストールされているか確認しましょう。

    pip list

    この中に、torchが入っていればOKです!!!
    一応動作確認として、pythonを起動し、以下のコマンドを実行してみましょう。

    import torch
    print(torch.cuda.is_available())

    出力でTrueと出れば問題なくインストールできており、torchをGPUで動かす準備が整ったということになります。
    (Macに導入する際やGPUがないパソコンには、Folseと出てきますが、imortが出てきたら大丈夫です)
    エラーが出たらもう一度、インストールを見直してみましょう。

    YOLOXに関わるパッケージのinnsuto-ru

    GitHubからYOLOXの諸々のファイルをダウンロード(クローン)します。
    Gitコマンドが使える人は、以下のコードでクローンできます。

    git clone git@github.com:Megvii-BaseDetection/YOLOX.git

    その後、クローンしたフォルダにアクセスし、必要なパッケージをインストールします。

    まず、クローンしたYOLOXのフォルダにある、requirements.txtの中身を以下のように書き換えます。

    # TODO: Update with exact module version
    numpy
    #torch>=1.7
    opencv_python
    loguru
    tqdm
    #torchvision
    thop
    ninja
    tabulate
    
    # verified versions
    # pycocotools corresponds to https://github.com/ppwwyyxx/cocoapi
    #pycocotools>=2.0.2
    #onnx==1.8.1
    onnxruntime==1.8.0
    onnx-simplifier==0.3.5

    どうやら、pycocotoolsなどはこのコマンドで入れることができないようです。

    これが終わったら、requirements.txtを保存して、下のコマンドをターミナル(Anaconda prompt)で実行します。

    cd YOLOX
    pip3 install -r requirements.txt
    pip3 install cython pycocotools

    ダウンロードしたYOLOXのフォルダには”requirements.txt”というファイルがあり、ここに必要なパッケージが入っているので、これを読み取り専用で開き、記載されているパッケージをインストールするコマンドが二つ目のコマンドです。

    pip3 install cython pycocotools

    このコマンドによって、cythonとpycocotoolsをインストールすることができます。
    どうやらこれらは別途インストールする必要があるようです。

    このコマンドを実行すると、以下のエラーが出る人もいるかと思います。

          building 'pycocotools._mask' extension
          error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

    Microsoft C++ Build Toolsがpycocotoolsには必要だそうです。(Mac版がないのに、Macでもエラーが出る。)
    WIndowsの人は一応インストールしておくと良いでしょう。

    これをインストールし、さらに以下のコードで再度インストールを試みてください。

    pip3 install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"

    それでもうまくいかない場合には、以下のコマンドで入れましょう。

    conda install -c conda-forge pycocotools

    基本的には今回のパッケージ等はpipでインストールしていますが、こればっかりはインストールできないので、condaでインストールするという最終手段を使います。

    次に、yolox_x.pthをダウンロードします。
    リンクを押すとすぐにダウンロードが始まります。

    ダウンロードしたファイルをgithubからクローンしたYOLOXのフォルダに入れましょう。
    これでデモの認識に使うモデルをダウンロードし、任意の場所に置くことができます。

    tools/demo.pyの上部に下記をプログラムに追記し、yoloxフォルダへアクセスできるようにします。

    #demo.pyの中身に書き込みましょう。
    import sys
    import os
    sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

    これを行わないと、yoloxのパッケージがありませんというエラーが出されます。

    その後、ターミナルで以下のコマンドを実行しましょう。
    これで、デモ動作ができているかどうかを確認することができます。

    python tools/demo.py image -n yolox-x -c yolox_x.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu 
    #gpuで動かさない場合には、gpuをcpuに書き換えてください。

    –device gpu は 状況に応じて –device cpuに書き換えてください。

    これで、YOLOX/YOLOX_outputs/yolox_x/vis_res/20……..の中に以下の画像が入っていればよいです。

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください

  • 【2022年12月更新】YOLOv5のインストール方法[物体認識ツール]

    【2022年12月更新】YOLOv5のインストール方法[物体認識ツール]

    YOLOv5とは

    YOLOは物体検出を行うアルゴリズムです。YOLOはYou Look Only Onseの頭文字をとっています。
    物体のトラッキングとはまた少し違い、オブジェクトと、それがなんなのかを検出することができます。

    YOLOのHPより引用(https://pjreddie.com/darknet/yolo/)

    自動運転などでは、人なのか、ペットなのか、車なのかといった、人間がものを判断するように物体を検出、分類します。

    分類するアルゴリズムは複雑なので、ここでは説明は省きますが、調べてみると非常に多くのサイトで解説されています。

    現在YOLOは大体隔年ぐらいのペースで新しいバージョンが出ており、今ではYOLO v1~YOLOv5、そして、2021年8月に新しいバージョンであるYOLO Xが公表されました。
    バージョンによって何が違うのかは、細かい部分で大きな変更がありますが、基本的には新しくなるにつれて精度がよくなっていきます。

    今回は十分な精度かつ、現在かなり情報が多くなり、導入しやすくなったYOLO v5のインストールと動作確認までのステップを紹介していきたいと思います。

    インストール環境

    OS : Windows 10 (macOS Montereyでもできました)
    Python : 3.9.7 (3.6以降)
    CUDA : 11.3

    インストール方法

    仮想環境の作成

    Anacondaを用いて、仮想環境を作成します。
    Anacondaをインストールしていない人は、インストールしましょう。

    YOLOv5をインストールする際にはかなり多くのパッケージがあるので、仮想環境でインストールをお勧めします。
    仮想環境の名前はなんでもいいのですが、今回は”Yolov5_env”とします。
    anaconda promptで以下のコマンドを入力します。

    conda create -n Yolov5_env python=3.9

    これで仮想環境が作成されるはずです。
    仮想環境に以下のコマンドで入ります。

    conda activate Yolov5_env

    CUDAのインストール

    まず、機械学習のライブラリを初めてインストールする方で、YOLOの学習をGPUで行うおうとする方はCUDAをインストールしましょう。(CPUでの学習はありえないほど時間がかかるのでおすすめしません)
    CUDAは公式サイトからダウンロードできます。

    CUDAのバージョンは、PyTorchで対応しているCUDAのバージョンを確認してから、そのバージョンをインストールするといいと思います。
    PyTorchの公式サイト

    過去のバージョンをインストールするには、Download nowを押した後の画面で、下の方のResourcesのArchive of Previous CUDA Releasesでインストールすることができます。

    最新バージョンでもできるかもしれませんが、取り合えず、PyTorchに合わせておけば問題なく動かすことができると思います。

    インストールされているかはwindowsで、「システム環境変数の編集」を開き、詳細設定>環境変数と開き、
    CUDA_PATHからはじまるパスがあるか確認しましょう。
    Vの後の数字がバージョンを示しています。

    PyTorchのインストール

    まず、インストールする前に、pipの更新をしておきましょう。
    Anaconda Promptで仮想環境に入り、以下のコマンドを実行します。

    python -m pip install --upgrade pip

    PyTorchの公式サイトに行き、自分の環境に合ったインストール方法を選びましょう。
    しかし、ここで問題となるのが、Packageの欄で、ここではpipを選択しましょう
    condaでインストールするとその後でエラーが出てしまいます。

    Run this Commandのコマンドをコピペして、仮想環境にインストールします。

    インストールが終わったら、以下のコマンドでPyTorchがインストールされているか確認しましょう。

    pip list

    この中に、torchが入っていればOKです!!!
    一応動作確認として、pythonを起動し、以下のコマンドを実行してみましょう。

    import torch
    print(torch.cuda.is_available())

    出力でTrueと出れば問題なくインストールできており、torchをGPUで動かす準備が整ったということになります。
    (Macに導入する際やGPUがないパソコンには、Folseと出てきますが、imortが出てきたら大丈夫です)
    エラーが出たらもう一度、インストールを見直してみましょう。

    YOLOv5のインストール

    GitHubからYOLOv5のファイルをダウンロード(クローン)します。

    git clone https://github.com/ultralytics/yolov5

    gitコマンドが使えない方は、gitをインストールするか、YOLOv5のGitHubからファイルをダウンロードします。

    次に、以下のコマンドをAnaconda promptの仮想環境で実行します。

    cd yolov5
    pip install -r requirements.txt

    最初のコマンドは、GitHubでダウンロードしたyolov5のフォルダに移動するコマンドで、gitコマンドでインストールした人はこれで大丈夫ですが、直接サイトからダウンロードしたかたはそのディレクトリに頑張って移動しましょう。

    ダウンロードしたyolov5のフォルダには”requirements.txt”というファイルがあり、ここに必要なパッケージが入っているので、これを読み取り専用で開き、記載されているパッケージをインストールするコマンドが二つ目のコマンドです。

    インストールが終了したらどんなパッケージがインストールされたか確認しましょう。

    pip list 

    かなり多くのパッケージがインストールされたと思います。
    一旦これでYOLOv5のインストールは完了です。

    動作

    動作確認として、元々yolov5のフォルダに入っているデータで確かめてみましょう。
    Anaconda promptで仮想環境に入り、cdコマンドでyolov5のフォルダに移動します。

    そして、以下のコマンドを実行します。

    python detect.py --source ./data/images/ --weights yolov5s.pt --conf 0.4

    detect.pyがyoloを使って、物体認識するプログラムです。
    sourceで物体認識してほしい素材があるフォルダのパスを指定します。
    今回はyolov5に入っているimagesの画像を用いました。

    weightsでどのモデルを使用するかを選択します。
    今回はyolov5.ptを用います。

    confではどれぐらいの尤度(Likelihood)で物体を認識するかを示します。
    これに関しては、機械学習を勉強する際によく出てくる言葉です。
    わからなければこのままで問題ないと思います。

    実行すると、yolov5のフォルダのruns\detect\expに認識された画像が入っていると思います。
    このようにしてYOLOv5では物体認識が行われます。

    直面したエラー

    ModuleNotFoundError: No module named ‘torch’

    Yoloを動かそうとしたときにこのようなエラーが出ることがあります。
    これはPyTorchが利用できていない、モジュールが見つからないというようなエラーです。

    このエラーが出た際には、まず仮想環境でtorchがインストールされているかどうか確認しましょう。

    pip list

    ここにtorchがなければPyTorchをインストールしましょう。
    あるけれどうまくいかない、よくわからないというときは、pythonを起動し、PyTorchをインポート、利用できているかみましょう。

    import torch
    torch.cuda.is_acailable()

    利用できる際には、Trueと返され、うまくいかないときは、上記のエラーが表示されるかと思います。

    エラーの原因として考えられる一つとして、PyTorchをcondaコマンドでインストールしているという可能性があります。
    PyTorchはcondaコマンドでインストールしているけど、他のパッケージはpipコマンドでインストールしていると上記のエラーが出てしまうことがあります。

    その際には、condaコマンドでtorchをアンインストールし、pipコマンドでインストールしなおしましょう。

    モジュールが見つからない問題は、インストールする際のコマンドがpipなのか、condaなのかごっちゃになっている可能性があります。
    今回はpipで統一していますが、常にどのコマンドでインストールしているか気にするといいでしょう。

    リンク集

    Anaconda
    CUDA
    PyTorch
    YOLOv5 GitHub
    YOLOホームページ

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください!

  • labelImgのインストール方法[2022年12月更新]

    labelImgのインストール方法[2022年12月更新]

    物体クラスタリングを行う上で、元々ある学習モデルだけでなく、自分が作った学習モデルも使いたくなる時があると思います。

    物体クラスタリングで有名なツールとして、YOLOがありますが、その学習データーを作る際に、labelImg(大文字でLABELIMG)は非常に有用なツールとなります。

    そのlabelImgのインストール方法についてご紹介します。

    環境

    OS : Windows 10 (macOS Montereyでもできました)
    Python :3.9.7 (3.6以降)

    インストール方法

    Anacondaを用いて、仮想環境を作り、そこでインストールする方法をおすすめします。
    それによって、他の環境に影響を与えることなく、インストールすることができます。

    仮想環境の名前はわかれば良いので、なんでも良いのですが、今回は”labelimg_env”にします。
    以下のコマンドをAnaconda promptで実行しましょう。

    conda create -n labelimg_env python=3.9

    今回はpython3.9でインストールしていますが、3.6以降であれば特に問題はないかと思います。

    次に、pipとsetuptoolsの更新をおこなっておきましょう。
    これを行うことによって、謎のエラーを防げます(多分)。

    python -m pip install --upgrade pip setuptools

    そして、labelImgをインストールします。

    pip install labelImg

    インストールされたか確認は以下のコマンドで確認できます。

    pip list

    この中に、labelImgがあれば成功です。

    起動

    まず、仮想環境に入ります。

    conda activate labelimg_env

    labelImgを起動します。

    labelImg

    別のウィンドウで画面がひらけばOKです!!

    あとがき

    LabelImgはPyQt5によって、GUIが作られています。
    pythonのバージョンが3.6以降がいいのは、PyQt5のバージョンでPython 3.6以降を必須としているからです(現状)。

    基本的には最新バージョンで問題ないかと思います。

  • Python Video Annotatorインストール方法

    Python Video Annotatorインストール方法

    Python Video Annotatorとは

    Python Video Annotatorとは、撮影した動画を解析、動画内のイベントを時系列的にノートすることができるアプリケーションです。

    神経科学や行動学の研究者が、動物の動画を撮影し、その動物たちの行動を解析、定量するためなどに利用することができます。
    例として、マウスの行動を記録する際に、舌を出す、尻尾を振る、耳を動かすなど、記録したい行動があったとします。
    それが、動画のいつ起こっていて、どれぐらいの時間継続しているのか。
    毎度動画を見て、エクセルに記録するのだと、定義した行動が多いとあまりに大変です。
    こういったツールを用いることで、動画にノートとして記録し、時間情報やイベント情報を取り出すことができます。

    元々、動物の行動を記録するアプリケーションとして、VCodeと呼ばれるオープンソースのソフトがありました。
    しかし、現在のパソコンのOSに対応していないという問題がありました。

    Python Video Annotatorでは、最新のPCに対応し、必要な機能は残しつつ、さらに外部のセンサー情報(圧力計など)やDeepLabCutなどの行動定量ツールと組み合わせることができ、非常に研究を行う人にとって有用なツールとなっています。

    インストール方法

    ホームページにインストール方法は詳しく書かれていますが、僕のパソコンではうまく入れることができませんでした。(多分そのままインストールしたら、元々インストールされているパッケージとの相性が悪かったのかもしれません。)
    そこで、GitHubのサイトに記載されている、Anacondaを使って仮想環境を構築、インストールするという方法を行いました。

    言葉で言うと難しそうですが、やることは非常に簡単です。
    現在(2021年10月20日地点)では最新のmacOS(Big Sur 11.6)には対応していないらしく、近日中に改善されると思われます。
    なので、今回はWindowsを例にとって説明します。

    ただ、macOSでもAnacondaを入れて、condaコマンドを使えるようにしてからは基本的には操作は一緒なので、使えるようになったら参考にしてください。(詳しくは前回の記事より)

    Anacondaをインストールし、Anaconda promptを開きます。
    そして、仮想環境を作成し、仮想環境をアクティベートしましょう。

    conda create -n videoannotator python=3.6
    conda activate videoannotator

    その後、必要なパッケージをインストールします。

    pip install opencv-python-headless pyqt5==5.14.1 pyqtwebengine==5.14.0

    その後、python Video Annotatorをインストールします。

    pip install python-video-annotator

    色々処理が終わったらインストール完了です。

    起動するときは、仮想環境をアクティベートしてから、実行します。

    conda activate videoannotator
    start-video-annotator

    これでソフトが起動したら完了です。

  • Bonsaiによる四則演算の方法

    Bonsaiによる四則演算の方法

    神経科学及び、その他の実験デザインとしてよく使われるBonsai。
    Bonsaiはプログラムをしなくとも、高度なプログラムを作ることができ、そして同期性を持ってプログラムを実行することができます。

    しかし、シンプルが故に、四則演算などの普通のプログラミングでは単純なプログラムだと少しわかりにくい方法で行うこととなります。
    そこで、その四則演算の方法をMouseMoveを例にとって説明します。

    下が実際に四則演算を行なった様子であり、上から順に足し算、引き算、掛け算、割り算です。

    今回はわかりやすいため、MouseMoveのXとYの値を例に取りました。
    しかし、実際には別のセンサーなどから得られたそれぞれの値を計算したりすることができます。

    ここでBonsaiにおいて重要なのは演算をする前に”Zip”によって、二つの値を統合する必要があります。

    “Zip”の中身は(値1, 値2)のようになっており、その時の二つの値を一つにまとめる役割を担います。
    そして、各演算では値1と値2をそれぞれ計算します。

    言葉での説明は難しいですが、なんとなくのイメージで掴みましょう。
    もし”Zip”がなかった際には、プログラムにおいて、どの値とどの値を掛け算するかがわからなくなるため、計算ができないので、一度XとYの値を対応を持って統合する必要があります。

    それぞれ四則演算を行うときの処理の名前のリストを下記に記します。

    • 足し算 => Add
    • 引き算 => Subtract
    • 掛け算 => Multiply
    • 割り算 => Divide

    下記に実際の様子を載せておきますので参考にしてみてください。

    <例の実行の様子>

  • Image J (Fiji) による連続画像処理

    生物学の研究において、抗体染色などのサンプルを共焦点レーザー顕微鏡で撮影することが多くあるかと思います。

    その撮影したデータをImage Jによってスタック画像(Stack)にしたり、波長の違う画像をマージ画像(Marge)としたりする方法を説明します。
    最後にスケールバーの挿入方法をやって終わりです。

    まず、共焦点レーザー顕微鏡では違う波長(レーザーが違う)で撮影した画像が一つのスライスごとにあり、そのスライスがz軸方向にサンプルの厚さ分だけあります。

    この時に、波長の違う同じzの位置の画像を合わせることをここではマージといい、z軸方向の画像を重ね合わせることをスタックと言います。
    Image Jでも同じ意味で使われているので、今何をしたいのがを考えながらやりましょう。

    今回Fijiで説明しますが、Image Jでも大体は同じです。
    ただ、Fijiでは共焦点レーザー顕微鏡の画像データを形式を変えることなく開くことができるため、今回はFIjiで説明します。

    今回はflylightのハエの共焦点レーザー顕微鏡画像を用いました。
    例として使う画像

    このサイトからダウンロードできるように、共焦点レーザー顕微鏡画像の画像は *.lsm など各メーカーの独自のフォーマットを用いており、このファイルの中にさまざまな情報が入っています。
    これによってスケールの情報も入っているので、自分で顕微鏡のスケールを検索しなくても正確なスケールバーを入れることができます。

    まず、Fijiを開き、出てきたメニューバーみたいなところに撮影したデータを入れます。

    開くと、何かしら黒かったり、緑かったりする新しいウィンドウが開きます。
    これが現在の作業している画面です。
    下のスクロールを動かすことによって、Z軸を動かすことができます。

    上部の Image<Color<Make Composite より画像をマージします。
    Image<Color<Channnels Tool より、チャンネルツールを開きます。

    このチャンネルツールでは、Channnelのチェックによって、そのチャンネルの表示を切り替えることができます。

    画像をスタックする時には、Image<Stacks<Z projectをクリックすると、画像がスタックされます。
    この時に、特にこだわりがない場合にはProjection TypeはSum Slicesにしましょう。
    すると、新しいウィンドウが開き、スタックされた画像が表示されます。

    ここでもチャンネルツールは使うことができ、各画像のスタック画像を見ることができます。

    スケールバーはAnalyze<Tools<Scale Barより追加することができます。
    Width in 〇〇:の値を変えることで、好きな長さにすることができます。

    処理した画像を保存する時には、File<Save asでファイルの形式を指定して保存します。
    Tiffでは何故か画像が白くなるので、PNGやjpegをお勧めします。

    最後に完成した画像がこちら

    Fijiのリンクはこちらから

  • DeepLabCut2.3のインストール方法[2023年12月更新]

    DeepLabCut2.3のインストール方法[2023年12月更新]

    今回の記事ではDeepLabCutのインストール方法について説明していきます。

    参考サイト
    ・日本語サイト
    https://qiita.com/auditorycortex/items/1b3a55101cddf09553b2
    ↑非常にわかりやすい。とりあえずこれに従っておけば大丈夫なはず

    https://note.com/sakulab/n/n9caeb32d74d6
    ↑画像付き

    DeepLabCutホームページ
    GitHub

    インストール方法

    動作環境
    ・Windows 10
    ・NVIDIA 2060 SUPER, NVIDIA 1080 Ti, NVIDIA 3080で動作確認
    (NVIDIA 1060 SUPERでは動作せず)
    ・DeepLabCut 2.1
    ・NVIDIA Driver 最新版
    ・Anaconda3
    ・Python 3.8
    ・CUDA 11.8
    ・tensorflow-gpu 2.5

    手順
    まず初めに、GitHubのサイトのマスターファイルをダウンロードしておきます。

    Codeの”Download ZIP”よりダウンロードすることができます。

    次に、AnacondaのサイトからWindows 10 64bit版をダウンロード、インストールします。

    NVIDIAのドライバーをインストールします。(もともとインストールされている場合はスキップします。)

    DeepLabCutのサイトの下のほうへとスクロールし、右側の ”DOWNLOAS CONDA FILE” をクリックし、
    DEEPLABCUT.yamlをダウンロードします。

    PCのどこかにDeepLabCutフォルダーを作り(デスクトップ、もしくはCドライブのディレクトリがおすすめ)、その中にenvironmentフォルダーをつくりましょう。
    そして、そのファイルの中に先ほどダウンロードしたDEEPLABCUT.yamlのファイルを入れます。
    これは人の好みによりますが、僕は環境ファイルはある一定のところへと保存したい派ですので、このようにしております。

    Anaconda Promptを管理者権限で起動します。(なんか黒い文字ばっかのターミナル、もしくはコマンドプロントのような画面が出てくる)
    Anaconda PromptはAnacondaをダウンロードした際に、一緒に入っており、PCのソフト一覧から見つけることができると思います。

    さきほどダウンロードしたDEEPLABCUT.yamlファイルをつかって仮想環境を構築します。
    Anaconda Promptで

    conda env create -f C:\(DLC-GPU.yamlファイルの場所)\DEEPLABCUT.yaml

    と入力しましょう。
    DEEPLABCUT.yamlファイルの場所は、ファイルのプロパティから確認することができるので、そこから確認し、入力しましょう。

    このコードを動かすと、いろいろダウンロードなどをするかと思います。
    その後、作った仮想環境に入りましょう。

    conda activate DEEPLABCUT

    すると、(base)から(DEEPLABCUT)に代わっていると思います。
    そこまでいけばとりあえずは成功です。

    次に、CUDAとcuDNNをインストールします。

    conda install -c conda-forge cudnn

    これによって、CUDA toolkitとcuDNNをいい感じのバージョンをダウンロードしてくれます。

    その後、以下の4つのコードを入力し、インストールします。

    pip install numpy
    pip install deeplabcut
    pip install imgaug
    pip install torch

    DeepLabCutをアップデートし、インストールは完了です。

    pip install --upgrade deeplabcut

    ここまで出来たら、一度起動してみましょう。

    conda activate DEEPLABCUT
    python -m deeplabcut

    を入力することで、DeepLabCutのGUIを起動させることができます。

    DeepLabCutがGPUで動いてくれない時の対処

    trainingを開始してみたら、あれ?遅くね?ってなることがあります。
    それはGPUでDeepLabCutを動かしたいはずが、CPUで動かしてしまっているからです。

    よくある原因はCUDA, cuDNN, tensorflowのバージョンが合致していないという問題です。

    tensorflowなどは最新版にどんどん更新されていきます。
    なので、たまにうまくいかなくなることがあります。

    最新のバージョン情報に関しては、DeepLabCutのGitHubで確認してみてください。

    以上がインストール方法でした。
    次回以降は使い方を説明していきたいと思います。

    おまけ

    パソコンどれを使えばいいのかわからない方へ、パソコン購入相談をココナラでやることにしました!

    あなたの要望に合わせてパソコンを選び、提案します パソコン選びに困っている方々へ!様々な目的に対応できます!

    パソコンを選んだり、アドバイスすることが多く多くの友人からパソコンの相談やったら儲かるのにと言われました。
    それに感化されて一旦やってみようと思いました!

    パソコンの利用目的に合わせて、そしてパソコンの予算に合わせて購入をご提案します。
    特に機械学習に用いるパソコンを多く選び、使ってきています。

    そして、希望があればパソコンを今後買う時にどこに注目すると良いかもアドバイスしていきたいと思います。

    今まで選んだことあるパソコンとして、研究室の解析用パソコン、実用パソコン、ゲーム配信用パソコン、大学の新入生用のパソコン、建築学科用のCADが使えるパソコン、とりあえずのパソコンなど。

    MacとWindowsの両方使っているので、どちらのお話、ご提案もできます!

    ぜひ利用してみてください

    追記 1

    DeepLabCutと同様に、行動のトラッキングを行うツールである”SLEAP”のインストール方法についても記事に書きました。

    SLEAPもDeepLabCutに負けないツールなので、ぜひ使って見てください。

  • 深層学習を用いた行動解析ツール DeepLabCut

    深層学習を用いた行動解析ツール DeepLabCut

    (上の画像が論文へのリンクとなっています。)

    生物学における行動解析は非常に重要な実験であり、特に脳の理解には行動を正確に定量が必要不可欠です。

    従来ではマーカー(センサーなど)を実験対象(人や実験動物など)に用いることによってポーズ推定を高精度で行うことができました。
    しかし、センサーを用いるということは実験対象にとっては邪魔なものとなり、それによって行動が変わったり、行動の制約が生まれたりする。

    マーカーを用いない方法として、スケルトンモデルを適用するという方法があるが、スケルトンモデルの開発は時間がかかり、大規模に行うこととなリマス。
    画像からポーズ推定のシステムもあるが、これはポーズ推定に伴うデータ量が膨大となり、これもまた設備の問題で一研究室が行うには非常に困難でした。

    DeepLabCutではパソコン一つあれば誰でも、そして非常に簡単にポーズ推定を行うことができます。
    深層学習を用いた画像認識によって、マーカーレスで、そして自分の好きなところを認識し追跡することができます。

    また、深層学習によりマーキングしているため、撮影した動画を補正することなく解析することができます。
    つまり、解析しようとするフィールドの光が均一でなくても、また角度によって映像が多少歪んでいたとしても、トラッキングすることができます。

    DeepLabCutの開発した研究室のページはこちらから。
    GitHubについてはこちらから。

    実際にDeepLabCutを使用してみて、解析に用いるパソコンのスペックとして、GPU(グラフィックボード)のメモリが8GB以上というのが必要であるとわかりました。
    ゲーミングPCのGPUではミドルエンドからハイエンドのGPUであり、普段使用しているノートパソコンでは快適な解析はできないことがわかりました。

    ただそのようなハイスペックのパソコンがなくともGoogle Colaboを使うことによって仮想GPUを使用し、解析をすることができます。
    ただまだやったことはないですが・・・。

    実際の解析では、プロットの精度は非常に高いと感じました。
    ただ学習させるデータと違う背景であったりすると、うまく解析してくれないことがよくあり、学習させるデータは実際に自分が解析したい環境を想定し、それに近い環境の学習データが良いと感じました。

    DeepLabCutは自分の興味のある数カ所のプロットだけではなく、解析に使わなくとも調べたい実験対象のある程度の骨格など全体をプロットすることで、よりプロットの精度が良くなることが論文で示されていました。
    また、学習し、解析したあとでうまくいかない時には、そのうまくいかないフレームを排除したり、新たな学習のデータセットを追加したりでき、学習を能動的に改善することができます。

    DeepLabCut自体使い勝手は非常に良く、誰でも簡単に使用することができます。
    ぜひ解析に使ってみてはいかがでしょうか。

    DeepLabCutのインストールや使い方の説明を今後していきたいです。