Deeplabcut 【訓練済みモデル】を Google Colabを使って複数のファイルをドバっと処理する方法を簡単に解説します。Google Colabとか詳しくない人用です。Deeplabcutがどんなものであるかの説明は飛ばします。本家あるいは他サイトを参照してください。
心理学者とプログラム
自身の覚え書き,および初心者さんが同じことで何十時間も無駄にしないために。(MATLAB,Arduinoが中心です)
2021年4月24日土曜日
2020年6月11日木曜日
UbuntuとNVIDIA
新しくDeep Learning用に購入したPCにLinux (ubuntu)にインストールしようとしたら画面がバグった。具体的には, 「Couldn’t get size: 0x800000000000000e」と一番上に出て,下の方はぐちゃぐちゃで読めない。
USBが壊れてるのかなと思ってインストールディスクを作成しなおしても同じ症状。困ったなー。とおもったら。NVIDIA Geforce 入っているのがまずいらしい。
https://qiita.com/yoya/items/026317fe2ddb30ab411d
このサイト,助かりました。
指示通りnomodesetを追加すると,普通に起動できました。以前他のPCにubuntuをインストールしたときにはそんなことなかったが,相性とかがあるんだろうな。
その後,NVIDIA公式からドライバをDLしてくる。 ここから,選べばいい。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
.runというファイルがDLされて,それをクリックするとなぜかtextエディタが開かれて…時間かかった挙句何か文句を言われた。
ターミナルから実行すればいいらしいので,.runファイルのあるディレクトリに移動してから
sudo ./ファイル名.run
を実行。
すると,The distribution-provided pre-install script failed!とか言われる。 最初はびびってとりあえずabortするものの,調べてみると無視していいらしい。Continue installしましょう。
一応,下のサイトに詳しいインストール方法が書いてあります(コメント欄にもっと簡単な方法も)が,私は普通に.runファイルを実行するだけでいけました。
https://sy07-sub.hatenablog.com/entry/2018/10/14/003750
さて,これから2080 Tiのお手並み拝見です。
When I tried to install Ubuntu to a new PC for deep learning, a warning message "Couldn’t get size: 0x800000000000000e" appeared and the installation was stuck. I found that the graphic driver for NVIDIA Geforce seemed not to work well. So, first I had to stop the driver and activate default driver by adding "nomodeset" in the first screen that I can select ubuntu installation (see the screen capture in https://qiita.com/yoya/items/026317fe2ddb30ab411d). Then you can boot install and boot ubuntu normally. After that, I had to install a driver for the graphic board (https://www.nvidia.co.jp/Download/index.aspx?lang=jp). In the installing process, you may see "The distribution-provided pre-install script failed!" but you can ignore it. Good luck!
USBが壊れてるのかなと思ってインストールディスクを作成しなおしても同じ症状。困ったなー。とおもったら。NVIDIA Geforce 入っているのがまずいらしい。
https://qiita.com/yoya/items/026317fe2ddb30ab411d
このサイト,助かりました。
指示通りnomodesetを追加すると,普通に起動できました。以前他のPCにubuntuをインストールしたときにはそんなことなかったが,相性とかがあるんだろうな。
その後,NVIDIA公式からドライバをDLしてくる。 ここから,選べばいい。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
.runというファイルがDLされて,それをクリックするとなぜかtextエディタが開かれて…時間かかった挙句何か文句を言われた。
ターミナルから実行すればいいらしいので,.runファイルのあるディレクトリに移動してから
sudo ./ファイル名.run
を実行。
すると,The distribution-provided pre-install script failed!とか言われる。 最初はびびってとりあえずabortするものの,調べてみると無視していいらしい。Continue installしましょう。
一応,下のサイトに詳しいインストール方法が書いてあります(コメント欄にもっと簡単な方法も)が,私は普通に.runファイルを実行するだけでいけました。
https://sy07-sub.hatenablog.com/entry/2018/10/14/003750
さて,これから2080 Tiのお手並み拝見です。
When I tried to install Ubuntu to a new PC for deep learning, a warning message "Couldn’t get size: 0x800000000000000e" appeared and the installation was stuck. I found that the graphic driver for NVIDIA Geforce seemed not to work well. So, first I had to stop the driver and activate default driver by adding "nomodeset" in the first screen that I can select ubuntu installation (see the screen capture in https://qiita.com/yoya/items/026317fe2ddb30ab411d). Then you can boot install and boot ubuntu normally. After that, I had to install a driver for the graphic board (https://www.nvidia.co.jp/Download/index.aspx?lang=jp). In the installing process, you may see "The distribution-provided pre-install script failed!" but you can ignore it. Good luck!
2019年6月25日火曜日
240Hz presentation with MATLAB Psychtoolbox
Finally, I found the solution!
You can use 240Hz visual presentation using Screen function on MATLAB 2015b (32bit) and Psychtoolbox 3.0.11!
Display monitor: I-O DATA 24.5 inch (240Hz) GigaCrysta EX-LDGC251UTB
you can test the flip accuracy by "FlipTest".
You can use 240Hz visual presentation using Screen function on MATLAB 2015b (32bit) and Psychtoolbox 3.0.11!
Display monitor: I-O DATA 24.5 inch (240Hz) GigaCrysta EX-LDGC251UTB
you can test the flip accuracy by "FlipTest".
2019年4月10日水曜日
240HzのディスプレイとPsychtoolbox
【解決!】
Windows7で画面の解像度→詳細設定「モニター」タブにて,リフレッシュレートを選べる。そこで240Hzに設定すれば,はい終わり!であれば,ここにメモを残さないわけで。
Screen関数を使用して描画をするんだけどどうも4msが出ない。Psychtoolbox的には240Hzと認識しているのに…。ただしPCの性能ももちろん必要なので仕方ないのかなあ,と思いつつ色々いじったんだけど,なんだか最後までしっくり来ず。
というところで,ふとNDIVIAコントロールパネルの「解像度の変更」というところを確認してみました。そしたら,リフレッシュレート「120Hz」となっていたわけです。UltraHDだと120Hzまでしか出せないらしい。
これを240Hzに修正してPsychtoolboxを走らせて見ると,描画が少し早くなり,安定しました。しかし、相変わらず240Hzでは描画できないのです。
======
ここから時は経ち、PCもグラボも良いのに変えたんだけど(GeForce RTX2060) やはり
240Hzじゃ描画できません。(ここからWin10のはなしになる)
======
やっとできました。長かった。何個PC試したことか。Psychtoolboxのバージョンを3.0.11にして,MATLAB 2015b(32bit) にしたらいけました。32bit は3.0.12からは対応していないはず。3.0.10だとうまくいきませんでした。
ディスプレイの他のセッティング等はいじらなくてOKです。2015は2018と同居していますが,大丈夫(Gstreamerは32bit用のものもインストールする必要あり)。
Windows7で画面の解像度→詳細設定「モニター」タブにて,リフレッシュレートを選べる。そこで240Hzに設定すれば,はい終わり!であれば,ここにメモを残さないわけで。
Screen関数を使用して描画をするんだけどどうも4msが出ない。Psychtoolbox的には240Hzと認識しているのに…。ただしPCの性能ももちろん必要なので仕方ないのかなあ,と思いつつ色々いじったんだけど,なんだか最後までしっくり来ず。
というところで,ふとNDIVIAコントロールパネルの「解像度の変更」というところを確認してみました。そしたら,リフレッシュレート「120Hz」となっていたわけです。UltraHDだと120Hzまでしか出せないらしい。
これを240Hzに修正してPsychtoolboxを走らせて見ると,描画が少し早くなり,安定しました。しかし、相変わらず240Hzでは描画できないのです。
======
ここから時は経ち、PCもグラボも良いのに変えたんだけど(GeForce RTX2060) やはり
240Hzじゃ描画できません。(ここからWin10のはなしになる)
======
やっとできました。長かった。何個PC試したことか。Psychtoolboxのバージョンを3.0.11にして,MATLAB 2015b(32bit) にしたらいけました。32bit は3.0.12からは対応していないはず。3.0.10だとうまくいきませんでした。
ディスプレイの他のセッティング等はいじらなくてOKです。2015は2018と同居していますが,大丈夫(Gstreamerは32bit用のものもインストールする必要あり)。
2018年8月6日月曜日
HDDからSSDに換装した
HDDから,CrucialのSSD(1TB)に換えました。
PCは,DELLのXPS 8700 デスクトップ。Windows7です。
しかし,その途中大変だったので,メモっておきます。
[データ移行ソフト]
・CrucialのSSDを買うと,Acronis True Image for Crucialというコピーソフトが使えます。これは,CrucialのSSDが認識されていないと使えません。
・Freeのものだと,EaseUS Todo Backup Freeや,AOMEI Backupper Standardというものがあります。
・ 概ね,どれでもいいようです。
[物理的に用意するもの]
・SSD本体
私の場合はこれ。生協経由で購入したら,amazonの倍ふっかけられました。まじでボッタクリです。大嫌いです。K大生協。
・SATAケーブル
一般的には,これ,と,だいたいどのサイトにも書いてありますが,その後の使い勝手等を考えると,不要です!ただし,現在HDDに繋がっている既存のケーブルがSSDに対応していないとか,そういう可能性がある場合には,購入してください。
・USBケーブル
デスクトップの場合でも,SATAケーブルの代わりに, こっちを買ったほうが最終的に助かる可能性ありです。ここに貼ってあるのを買ったのかどうか忘れましたが,基本的に動きそうならなんでもいいです。
・ブラケット
これは,最悪なくてもいいです。SSDをケースにちゃんと固定したいならば買いましょう。
[ブツの解説]
SATA/USBは,データ移行(HDD→SSD)の際に使用します。どちらかは必要です。移行後は,既存のSATAケーブルでSSDを接続するので,既存のHDDをそのままPC内部で使用し続けるのではない限り,新たなSATAケーブルが必ず必要というわけではありません。
USBケーブルの場合にも,その後は(基本)使わないので(他のSSDを外付けにする場合には流用可能),状況は同じなのですが,換装にてこずった場合に,こっちの方が楽です。あと,PC初心者は,USBケーブルを扱う方が精神衛生上,楽かと思います。
[ざっくりとした手順]
1.SATA/USBケーブルで,SSDをPCにつなぐ。
・SATAの場合は,電源おちているPC開けて,電源とSATAケーブルをそれぞれSSDに繋ぐ。SATAケーブルの一方は,マザーボードのそれっぽいところを探して挿す。
・ USBの場合には,SSDにかたっぽを繋ぎ,外付けHDDのように挿すだけ。
2.コピーソフトで コピー。
・私の場合には,Acronisを最初に使用。その後色々あって,EaseUSを使用。最終的に,Acronisが悪いわけではなかったと思う。
・とりあえず「コピー!」みたいなものを押せば,数十分~数時間で終了です。私の場合には,500GBちょい使用していて,Easeで2時間ちょいだったかな。
・「SSDに最適化」 みたいなオプションがあるけれど,つけてみて,失敗したらその次からは外してみればいい。
3.電源落として既存HDDをはずして,SSDを接続
・HDDについているSATAケーブルをはずしましょう。
・SDDにSATAケーブルが付いていない場合は,接続。あるいは,付け替えたい場合も,付け換える。
4.Windows起動
・成功!わーいやったね。簡単!
というのが,絵に描いたモチです。
[上の作業に失敗しないように,いくつか対策です。]
以下は,できるだけ作業前に最初に行ってください。
みんな
・重要なデータのバックアップをとって,色んなドライバなどを更新しておきましょう。
普通のヒト
・Intel Rapid Storage Technologyを必ず,最新版に更新する。なんか色々と悪さするみたいです。ただし,あるバージョンだとOKだとか,そんな話もあるので,もし躓いたらその辺をググってください。
Intel Rapid Storage Technologyを最新版に更新できない人へ!
・マニアックな悩みですが,私はこれでした。なぜか更新の途中でエラーが出て,それ以降,アンインストールもアップデートもできないという最悪な状態に。
・そんなときは,「デバイスマネージャ」→「IDE/ATA/ATAPIコントローラー」→ の「AHCIなんとか」ってなっているところのプロパティ開いて,ドライバ更新→探す→「Standard AHCI 1.0 Serial ATA Controller」にドライバ変更。これは,インテルではなくてマイクロソフト標準のコントローラーらしい。
[上の作業に失敗したヒトへ。]
・失敗すると,分かりやすくWindowsが起動しません。無限ブルースクリーンです。
・私は,2回インストールに失敗(SSDを2台買っていたのでした...)したのち,1回書き込んだSSDを初期化してもう一度コピー作業をおこなう必要がありました。
・しかし,HDDから正常起動させているときに,SSDをSATAで繋いでいてるとWindowsが落ちてしまい,初期化ができないという困った状態に。
・ここで登場するのが,USBケーブルです。USBケーブルなら,HDD起動させている際にも,SSDが邪魔して困ったことに,なんてことにはなりません。
・下のSSDの初期化を参考にSSDを初期化しなおして,何度もコピーにトライしてください。
[SSDの初期化]
ハードディスクパーティションの作成とフォーマット
・プログラムの検索的なところに「パーティション」とか入力して「ハードディスク パーティションの作成とフォーマット」を探し,起動。
・こまったSSDを探し, ディスク番号を確認。私の場合には,disk 5でした。
・ボリュームを右クリックして,「ボリュームの削除」をしておく。間違えると大変なので超慎重に。
diskpart
・プログラムの検索的なところに「diskpart」と入力,起動。
・コマンドラインに「list disk」と打つと,現在接続されているディスクのリストが出る。
・さっきのディスク番号と照らし合わせて確認してください。kろえも間違えると大変。
・「select disk 5」と打つと,そのディスクが選択された状態に。
・もう一度「list disk」と打って,選択したディスクの横に「*」がついているか確認。
・「clean」と打つと,選択されているディスクがまっさらな状態になります。
・これで,もう一度コピーすることができる状態に戻ります。
PCは,DELLのXPS 8700 デスクトップ。Windows7です。
しかし,その途中大変だったので,メモっておきます。
[データ移行ソフト]
・CrucialのSSDを買うと,Acronis True Image for Crucialというコピーソフトが使えます。これは,CrucialのSSDが認識されていないと使えません。
・Freeのものだと,EaseUS Todo Backup Freeや,AOMEI Backupper Standardというものがあります。
・ 概ね,どれでもいいようです。
[物理的に用意するもの]
・SSD本体
私の場合はこれ。生協経由で購入したら,amazonの倍ふっかけられました。まじでボッタクリです。大嫌いです。K大生協。
・SATAケーブル
一般的には,これ,と,だいたいどのサイトにも書いてありますが,その後の使い勝手等を考えると,不要です!ただし,現在HDDに繋がっている既存のケーブルがSSDに対応していないとか,そういう可能性がある場合には,購入してください。
・USBケーブル
デスクトップの場合でも,SATAケーブルの代わりに, こっちを買ったほうが最終的に助かる可能性ありです。ここに貼ってあるのを買ったのかどうか忘れましたが,基本的に動きそうならなんでもいいです。
・ブラケット
これは,最悪なくてもいいです。SSDをケースにちゃんと固定したいならば買いましょう。
[ブツの解説]
SATA/USBは,データ移行(HDD→SSD)の際に使用します。どちらかは必要です。移行後は,既存のSATAケーブルでSSDを接続するので,既存のHDDをそのままPC内部で使用し続けるのではない限り,新たなSATAケーブルが必ず必要というわけではありません。
USBケーブルの場合にも,その後は(基本)使わないので(他のSSDを外付けにする場合には流用可能),状況は同じなのですが,換装にてこずった場合に,こっちの方が楽です。あと,PC初心者は,USBケーブルを扱う方が精神衛生上,楽かと思います。
[ざっくりとした手順]
1.SATA/USBケーブルで,SSDをPCにつなぐ。
・SATAの場合は,電源おちているPC開けて,電源とSATAケーブルをそれぞれSSDに繋ぐ。SATAケーブルの一方は,マザーボードのそれっぽいところを探して挿す。
・ USBの場合には,SSDにかたっぽを繋ぎ,外付けHDDのように挿すだけ。
2.コピーソフトで コピー。
・私の場合には,Acronisを最初に使用。その後色々あって,EaseUSを使用。最終的に,Acronisが悪いわけではなかったと思う。
・とりあえず「コピー!」みたいなものを押せば,数十分~数時間で終了です。私の場合には,500GBちょい使用していて,Easeで2時間ちょいだったかな。
・「SSDに最適化」 みたいなオプションがあるけれど,つけてみて,失敗したらその次からは外してみればいい。
3.電源落として既存HDDをはずして,SSDを接続
・HDDについているSATAケーブルをはずしましょう。
・SDDにSATAケーブルが付いていない場合は,接続。あるいは,付け替えたい場合も,付け換える。
4.Windows起動
・成功!わーいやったね。簡単!
というのが,絵に描いたモチです。
[上の作業に失敗しないように,いくつか対策です。]
以下は,できるだけ作業前に最初に行ってください。
みんな
・重要なデータのバックアップをとって,色んなドライバなどを更新しておきましょう。
普通のヒト
・Intel Rapid Storage Technologyを必ず,最新版に更新する。なんか色々と悪さするみたいです。ただし,あるバージョンだとOKだとか,そんな話もあるので,もし躓いたらその辺をググってください。
Intel Rapid Storage Technologyを最新版に更新できない人へ!
・マニアックな悩みですが,私はこれでした。なぜか更新の途中でエラーが出て,それ以降,アンインストールもアップデートもできないという最悪な状態に。
・そんなときは,「デバイスマネージャ」→「IDE/ATA/ATAPIコントローラー」→ の「AHCIなんとか」ってなっているところのプロパティ開いて,ドライバ更新→探す→「Standard AHCI 1.0 Serial ATA Controller」にドライバ変更。これは,インテルではなくてマイクロソフト標準のコントローラーらしい。
[上の作業に失敗したヒトへ。]
・失敗すると,分かりやすくWindowsが起動しません。無限ブルースクリーンです。
・私は,2回インストールに失敗(SSDを2台買っていたのでした...)したのち,1回書き込んだSSDを初期化してもう一度コピー作業をおこなう必要がありました。
・しかし,HDDから正常起動させているときに,SSDをSATAで繋いでいてるとWindowsが落ちてしまい,初期化ができないという困った状態に。
・ここで登場するのが,USBケーブルです。USBケーブルなら,HDD起動させている際にも,SSDが邪魔して困ったことに,なんてことにはなりません。
・下のSSDの初期化を参考にSSDを初期化しなおして,何度もコピーにトライしてください。
[SSDの初期化]
ハードディスクパーティションの作成とフォーマット
・プログラムの検索的なところに「パーティション」とか入力して「ハードディスク パーティションの作成とフォーマット」を探し,起動。
・こまったSSDを探し, ディスク番号を確認。私の場合には,disk 5でした。
・ボリュームを右クリックして,「ボリュームの削除」をしておく。間違えると大変なので超慎重に。
diskpart
・プログラムの検索的なところに「diskpart」と入力,起動。
・コマンドラインに「list disk」と打つと,現在接続されているディスクのリストが出る。
・さっきのディスク番号と照らし合わせて確認してください。kろえも間違えると大変。
・「select disk 5」と打つと,そのディスクが選択された状態に。
・もう一度「list disk」と打って,選択したディスクの横に「*」がついているか確認。
・「clean」と打つと,選択されているディスクがまっさらな状態になります。
・これで,もう一度コピーすることができる状態に戻ります。
2017年10月7日土曜日
Acquiring xy and pressure data from a wacom tablet with python
I gave up to acquire xy and pressure data from a wacom tablet with MATLAB, and used python instead.
1) Download python codes.
I developed codes based on the below URL.
You may find test.py and tablet.py.
https://gist.github.com/nitaku/8377916
2) Install Anaconda3
https://www.continuum.io/downloads
Maybe a 32bit version is better for considering the compatibility with the cgkit2 (32bit).
3) Get Python 3.3
I installed Anaconda3 with Python 3.6 and thus I had to get Python 3.3 in the environment.
conda create -n py33 python=3.3 anaconda
4) The way to activate Python 3.3
activate py33
if you want to go back to the default environment, you can type
conda deactivate
5) Download and install cgkit 2
https://sourceforge.net/projects/cgkit/files/cgkit/cgkit-2.0.0/
cgkit-2.0.0.win32-py3.3.exe (Windows)
* I could not install cgkit 2 because Python 3.3 was not found in Registry, and had to register by myself.
5-1) Open Registry
cmd -> regedit
5-2) Copy the values of Python 3.6 and edit them to go along with Python 3.3.
"Export -> text edit -> Import" maybe faster than direct editing using GUI.
5-3) Finally, I installed cgkit 2.
6) Execute "test.py" with WACOM cintiq 13HD
I can acquire the data at 180Hz!
In the test.py,
p.t, p.x, p.y, p.p
correspond to timestep in the system time(ms), x coodinate, y coordinate, and pressure, respectively.
You can save them like as
filename = '0001.csv'
f = open(filename, 'w', newline='')
csvWriter = csv.writer(f)
def draw(p):
:
:
csvWriter.writerow([p.t, p.x, p.y, p.p])
:
f.close()
1) Download python codes.
I developed codes based on the below URL.
You may find test.py and tablet.py.
https://gist.github.com/nitaku/8377916
2) Install Anaconda3
https://www.continuum.io/downloads
Maybe a 32bit version is better for considering the compatibility with the cgkit2 (32bit).
3) Get Python 3.3
I installed Anaconda3 with Python 3.6 and thus I had to get Python 3.3 in the environment.
conda create -n py33 python=3.3 anaconda
4) The way to activate Python 3.3
activate py33
if you want to go back to the default environment, you can type
conda deactivate
5) Download and install cgkit 2
https://sourceforge.net/projects/cgkit/files/cgkit/cgkit-2.0.0/
cgkit-2.0.0.win32-py3.3.exe (Windows)
* I could not install cgkit 2 because Python 3.3 was not found in Registry, and had to register by myself.
5-1) Open Registry
cmd -> regedit
5-2) Copy the values of Python 3.6 and edit them to go along with Python 3.3.
"Export -> text edit -> Import" maybe faster than direct editing using GUI.
5-3) Finally, I installed cgkit 2.
6) Execute "test.py" with WACOM cintiq 13HD
I can acquire the data at 180Hz!
In the test.py,
p.t, p.x, p.y, p.p
correspond to timestep in the system time(ms), x coodinate, y coordinate, and pressure, respectively.
You can save them like as
filename = '0001.csv'
f = open(filename, 'w', newline='')
csvWriter = csv.writer(f)
def draw(p):
:
:
csvWriter.writerow([p.t, p.x, p.y, p.p])
:
f.close()
2017年9月2日土曜日
SONYのNeural network consoleを使ってみた
GUIでディープラーニングできちゃう話題のやつ。とりあえず遊んだ備忘録。
バイナリでなく,カテゴリカルなデータを学習させるときには,レイヤ(Affineなど)からの出力をsoftmaxに入力して,softmaxからの出力をカテゴリの数に設定する。
なので,標準で用意されている0~9の画像データセットの場合,10とすればよい。
最後に,Softmaxからの出力をCategoricalCrossEntropyに入力すればよい。
ちなみに,SoftmaxとCategoricalCrossEntropyを足したものである,SoftmaxCrossEntropyを使うと,ちょっと早いらしいんだけど,Evaluation後のクロス表が出力されないので注意です。
バイナリでなく,カテゴリカルなデータを学習させるときには,レイヤ(Affineなど)からの出力をsoftmaxに入力して,softmaxからの出力をカテゴリの数に設定する。
なので,標準で用意されている0~9の画像データセットの場合,10とすればよい。
最後に,Softmaxからの出力をCategoricalCrossEntropyに入力すればよい。
ちなみに,SoftmaxとCategoricalCrossEntropyを足したものである,SoftmaxCrossEntropyを使うと,ちょっと早いらしいんだけど,Evaluation後のクロス表が出力されないので注意です。
登録:
投稿 (Atom)