RustのBurnを使用してCNN実装してみた
2025-04-04
azblob://2025/04/15/eyecatch/2025-04-04-implement-cnn-rust-burn-000.jpeg

初めに

はじめまして、2025年入社の相島 和貴(あいしま かずき)です。

最近Rustを使っていなかったので今回のブログを書くと同時に勉強再開していきます。

この記事ではRustのAIフレームワークであるBurnを使用してCNNのハンズオンについて話していきます。

軽く自己紹介

出身は佐賀県で、中学卒業後は沖縄高専で5年過ごしました。

学生時代は、毎年コンテストや大会に2回ほど出場しており、年々開発スキルを高める日々を過ごしていました。

その中で高専4年生になった初めにFIXERのAIのイベントが気になってその後インターンも参加し、入社まで結びつきました。

なぜBurn?

RustのAI/MLフレームワークについてはcandleやtchなどがありますが、BurnではTorchライクな書き方でWebGPUに対応しており、学習率やlossなどをTUI(ターミナル上)で表示してくれます。

高い柔軟性や計算効率に加え、TorchやONNX、Tensorモデルからの移植性が高いものとなっており、Pytorchなどを触っていた身からすると学習しやすいものだったのでハンズオン記事にしたいと思いました。

実装

今回実装するコードはBurnの公式がGitHubで公開しているcustom-image-datasetを使用していきます。

データセットはcifar10を使用しており、今回はVGGというシンプルなCNNを実装してあります。

実行画面

Burnの特徴的な部分なのですが実行を行うとTUI上にAccuracyなどを表示してくれます。

まとめ

今回は軽い自己紹介と今私が学習しているRustについて記事を書いていきました。

PythonのPytorchやTensorflowなどではAccuracyなどはplotしなければ表示してくれませんが、RustのBurnでは標準で対応してくれるのでちょっと面白いですね。

今後も面白そうな技術・フレームワークについて書いていこうと思います。

azblob://2025/04/07/eyecatch/2025-04-04-Introduction-hobbies-AI-IoT-cat-000.jpg
2025/04/08
AI/Machine Learning