
前回の投稿でChainer開発終わって寂しい件を書かせていただきました。しかし、CuPyの方は開発を益々?継続のようであります。そういえば、Chainerの裏でCuPyが動いているのは知っていましたが、直接使ってみたことってなかったかも。それにちょっと気になるのがNumPyと凄く互換性が高く見えるけれど、「所詮」CPUとGPUの違いあり、精度の違いなどどう処理されているのでしょうか。とりあえずやってみました。 “AIの片隅で(19) CuPy、NumPy、単精度、倍精度” の続きを読む
デバイス作る人>>デバイス使う人>>デバイスおたく
前回の投稿でChainer開発終わって寂しい件を書かせていただきました。しかし、CuPyの方は開発を益々?継続のようであります。そういえば、Chainerの裏でCuPyが動いているのは知っていましたが、直接使ってみたことってなかったかも。それにちょっと気になるのがNumPyと凄く互換性が高く見えるけれど、「所詮」CPUとGPUの違いあり、精度の違いなどどう処理されているのでしょうか。とりあえずやってみました。 “AIの片隅で(19) CuPy、NumPy、単精度、倍精度” の続きを読む
12月5日づけで、ちょっとショックなプレスリリースが出てました。日本を代表するAI(人口知能の方、最近投稿に頻発しておりますAugumentation Indexではありませぬ)ベンチャー企業であるPreferred Networksさんの以下のプレスリリースであります。
前回、cuDNNのサンプルプログラムを動かしていて、Jetson nanoでは残念ながら動かないところがある話を書きました。しかし、それ以上に分からなかったのが、サンプルプログラムの引数です。こんな感じ。
-c2048 -h7 -w7 -k512 -r1 -s1 -pad_h0 -pad_w0 -u1 -v1
まあね、これがコンボリューション・レイヤの計算のための引数であると分かっているので、cはchannel、hはheightなどと想像も多少はつくのです。しかし、何だか分からない引数もあり。多分、AIプロの人はこういう記号を見ただけで分かりあえるのかもしれません。しかし、私などは、まず記号の使い方からちゃんと調べて頭に入れて置かないとダメだな、と思い至りました。 “AIの片隅で(17) n,c,h,w,k,p,q,u,v,r,s なんのこっちゃ?” の続きを読む
AIをタイトルにしながら、低レベルな話ばかり書いていますが、それもこれも
Jetson Nano
は、AIネタと決めたからなんであります。先は長いですが、やっていく先にはAIにもつながりましょう。さて、月曜日に cuda-gdb でハマった話を投稿いたしましたが、デバッガが立ち上がったところでおしまいになってました。CUDA用のデバッガらしい話題皆無。というわけで今回は、実際にcuda-gdbを動かして、CUDAのサンプルプログラムの中身をのぞいてみます。 “AIの片隅で(16) block, thread, warp, lane” の続きを読む
前回はJetson nano上で nvprof を使い、GPU実行部分のプロファイリングをちょっとだけ触ってみました。しかし、本来はCPU部分のプロファイリングもできる筈の nvprofですが、このプラットフォームではCPUのプロファイリングは駄目だと警告がでます。そこで、CPU部分のプロファイリングについては nvcc生成のCUDA使用の実行ファイルを、定番のgprof と oprofile の2つでプロファイリングしてみました。 “AIの片隅で(15) nvccとgprof, oprofile” の続きを読む
前回、AI業界の “Hello World!” である MNISTをやってしまったので、遅ればせながらマイコン業界の “Hello World!”である Lチカを Jetson Nanoにもやっていただくことにいたしました。128個のCUDAコアをもつJetson Nanoには恐れ多い仕事ですが、エッジでAI狙いのJetsonですからIOくらい制御していただいても文句は言いますまい。 “AIの片隅で(13) Jetson NanoでLチカ” の続きを読む
前回は Jetson Nanoを立ち上げて CUDA が使えることを確認いたしました。今日は、CUDAにそれらしいことをやらせたい。やっぱりAIネタですね。それであれば、既にOSイメージに含まれている
NVIDIA JetPack SDK
というライブラリを使うことになります。JetPackには肝心のCUDAも含まれているので勿論使わせていただくのですが、こちらはこちらで、以前 Raspberry Pi にChainerをインストールし、人工知能業界のHello World! である MNIST を動かして、モデル間の速度を比べてみたりしております。そこで、 Chainer+MNISTの組み合わせで Raspberry Piと速度を比べてみました。 “AIの片隅で(12) Jetson NanoでChainer” の続きを読む
8月14日の投稿で、NVIDIA Jetson Nano到着、と書きました。しかし時はお盆。15日は作業を中断、本日再開であります。結論から言えば、特に大きな問題もなく、セットアップを完了し、CUDAが使えるという確認をとるところまで行えました。でも、細かい事を言えば、引っかかるところいろいろありました。 “AIの片隅で(11) NVIDIA Jetson Nanoセットアップ” の続きを読む
昨日、Raspberry Piにカメラを取り付けたので、がぜん気になってきたものがあるのです。
Actcast
という「クラウドサービス」です。気になった理由はRaspberry PiのGPUをAIの推論に使っているらしいから。Raspberry PiのGPUはあることは知っていても、NVIDIAのCUDAのように「表立って」使っているようなケースをほとんど聞いたことないので、かなり気になってました。そうしたらちょうど、今月8月1日にActcastはアルファ版からベータ版へと進んだというリリースが。タイミングが良いな。。。 “AIの片隅で(10) Actcastベータ版リリース” の続きを読む
前回、「Chainer演習はまた明日」などと書きながら、わずかに最初の項目を実施しておったんでございます。本来ならば、本日も投稿書いている暇あったら Chainer Tutorial Bookの勉強進めろよ、とも思うのですが、とりあえず演習に辿りつくところまでは書いておきます。そうしないと忘れてしまうから。 “AIの片隅で(9) 続Chainer Tutorial Book” の続きを読む
マイコン関係のWeb上開発ツール、例えばArm Mbed Compilerなどをこのところ触っている時間が長いのですが、AI関係に目を転ずれば、それどころではありませんでした。凄い事になってました。勉強不足にて、Googleの ColaboratoryというWebサービス、使ったことなかったんであります。今回、ChainerのWeb上のチュートリアルに素晴らしいものがあると聞き、触ってみればGoogle Colaboratoryの上に構築されたチュートリアル用の「ノートブック」でした。貧しくてGPUも買えない私でもお試し可能な素晴らしい環境です。何といっても無料が嬉しい。 “AIの片隅で(8) Chainer Tutorial Book” の続きを読む
数日前、「Ok Google、<ラジオ局名>」などと言えばラジオをかけてくれる例のヤツが届きました。今頃になってようやく、文明開化、な感じがします。ま、とあるキャンペーンで手に入れたものであります。シンガポールから届きましたね。スマホを使えば似たようなことできますが、電話でもないのに「人前でスマホに何か語りかける」のに抵抗を感じる年寄りにとっては、誰憚りなく「Ok Google」言えるのは何か嬉しい。こないだまでやっていたラズパイ上の MNISTが「AI業界のHello World!」ならば、AIスピーカは、
AIへの門
であります。天国への門なのか、はたまた地獄の門か?ともあれ、付き合ってみるしかありますまい。 “AIの片隅で(7)Google Home Mini来た!” の続きを読む
一昨日は、非力なRaspberry Pi 1 Model B+で『AI業界のHello World!』ことMNISTのEpoch 1を実行するのに一晩かかったわけであります。そして、新規導入の
Raspberry Pi 3 Model B+
(そのうち Pi 4 も欲しいのですがね)を取り出し、Raspbianをセットアップした暁には、早速にChainerインストールしてMNISTの学習をやらせてみると誓ったのでした。やってみました。結論から言えば、昨晩走らせたものが今朝には完了していました。やっぱり、Pi 3速い。Pi 1の20倍くらい速い(といって、まだGPUレスのパソコンの方がPi 3の50倍くらい速いのですが)。 “AIの片隅で(6)ラズパイでChainer、続々編” の続きを読む