2025年12月17日水曜日

UBUNTU 24.04 & MINT 22.2 & CUDA & RTX-A6000 (A100、RTX3090、RTX5090他もおなじ)をGPU計算機としてセットアップする

「いま」の定義:2025年12月


以前GPUのセットアップ(CUDA)について書いたのが、2023年1月だったので、

https://doraemonkokoro.blogspot.com/2021/09/ubuntu-20041lts-cuda-rtx-a6000.html

3年ほどが経過しました。この間にCUDAのセットアップはかなり簡単になりましたので、改めて記録しておきます。


【OS】

いま、CUDAが対応している最新のUBUNTUは24.04になっておりますが、私は最近はUBUNTUではなく、MINT 22.2をわりと多用しています(MINT 22.2は、UBUNTU 24.04と同等品)。理由はよくわかりませんが、MINTのほうが多種多様なPCにインストールするときにトラブルがすくない印象です。UBUNTUではインストールが失敗するPCでもMINTではできた、ということが時折あります。

ただし!

リモートデスクトップをよく使う人はUBUNTUを優先させたほうがいいとおもいます。MINTではリモートデスクトップはデフォルトでは入っておりませんので煩雑なセットアップが必要になります。


【CUDA】

いまは、13.1です。


(OSをUSB経由でインストールしたら、まずは)

$ sudo apt update

$ sudo apt upgrade

$ sudo apt install python3-pip


(ここから本番)

https://developer.nvidia.com/cuda-toolkit

NVIDIAのサイトに行きます。


ダウンロードを押したあとに、

LINUX、x86_64、UBUNTU、24.04、deb(local)を選択します。

あとは指示された通りのコマンドをターミナルにコピペして実行します。

Keyのところは、ターミナルに指示がでますので、ターミナルに提示されたコマンドをコピペして実行です。


最後のコマンドを実行し終わったら、

すぐ下のボックスにあるドライバーのインストールを行います。

通常はオープンドライバーを選びます

完了したら再起動。

$ sudo reboot


$ nvidia-smi

で、GPUが認識されているかどうかを確認。

以上で、GPUのセットアップはおわり。

めちゃ簡単です。


===

追記:

Ubuntu 24.04、あるいはMint 22.2のバージョンでは、

python環境の大きな仕様変更がおこなわれています。

pipでのパッケージのインストールが仮想環境 venv でしかできません。

さらにインストールしたpipパッケージは仮想環境上でしか動作しません。

下記URLを参照してください。

https://qiita.com/keith_campbell/items/e7dc4afc44527b802f6e


仮想環境はpathで別々に作成されているので、

あるpathでインストールした環境はそのpathでしか通用しません。

フォルダー事に異なる環境が作れるようになったと考えるといいでしょう。

環境が独立しているので複数の環境構築によるトラブルが少なくなっています。




2025年11月19日水曜日

パワーポイントからGIFアニメーションなどの動画を取り出す方法

 xxx.pptx

xxx.pptx.zip

と名前をかえる。

あとはダブルクリックでpptxファイルの中身が見える。

目的の動画ファイルはmediaフォルダー内にある。

めっちゃ便利。

ずっと知らんかった。



2025年7月28日月曜日

【本を出版しました】神経科学者と学ぶ深層学習超入門

神経科学者と学ぶ深層学習超入門羊土社から出版いたしました。

本書は、基生研で働く神経科学者である渡辺の目線から執筆した深層学習の入門書です。おそらくはここまで神経細胞を出発点にした入門書はレアだとおもいます。その意味では、渡辺の思想書の側面もあります。

それでも本書は入門書です。数式やプログラムに慣れない方に配慮しつつ、文章では伝えきれない部分には、手描きイラストを多数掲載し、理解しやすさを心がけました。


いままでAIが皆目わかんなかったかた。開眼する可能性あります。ぜひラボに一冊どうぞ。



2024年5月2日木曜日

Llama3をUbuntuで動かしてみる


わたしたちのラボでは、GPT-3などLLMを使った心理実験を試みています。以下の実験では色の連想をAIとヒトを比較し、その起源を探っています。

Origin of the ease of association of color names: Comparison between humans and AI

https://doi.org/10.1177/20416695221131832

この実験にはひとつ大きな課題があり、対象をGPT-3にしていたので、日々変化をし続けるGPT-3のせいで再現性がとりにくい実験になっていました。しかし、Llamaというローカル環境でもきびきび動くLLMが出現したことで非常に実験がやりやすくなりました。

LlamaはWindowsでもMacでも動くようですが、ここではUbuntuで動かしてみました。

1)GPUが動くような環境を用意(以下のURL参照)。ここでは70Bという最も重いモデルを動かしますので、40Gb程度のGPUメモリーが必要になります。もっと軽いモデルもあります。

https://doraemonkokoro.blogspot.com/2021/09/ubuntu-20041lts-cuda-rtx-a6000.html


2)ollamaをインストール(llamaを動かす環境のようなもの)

$ curl -fsSL https://ollama.com/install.sh | sh


3)llama3を起動
$ ollama run llama3:70b

これだけです。軽いモデルが欲しい場合はllama3:70bをllama3:8bとしてください。あとはプロンプトがでてきますので、チャットすることができます。コードを書けば自動でプロンプトのやり取りをすることも可能です。日本語は苦手なので、基本英語での使用になります。

4)llama3の終了
/byeとプロンプトを入れると終了です。

2023年5月12日金曜日

WindowsのWSL2は深層学習にガッツリ使えるか?

いろいろ検討した結果、

「WindowsのWSL2は深層学習に使える」

と、結論しましたので、ここに記録。

が、諸事情によりタイトルは?を付けました。

諸事情は最後に。


まず、

Windows及びNvidia driverはとことんアップデートする。

その後、

https://chigusa-web.com/blog/wsl2-win11/

のようなサイトを参考にWSL2をインストール。

Windowsは、10でも11でもいい。

proでもhomeでもOKだけど、proが無難。

Windows Terminalも導入(デフォルトよりも見やすいし拡張性もある)。

https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701


Windows Terminalの新規タブでUbuntuを選び、

$ nvidia-smi

を走らせてGPUを確認。

(ここは驚き。なにもしてないのにGPUがつかえる!)

つまり、どういうことかというと、

Windowsで導入されている、nvidia driverが、

そのままubuntuにも反映される。

Windowsでnvidia driverをupdateすると、

Ubuntuの再起動後、自動的にubuntuにも反映される。

このUbuntuはWindowsの支配下にあることを忘れてはいけない。

cudaのバージョンを上げてはいけないときは、要注意ポイント。


anacondaをubuntuに導入。

https://www.salesanalytics.co.jp/datascience/datascience141/

とても簡単。


新しいconda環境をつくり、

conda create -n ##

自分のアプリをセットアップ。

Ubuntuでは出なかったようなエラーがいくつかでるかもしれないが、

たいていpathだったり、ちょっと足りないライブラリーだったりなので、

エラーを検索しつつ、黙々と対処。


Windowsのファイルを送り込むときは、

エクスプローラのアドレスバーに「\\wsl$」と入力する。

WSL2がバーチャルマシンであることを目視できる。

ここからhomeにアクセスできる。


UbuntuのGUIアプリは、Windowsのアプリのように動きます。

(これも驚き!)下記の最後のほう。

https://chigusa-web.com/blog/wsl2-win11/


GPUを使った深層学習の計算処理スピードは、純UBUNTUの半分くらい(同じマシンでOSを入れ替えて比較)。この速度をどう考えるか。

もう一点。当たり前と言えば当たり前だが、メモリー管理はWindowsがやっているので搭載メモリーの一部だけがUbuntuに割り当てられる。せいぜい半分くらいか。シングルユーザーで使っている分には問題はないとは思うが、これをどう考えるか。

Windowsだからといって、何から何までお世話をしてくれるわけではないし、速度やメモリーに制限はあるにしても、何かと便利なバーチャルubuntu。これからはWindowsが選択肢のひとつにしてもいいかもしれません。

"""

上記の方法では、まだ全然完全ではないです。WSL2のところはまあいいとして、Ubuntuではなく、Windowsで深層学習をしようとすると、やはりちゃんとcuda+cuDNNをwindowsに、ちゃんと導入しないといけないです。

WSL2側にもちゃんとcuda+cuDNNを導入したほうがいいでしょう。「ちゃんと」の前に動いてしまっているのでややこしい。Ubuntuの場合、人がマシンを制御するのですが、Windowsの場合、Windowsがマシンを制御しているのです。そこに横入り的にドライバーをいれるわけですが、Windowsには向いていない作業となります。その意味において、WSL2に限定して深層学習をやるのがいいのかもしれません。その範囲で使う分には、何も問題は起こらないので安心です。要はOSの使い分けです。

"""

"""

なぜタイトルに?がついているかというと、WSL2をテストしたWindowsPCは結局のところすぐにUBUNTU22.04に書き換えてしまったからです。メモリをWindowsにとられるのは我慢するとしても、計算速度の遅さが致命的です。。。

あとMSの都合でハードの制限がかかったりするのも気になります。やはりWSL2はあくまでも補助的な役割のように思えます。よくよく考えると何でわざわざWindowsからUbuntuを使う必要があるのか不思議です。

"""



2023年3月13日月曜日

LINUX MINT 21をGPU計算機に使用する

LINUX MINTが人気です。


本家UBUNTUと比べてかなり軽く、しかもWINDOWSと似たUIが使いやすいです。

古いマシンでテストしたところ、ディスプレイ表示のために使われるメモリーが三分の一くらいになっていました(300メガ強が100メガ弱に!)。

特に、特定の目的に特化している旧型のGPUを積んだマシンには、適任かもしれません。


ただ、本家UBUNTUをGUIなしモード(CUI)で使えば、軽くなりますので、

sudo systemctl set-default multi-user.target(CUIモードへ)

sudo systemctl set-default graphical.target(GUIモードへ)

それでいいのでないか、と言えば、それまでです。


ただ、WINDOWSと似たUIで使いたい、UBUNTUの紫が嫌、などの特別な理由がある場合は、LINUX MINT、あるいは、その他のLINUXの選択はアリだとおもいます。

別になんでもいいや、と言う方は、本家UBUNTUの一択です。安心感が違いますし、周辺のサポート体制も圧倒的ですので、あえて他のLINUXを使う理由は見当たりません。


追記:

といいつつ、現在はラボはMintが増えつつあります。MintのほうがさまざまなPCとの相性がいいようです。あとデフォルトのスクリーンセイバーは必見。




2023年3月9日木曜日

AI初心者Q&A

"""

よく受ける質問をまとめておきます。この記事は順次更新します。

"""

Q1:深層学習はGoogle Colabじゃダメですか?

A1:ダメじゃないです。

共同研究者との共有が簡単に出来るので、Google Colabですべてが出来れば、再現性という意味では理想的です。が、学習をガンガンやりだす、あるいは遺伝子データや動画データなどの巨大なデータを扱い出すと、無理筋になる状況が出てきますので、その時点が分岐点です。逆に、場合によってはGoogle Colabではローカルよりも大きなメモリー空間を確保できることがあります。これはGoogle Colabのメリットです。教育用のプラットホームとしてもたいへん優れています。

"""

Q2:深層学習をローカルサーバーでやるか、クラウドサーバーでやるか?

A2:どちらでもいいです。が、クラウドでやるにしても一つくらいはローカルサーバーはあったほうがいいので、第一選択としてローカルサーバー、それ以上の処理はクラウドサーバー。また最近ではGUI完備のAIツールもでてきているので、その場合、ローカルサーバーはあったほうが随分操作が楽になります。AWSやGoogleなどのクラウドサーバーは高額ですが、公立の研究者であれば、大学や研究所が共同利用のために用意しているスパコンは格安で使えることがあります。また逆に潤沢な研究資金があるならば、自分でニューラルネットワークをあれこれ触らなくてもノーコードのクラウドサービスもいっぱいあります。

"""

Q3:深層学習はWindowsじゃダメですか?

A3:ダメじゃないです。ただ、深層学習のコードの大半はLinux(多くの場合はUbuntu)で開発されていますので、Windowsで動かないコードがあります(経験談)。例えば、DeepLabCutのようなメジャーコードですら一発起動とはいかないことがありました。とういわけで、Linuxが第一選択になります。あえてWindowsを第一選択にするとすれば、SONY Neural Network Console(非推奨)をメインで使いたいときです。

最近のWindowsはWSL2というバーチャル空間にUbuntuを内挿しており、これは「完全なUbuntu」を謳っておりまり、このWSL2を深層学習に利用する手があります。純粋なLinuxと比べれば、それなりのクセがありますが、Windows側からもファイルにアクセスできますし、Linux側からもWindowsのファイルにアクセスできますのでとても便利です。また、ハードウエアのセッティングはWindowsがやってくれますので超楽ちんです。ゲーミングPCを買ってきたらすぐに深層学習ができます。生粋のUbuntuよりは計算処理スピードの面で劣っておりますし(当社比で半分程度)メモリーもWindowsから恵んでいただく状態なのは大問題ですが、これもそのうち多少は改善されるでしょうし、今後、windowsは選択肢としてはありかもです。ただ私は非推奨です。

"""

Q4:深層学習はMacじゃダメですか?

A4:いまのところダメです。優れたコードエディターとしては使えますが、Macだけで深層学習をやることはできません。理由はNvidiaのGPUが使えないからです(いまのところ)。NvidiaのGPUで計算しても数十時間の学習はざらにありますので、それが使えない環境は、選択肢から外れます。ただ、どのみちローカルGPUも、SSH接続や、リモートデスクトップで使いますので、手元のマシンは慣れたOSがいいので、手元のインターフェースとしてMacはいい選択でしょう。ただし!LLMの推論用としてはUnified Memoryは圧倒的な性能を発揮するようです。ローカルLLMを組みたい方は選択肢として大いにありです。最近のNvidiaのSparkもその流れです。

"""

Q5:GPUワークステーションは値段が高いのですが、必要でしょうか?

A5:市販のゲーミングPCで十分です。というか、速度だけで言えば、ゲーミングPCのほうが速いことが多いです(経験談)。GPUメモリーのエラーチェック機構は深層学習には必要ありません。選ぶ基準はGPUメモリーの大きさを優先させてください。次は電源の大きさ、メインメモリーの大きさ(GPUメモリーの倍くらい欲しい)、熱処理(とても大事。最悪扇風機の出番)、筐体の大きさ(できるだけ大きいほうがいい)、拡張性の高さなどです。

もうひとつ言うと、GPUワークステーションは拡張性は高く、しかも使われているパーツの耐久性は抜群なのですが、メモリーやファンなど、ワークステーション専用のパーツを使っていることが多く、これらのパーツは手に入りにくく、しかも高価です。

ゲーミングPCのGPUで対応しきれなくなったらクラウドPCのレンタルという選択が良いと思います。現状のゲーミングPCのGPUメモリーが24Gbが最大(2023年3月現在)ですので、このメモリーを超えるような処理が必須になってきた時、クラウドPCの40Gb、80Gb(あるいはそれ以上のモンスター)の出番となります。

"""

Q6:コードエディターは何がいい?

A6:好きなものをお使いください。ちまたではVS Codeが大人気です。迷ったらVS Codeです。みんなが使っているので安心感が違います。私は使っていません笑。

===

Q7:

A7:


===



2023年2月28日火曜日

DeepLabCutとDeepEthogramのインストール

DeepLabCutとDeepEthogramは、動物の行動解析に人気です。

http://www.mackenziemathislab.org/deeplabcut

https://elifesciences.org/articles/63377

DeepLabCutは、座標トラッキング、

DeepEthogramは、行動パターンの分類を定量化するのに役に立ちます。


いずれもpip install で一発導入できますが、互いに異なる環境に依存していますのでanacondaなどの仮想環境にインストールします(2025年時点でanacondaは非推奨。ライセンスが大きく変わりました。venvなど他の環境がいいでしょう)。また現状(2023年2月)では、cuda12には対応しておりませんので、cuda11.xの環境にしておきます。既にcuda12環境にあるときは、

sudo apt-get -y install cuda-11-7

sudo unlink /usr/local/cuda

sudo ln -s /usr/local/cuda-11.7 /usr/local/cuda

のようにして、cuda11.xに切り替えます。


DeepLabCutは、

https://github.com/DeepLabCut/DeepLabCut

ここを参照し、

conda create --name dlc python=3.8

conda activate dlc

pip install 'deeplabcut[gui,tf]'

でインストール、

python3 -m deeplabcut

で起動です。


DeepEthogramは、

https://github.com/jbohnslav/deepethogram/blob/master/docs/installation.md

ここを参照し、

conda create --name deg python=3.7

conda activate deg

conda install -c conda-forge pyside2==5.13.2

Install pytorch

pip install deepethogram

でインストール、

python3 -m deepethogram

で起動です。





2023年2月17日金曜日

NVIDIAドライバーが認識されなったとき(ディスプレイの解像度が低下)

 例えば、不用意にUBUNTUのアップデートをしてしまい、NVIDIAドライバーが認識されなくなることがあります。そんなときは、あきらめて、再インストールです。

sudo apt autoremove cuda

をしたあとに、通常のNVIDIAドライバーのインストールです。

現状、cudnn for cuda 11.xが最新なので、

cuda 11.8を入れることになります。

「cuda 11.8」で検索です。


Installation Instructions:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin

sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb

sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt update

sudo apt -y install cuda


keyringsのところは、ターミナルで指定されます。

最後に

sudo rebootです。



2022年7月7日木曜日

UNUNTU22.04LTSのリモートデスクトップ

とにかく、美しく動くし、Windowsとの相性が抜群。

お勧めです。まるで手元にUBUNTUがあるがごとし。




UBUNTU 24.04 & MINT 22.2 & CUDA & RTX-A6000 (A100、RTX3090、RTX5090他もおなじ)をGPU計算機としてセットアップする

「いま」の定義:2025年12月 以前GPUのセットアップ(CUDA)について書いたのが、2023年1月だったので、 https://doraemonkokoro.blogspot.com/2021/09/ubuntu-20041lts-cuda-rtx-a6000.html 3...