AIの片隅で(27) Googleの生成AI、GeminiにBCDデコーダを設計してもらう

SimResults
Joseph Halfmoon

生成AIしてますか?頭の固い年寄はサッパリなので練習中です。今回はGoogle GeminiにBCDデコーダを設計してもらいました。標準ロジック 74HC42 相当の動作をする回路を想定。前回のバイナリカウンタは生成されたVerilogソースそのままでシミュレーションOKでしたが、今回は多少変更が必要でした。
“AIの片隅で(27) Googleの生成AI、GeminiにBCDデコーダを設計してもらう” の続きを読む

AIの片隅で(26) Googleの生成AI、Geminiにバイナリカウンタを作ってもらう

counter4_sim_results
Joseph Halfmoon

生成AIしてますか?バリバリ使ってらっしゃるじゃないかと思います。頭の固い年寄はサッパリです。でもまあ生成AIのプロンプトにはたまにお世話になっております。便利。噂ではPythonなどのコードなど一撃で書いてくれるみたい。メジャーな言語はね。マイナーなのはどうだろう?例えばVerilogということで今回やってみました。

“AIの片隅で(26) Googleの生成AI、Geminiにバイナリカウンタを作ってもらう” の続きを読む

AIの片隅で(25) ESP-EYE、ESP32+カメラとマイク、とりあえず写真を一枚

ESP-EYE_working
Joseph Halfmoon

Espressif製の「AIoT」開発ボード、ESP-EYEを入手いたしました。ぶっちゃけESP32のDevkitに、カメラとマイクを搭載した小型ボードという感じです。売りは “Voice Wake-up” と “Face Recognition” です。今回は出荷時状態のまま、電源入れて、一声かけて?カメラを起動、写真を1枚キャプチャしてみました。私の中国語通じちゃう?

“AIの片隅で(25) ESP-EYE、ESP32+カメラとマイク、とりあえず写真を一枚” の続きを読む

AIの片隅で(24) EDGE IMPULSE、最初の一歩、スマホでやってみた、即登録

EdgeImpulseMobilePhoneDataCollection
Joseph Halfmoon

最近「EdgeデバイスでAI」ネタでちょくちょくお目にかかるのが EDGE IMPULSEというものです。Edgeデバイス=マイコン用のAIアプリを「生成」してくれるWebサービスのようなものみたい。半信半疑で「ゲストでお試し」やってみました。確かに簡単。マイコン用にデプロイしてみるために即登録。

“AIの片隅で(24) EDGE IMPULSE、最初の一歩、スマホでやってみた、即登録” の続きを読む

AIの片隅で(23) M5StickV, V-Trainingその後

Joseph Halfmoon

先週、インタフェース誌10月号のAIチップ特集を読みながら「メールが届くのを待っています」などとブーたれていたのです。M5StickVのWeb上でのAIトレーニング環境であるV-Training、ここに来て、先月何かの理由で詰まってしまっていたQueueが解消されて動き出したようです。処理完了のメールがとどき、学習済のデータセットをM5StickVにセットすれば、ちゃんと目論見どおり認識をば致しまする。待ち行列解消さえすればこんなにお手軽なものは無い? “AIの片隅で(23) M5StickV, V-Trainingその後” の続きを読む

AIの片隅で(22) M5StickVのお引越し、再起動

JosephHalfmoon

直ぐ何かに影響されます。aNo研著のMAiX本を読み、約7カ月ほど「眠っていた」Kendryte K210搭載の小さな「AIカメラ」M5StickVを復活させねば、と決意いたしました。ちょうど新しいPC(といっても誰かのお古をクリーンインストールしたもの)が手に入ったので、いろいろ入れ過ぎてカオス気味のメイン機からついでにM5StickV関係をお引越しさせよう、と考えました。しかし、AI業界で7カ月は長い。いろいろ変わっていた。。。

“AIの片隅で(22) M5StickVのお引越し、再起動” の続きを読む

AIの片隅で(21) Lenna様のお写真

JosephHalfmoon

折角、Kendryte K210搭載のM5StickVが手元にあるというのに、AIまでたどりつかず、SDカードやらGPIOやらと戯れている毎日。ちょっとAIの方に一歩踏み出すべいと思いつつ、本日も時間も気力もない。。。そんなおり、装置にプリインストール?されている boot.py、顔認識プログラムを読んでみることにしました。確かに顔認識しているけれども、小さい画面に表示されるだけ。 “AIの片隅で(21) Lenna様のお写真” の続きを読む

AIの片隅で(20) Kendryte K210がくる

JosephHalfmoon

別シリーズで、「M5StickV+出してくだされ、私は待っておりますで」などと書いてしまいましたが、結局、待ちきれなくなって買ってしまいました。

M5StickV

Kendryte K210 SoCプロセッサ搭載機、CPUはRISC-V、そしてEdge AI向けのNeural Network Processor(KPU)搭載であります。しびれるスペックだな。

“AIの片隅で(20) Kendryte K210がくる” の続きを読む

AIの片隅で(19) CuPy、NumPy、単精度、倍精度

前回の投稿でChainer開発終わって寂しい件を書かせていただきました。しかし、CuPyの方は開発を益々?継続のようであります。そういえば、Chainerの裏でCuPyが動いているのは知っていましたが、直接使ってみたことってなかったかも。それにちょっと気になるのがNumPyと凄く互換性が高く見えるけれど、「所詮」CPUとGPUの違いあり、精度の違いなどどう処理されているのでしょうか。とりあえずやってみました。 “AIの片隅で(19) CuPy、NumPy、単精度、倍精度” の続きを読む

AIの片隅で(18) Chainer、開発の終わり

12月5日づけで、ちょっとショックなプレスリリースが出てました。日本を代表するAI(人口知能の方、最近投稿に頻発しておりますAugumentation Indexではありませぬ)ベンチャー企業であるPreferred Networksさんの以下のプレスリリースであります。

Preferred Networks、深層学習の研究開発基盤をPyTorchに移行

“AIの片隅で(18) Chainer、開発の終わり” の続きを読む

AIの片隅で(17) n,c,h,w,k,p,q,u,v,r,s なんのこっちゃ?

前回、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の片隅で(16) block, thread, warp, lane

AIをタイトルにしながら、低レベルな話ばかり書いていますが、それもこれも

Jetson Nano

は、AIネタと決めたからなんであります。先は長いですが、やっていく先にはAIにもつながりましょう。さて、月曜日に cuda-gdb でハマった話を投稿いたしましたが、デバッガが立ち上がったところでおしまいになってました。CUDA用のデバッガらしい話題皆無。というわけで今回は、実際にcuda-gdbを動かして、CUDAのサンプルプログラムの中身をのぞいてみます。 “AIの片隅で(16) block, thread, warp, lane” の続きを読む

AIの片隅で(15) nvccとgprof, oprofile

前回はJetson nano上で nvprof を使い、GPU実行部分のプロファイリングをちょっとだけ触ってみました。しかし、本来はCPU部分のプロファイリングもできる筈の nvprofですが、このプラットフォームではCPUのプロファイリングは駄目だと警告がでます。そこで、CPU部分のプロファイリングについては nvcc生成のCUDA使用の実行ファイルを、定番のgprof と oprofile の2つでプロファイリングしてみました。 “AIの片隅で(15) nvccとgprof, oprofile” の続きを読む

AIの片隅で(14) Jetson Nano、nvprof

Jetson Nanoを使っていくために、大事な

/usr/local/cuda (私の環境では実体は /usr/local/cuda-10.0)

の中のコマンドなどについて順に実際に動かして確かめておこうと思い立ちました。一番といえばやはり nvcc でしょうが、サンプルプログラムをコンパイルするのに既に使っているし、かといってその機能を網羅しようとしたりすればどれだけかかるか分かりません。今回は、使う人は使うけれども、使わない人は使わないんじゃないかと想像する、

nvprof

から動かしてみることにいたしました。コマンドラインのcuda用プロファイラですね。

“AIの片隅で(14) Jetson Nano、nvprof” の続きを読む