2023年05月08日

連休終了

連休、あっという間でしたね。今日から出社です。

連休中、ずっと GPU プログラミングの勉強をしていました。久々に熱中できるおもちゃを見つけたという感じです。何が効果的なのかよく分からず、手探りの状態なので、同じ場所を行ったり来たりしているみたいでなかなか先に進みません。でも、こうやって色々と考えている時間が楽しいんですよね。
今のところ、VirtualBox 上の Linux での開発は不可。Windows 上に必要な開発リソースをインストールして、コンパイラが利用できる状態にしました。Visual Studio 必須と思っていたので、最初はそれをインストールしたのですけど、Visual Source Code に慣れた身としてはあまりにも使いづらいので、開発環境だけをインストールして、作業は Visual Source Code で行えるようにしました。CUDA のインストール自体はそれほど難しくもなく、Linux と同じようにコマンドライン上で開発作業を行う環境が構築できて、あとはひたすら作っては試してみることの繰り返しです。
ニューラルネットワークではユニットを並べた層を重ねてシステムが構築されるので、それらを表すためのオブジェクトを用意しました。畳み込みニューラルネットワークでは二次元配置となるため、複雑なデータ構造になりますけど、一応、必要最低限の準備はできたかなというところです。今まで作ったネットワークをCUDA に置き換えて、どれだけ高速にできるか、楽しみですね。  

Posted by fussy at 03:40Comments(0)TrackBack(0)

2023年05月01日

連休に入りました

見事に九連休です。嬉しいですね。

畳み込みニューラルネットワークを使った機械学習が非常に奥深く、連休を利用していろいろとプログラミングしてみようと考えています。で、GPU を最大活用するために CUDA を勉強しているんですけど、やはり分からないところがたくさん出てくるわけです。こんな時は、いつも Google 先生を使って検索していましたが、ChatGPT を活用すると、少々怪しげながらも答えが得られるので、最近は苦労して最適な答えを探す必要がなくなってきました。
例えば、CUDA でテンプレートは使えるのか質問すると、サンプルコード付きで丁寧に説明してくれました。ここまできちんと説明されると、すごいと思いますね。ただ、AI の限界みたいなものも感じられて、それは、どうしても Web 上にある内容以上のことは得られないということ。以前、調べたことを質問すると、Web 上で見つけた内容がほとんどそのまま返ってきました。これは、ある意味どうしようもないことですね。画像生成 AI なんかでも同じことは言えるでしょう。

しかし、いつかは自ら考えて受け答えをする本当の人工知能というものも登場するのでしょうかね。  

Posted by fussy at 08:27Comments(0)TrackBack(0)

2023年04月25日

ディスクフルの悪夢

今まで、仮想マシンのサイズは 40GB に設定していました。ところが、CUDA をインストールしたところ、途中でディスクフルの状態になり、インストールに失敗。こちらのサイトを参考にディスクを拡張してから修復を行いましたが、どうも壊れたまま居座り続けるファイルがあるらしく、しかもそれが見つかりません。ここでディスクチェックと修復をしておけばよかったんですけど、慌てていた自分は再度 OS からインストールすることを選択。ちょうど、Xubuntu 23.04 がリリースされたばかりで、これにしようと考えたのが運の尽き。VirtualBox が対応していないのか、少々不安定で、しかも共有フォルダが利用できない状態。結局、古いバージョンの 22.10 を立ち上げてなんとか修復しました。CUDA を入れるとビルドができることは確認できたのですが、動作はできない可能性が高く、古いノート PC にLinuxが入っていたから、そちらで検証してみようかと思案中です。

古いノート PC はスペックも非力で、GPU は GeForce だったと思うけどかなり古いので、もう少し性能が高い GPU を搭載したモデルがほしいところ。しかし、このところ散財したから、次のボーナスまで我慢かな。それまでは今の環境で動作検証させるしかないでしょう。

でも、久々にワクワクする体験ですね。これで動作も早くなれば、畳み込みニューラルネットワークでいろんなことができそうです。  

Posted by fussy at 02:42Comments(0)TrackBack(0)

2023年04月18日

CUDA

畳み込みニューラルネットワークのサンプル・プログラムが完成し、AlexNet という深層学習の元祖となったネットワークを作成してみましたが、これが非常に重くて、一つの処理に数秒かかるので、学習させるのが大変です。今のところ、正解率は低いままで、ちゃんと学習できているかどうかもはっきりしない状態。パフォーマンスを向上させなければということで、CUDA を勉強し始めました。
NVIDIA が提供している、GPU を使った並列処理用ライブラリですね。ただ、困ったことに現在は VirtualBox 上の Linux で開発しているので、CUDA が使えるかどうかわからないです。動作できなければ、Windows 上に開発環境を構築して利用しないといけなくなりそうです。できれば、Linux 上で開発を続けたいんですけどね。

しかし、久々に楽しいプログラミングに出会えた気がします。どんなことができるのか、非常にワクワクしますね。  

Posted by fussy at 00:04Comments(0)TrackBack(0)