AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。また、はてなブログのブログをカスタマイズした方法についても、詳しく書いています。
今日 | 06/01 | 05/31 | 05/30 | 05/29 | 05/28 | 05/27 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(IN) | 22,939位 | 22,939位 | 22,960位 | 22,891位 | 22,859位 | 22,787位 | 22,724位 | 1,035,033サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 110 | 1,050 | 1,360 | 1,440 | 1,550 | 1,940 | 1,840 | 9,290/週 |
IT技術ブログ | 80位 | 80位 | 81位 | 79位 | 78位 | 77位 | 77位 | 9,786サイト |
ソフトウェア | 8位 | 8位 | 8位 | 8位 | 8位 | 7位 | 6位 | 591サイト |
Linux | 5位 | 5位 | 5位 | 5位 | 5位 | 5位 | 5位 | 207サイト |
ホームページ・サイト制作支援 | 3位 | 3位 | 4位 | 4位 | 3位 | 4位 | 4位 | 331サイト |
今日 | 06/01 | 05/31 | 05/30 | 05/29 | 05/28 | 05/27 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(OUT) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,035,033サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 110 | 1,050 | 1,360 | 1,440 | 1,550 | 1,940 | 1,840 | 9,290/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,786サイト |
ソフトウェア | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 591サイト |
Linux | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 207サイト |
ホームページ・サイト制作支援 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 331サイト |
今日 | 06/01 | 05/31 | 05/30 | 05/29 | 05/28 | 05/27 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(PV) | 2,287位 | 2,346位 | 2,328位 | 2,273位 | 2,224位 | 2,203位 | 2,292位 | 1,035,033サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 110 | 1,050 | 1,360 | 1,440 | 1,550 | 1,940 | 1,840 | 9,290/週 |
IT技術ブログ | 22位 | 21位 | 20位 | 20位 | 18位 | 17位 | 20位 | 9,786サイト |
ソフトウェア | 3位 | 3位 | 3位 | 3位 | 3位 | 3位 | 3位 | 591サイト |
Linux | 3位 | 3位 | 3位 | 3位 | 3位 | 3位 | 3位 | 207サイト |
ホームページ・サイト制作支援 | 1位 | 1位 | 1位 | 1位 | 1位 | 1位 | 1位 | 331サイト |
量子化の3回目です! Googleが2017年12月にarXivに登録した論文の「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」の続きで、今回は 3章の予定でしたが、2章に関係が深い Appendix を先に読んでいきます。
gemmlowpライブラリのソースコードをデバッガを使って理解する
今回もAIの量子化について学んでいきます。GoogleのQAT量子化の論文 に出てくる gemmlowp ライブラリ について見ていきます。 前回は、gemmlowp の サンプルコード(doc/quantization_example.cc)を実行しました。長い実行ログが出力されて、その内容は量子化計算のチュートリアルのようになっていたので、その説明をしました。 今回は、実行結果のログだけでは十分に理解できなかった部分を、デバッガを使って、実行結果とソースコードを見ながら、理解を深めていきます。 それでは、やっていきます!
gemmlowpライブラリのソースコードを読んで量子化を学ぶ(サンプルソースの実行)
今回もAIの量子化について学んでいきます。GoogleのQAT量子化の論文 に出てくる gemmlowp ライブラリ について見ていきます。 それでは、やっていきます!
前回は、だいぶ苦労して、QEMU をソースからビルドしました。 今回は、QEMU のソースコードを変更して、STM32 の動作を変えてみます。 それでは、やっていきます。
前回は、QEMU のビルドに必要な xpm について学びました。 今回は、QEMU をビルドしていきます。途中でエラーが出ますが、そこを解決していきたいと思います。 それでは、やっていきます。
QEMUのビルドに必要なxpm(xPack Project Manager)について学ぶ
前回は、バイナリファイル(デバッグ情報、シンボル情報が削除される)から再構築した ELFファイルを QEMU (ターゲットは STM32F4-Discovery)で動かしました。 今回は、QEMU をビルドして動かす予定でしたが、やってみるとビルドエラーになりました。簡単にはエラーを解決できなかったので、QEMU のビルドの仕組みの xpm を理解していきます。 それでは、やっていきます。
STM32(ARM Cortex-M)のバイナリから構築したELFファイルをQEMUで動かす
前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたELFファイルをバイナリファイル(デバッグ情報、シンボル情報が削除される)に変換して、そのバイナリファイルでELFファイルを再構築しました。 今回は、そのELFファイル(デバッグ情報、シンボル情報なし)を QEMU で動かしていきたいと思います。 それでは、やっていきます。
STM32(ARM Cortex-M)のELFファイル⇔バイナリの変換を行う
前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたELFファイルの内容を確認しました。 今回は、このELFファイルをバイナリファイルに変換して、デバッグ情報、シンボル情報を削除して、そこから、ELFファイルを再構築していきたいと思います。 それでは、やっていきます。
STM32(ARM Cortex-M)のELFファイルの内容を確認する
前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのリンカスクリプトの内容を確認しました。 今回は、これまで使ってきたサンプルソースをビルドして生成された ELFファイル の内容を見ていきたいと思います。 それでは、やっていきます。
STM32(ARM Cortex-M)をQEMUで動かす(リンカスクリプト編)
前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのスタートアップルーチンの内容を確認しました。 今回は、サンプルソースのリンカスクリプトの内容を確認していきます。 それでは、やっていきます。
STM32(ARM Cortex-M)をQEMUで動かす(スタートアップルーチン編)
前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのスタートアップルーチン以外の内容を確認しました。 今回は、サンプルソースのスタートアップルーチンの内容の確認と、アセンブラの動作の確認をしていきます。 それでは、やっていきます。
STM32(ARM Cortex-M)をQEMUで動かす(ソースコード確認編)
前回は、Interface 2022年 7月号 を参考にして、苦労の末、QEMU (ターゲットは STM32F4-Discovery)を立ち上げました。QEMU とは、実機が無くてもプロセッサ(CPU、評価ボード)を動かせるエミュレータです。 今回は、動作させたサンプルソースの内容の確認と、機能の確認をしていきます。 それでは、やっていきます。
STM32(ARM Cortex-M)をQEMUで動かす(環境構築編)
今回から QEMU をやっていきます。QEMU とは、実機が無くてもプロセッサ(CPU、評価ボード)を動かせるエミュレータです。 現在は、QEMU は、Linux を動かすことが多いようですが、私自身が QEMU の経験が少ないので、まずはマイコンをターゲットにしてやっていきます。 ターゲットとするマイコンは、Interface 2022年 7月号 で扱っていた STM32F4-Discovery にしたいと思います。 結論としては、無事に動きました。だいぶ苦労したので、手順としてまとめておきます。
IntelliJを使ってJavaのGradleプロジェクトでデバッグしてみる(Ubuntu22.04)
前回、Gradleというビルドツールでプロジェクトを作って、「Hello, world.」までやりました。 今回は、そのプロジェクトを IntelliJ に読み込ませてデバッグするところまでやりたいと思います。 それではやっていきます!
Javaでデザインパターンを学ぶ:Prototypeパターン
Javaによるデザインパターンの9回目です! 今回も教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」のサンプルコードを使わせて頂きます。 今回は、Prototypeパターンです。 では、やっていきましょう!
GradleでJavaプロジェクトを作ってみる(Ubuntu22.04)
今回は、Java向けのビルドツールである Gradle を使ってみます。 Java用、もしくは、Javaに使えるビルドツールとして、Make、Ant、Mavenなどがありますが、最近は Gradle がよく使われています。 名前も Gradle(グレードル)が一番かっこいいですし、読み方も明らかでいいですね。Mavenは、メイバンと読むと思ってたんですけど、日本の方はメイブンとかメイベンとか呼んでますね。海外の方のYouTube見ると、メイバンとメイベンの中間ぐらいに聞こえます。 あと、Gradle のロゴも特徴的で良いデザインだと思います!(アイキャッチ画像に使わせてもらいました) 今回は、…
「量子化の論文を読む」の2回目です! Googleが2017年12月にarXivに登録した論文の「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」の続きで、今回は2章を読んでいきます。
Raspberry Pi 4のTensorFlow Lite C++をVSCodeでリモートデバッグする
今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、TensorFlow Lite C++ の動作を見るために、デバッグ環境を立ち上げたいと思います。 前回は、TensorFlow Lite の C++ で、量子化モデルを動かしました。何が実行されてるか分からなかったので、ソースコードを見ていきます。ソースを追うだけで理解するのは難しいので、デバッグ環境を立ち上げて、動かしながら理解していきます。 Raspberry Pi 上で動作するプログラムのデバッグ環境としては、VSCode のリモートデバッグを使います。さらに、今回は、CMake環境のデバッグということで、そ…
TensorFlow Lite C++で量子化モデルをRaspberry Pi 4で動かす
今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、実際に量子化モデルを動かして、推論の高速化を実感したいと思います。 前回は、Python の tflite-runtime をインストールして実行しましたが、今回は、C++でやっていきます。手順通りにやれば、必ず同じことが出来るように、環境構築、ビルド、実行の手順を書いていきます。 それでは、やっていきます!
TensorFlow Lite Pythonで量子化モデルをRaspberry Pi 4で動かす
今回もAIの量子化について学んでいきます。論文を読むことは継続しつつ、今回は、実際に量子化モデルを動かして、推論の高速化を実感したいと思います。 まずは、VirtualBox の Ubuntu 22.04 で動かしていきますが、TensorFlow Lite は、ARM CPU に最適化されていると思うので、性能が出ないかもしれません。その後、Raspberry Pi 4(Raspberry Pi OS)でも動かしていきます。 それでは、やっていきます!
「ブログリーダー」を活用して、daisukeさんをフォローしませんか?