tkato’s blog

ブログ名は暫定。

DistillerでDeepLearningのモデルを軽量化: Gradual Pruning編

DeepLearningのモデル軽量化の気になっていたライブラリを使ってみました。今回はざっくりと導入の仕方と簡単な使い方、ライブラリの仕組みなどを調べた内容を書きたいと思います。はじめて使う人のガイドになればと思います。IntelのNeural Network Distill…

NNablaでDQN書いてる(途中)

Sonyが公開したDLフレームワーク「NNabla」で何か書いてみようかと思い、Mnih et al., 2015のDQN(Deep Q-Network)を実装してみた。 ソースは以下。 ただし、現在学習中で結果を見れていないため、ソースにはバグがあるかも。 github.com NNablaは初めて使う…

MacでNNabla使うためにDockerの設定した

macでNNablaを使った開発したいが、公式にはMacは現在対応中の様子。 ここ数年はmacで手軽にLinux環境導入する手段としてDockerが流行ってるらしく、またNNabla公式もDockerfileを公開している。 そのため、今回はDockerを使ってNNablaの環境構築してみる。 …

RustのLT会! Rust入門者の集い #3 に行ってきました

Rust LT会 Rustを初めて知って、興味を持ったのは今年の4月くらいだろうか?? Rustドキュメントを読んだところ、組み込みシステムでも十分使えそうだし、今現場で感じる課題を解決できそうな技術要素を沢山含んでるなあと思ったのでせこせこ調べてます。 …

SonyのDNNフレームワーク"NNabla"を調べてみた

SonyがNNablaというDeepLearningフレームワークを公開しました*1。 興味があったので、ドキュメントとソースを読みながら、全体を眺めてみました。 よく見ると標準でBinaryConnectのサポートやBinary Neural Network(BNN)のサンプルがあったり、興味深いです…

アドテク x golang勉強会 -オレシカナイトvol.2- に参加してきました

アドテク x golang勉強会 -オレシカナイトvol.2- に参加してきました サイバーエージェントが運営するメディアの広告部門である「MDH」のエンジニアが、新規技術に挑戦するにあたって踏んできた地雷を皆様に共有する勉強会です。前回に続き第2回目の開催と…

第26回 全脳アーキテクチャ若手の会 勉強会 「バイナリーニューラルネットとハードウェアの関係」に参加してきました

第26回 全脳アーキテクチャ若手の会 勉強会 「バイナリーニューラルネットとハードウェアの関係」に参加してきました。 wbawakate.connpass.com 当日の資料は公開されています。 バイナリニューラルネットとハードウェアの関係 from Kento Tajiri www.sl…

Deep Learning Lab コミュニティ キックオフ 参加報告

Deep Learning Lab コミュニティ キックオフに参加してきました。 dllab.connpass.com 午前だけ有給取得して参加しました。 午後から仕事の予定だったので、懇親会は早々に切り上げてきました。 しかし、色々あって午後も休暇を頂いたので、気持ちが冷めない…

BNN-PYNQを理解する(3) ハードウェア概要・実装

BNN-PYNQのハードウェアの概要・実装、ソフトウェアのシーケンスなど更新しました。 (追記5/21 上記の更新したつもりができていませんでした。本日更新しました) https://tkat0.github.io/study-BNN-PYNQ/ 論文とアクセラレータ側の実装を読みつつ、概要か…

BNN-PYNQを理解する(2) ソフトウェア全体像

今回は、BNN-PYNQのソフトウェアの構成をざっくり図にしてみました。 詳細は、以下にて。 https://tkat0.github.io/study-BNN-PYNQ/ BNN-PYNQについては、今後は上記でまとめていきたいと思います。 理由としては、 ブログより単一のサイトとしてまとまって…

BNN-PYNQを理解する(1) FAQ

3月以降、仕事が激しくなり、余暇もほとんど仕事に関わる分野の勉強に当てていました。 以下の5/20のイベント出席に向けて、DeepLearning x FPGAの勉強を再開しました。 「PYNQ祭り」延長戦 : FPGAディープラーニング実践懇親会 - connpass まずは、手近な勉…

BNN-PYNQをリビルドする

本日3/7、XilinxがPYNQで動くBinarized Neural Network (BNN)の実装を公開しました。 DeepLearnigのアルゴリズムをFPGAにオフロードしたい人にとっては、とても良い勉強材料になると思います。 リポジトリ公開当初は、Pythonで共有ライブラリをキックする部…

SDSoC 2015.4でPYNQのOverlayを開発する(3)

SDSoC 2015.4でPYNQの簡単にプラットフォームを作る話です。次はSWプラットフォームの作成。 これはAdam Taylor氏の以下のブログのやり方をそのままやりました。ビルド済みのカーネルをそのままコピーし、自分ではなにもしないので簡単。 forums.xilinx.com …

SDSoC 2015.4でPYNQのOverlayを開発する(2)

SDSoC 2015.4でPYNQの簡単にプラットフォームを作る話です。まずはHWプラットフォームの作成。 前回のまとめ 現時点でリリースされているPYNQのROMはSDSoC 2015.4でビルドされたライブラリを含むため、それ以外のSDSoCのバージョンを使う場合は、Linuxカーネ…

SDSoC 2015.4でPYNQのOverlayを開発する(1)

ブログを始めてみました。 この記事は、SDSoC 2015.4でPYNQ向けの環境構築〜開発を行うまでをまとめていくものです。 PYNQとSDSoCは相性が良いです。Cで書いたハードウェアアルゴリズムを高位合成し、それを簡単にPythonから呼び出すことができました。高位…