FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2017-06-01から1ヶ月間の記事一覧

フルスクラッチからC言語で作るニューラルネットワーク (6. MNIST 誤差逆伝搬法の実装)

前回まででデータ処理部のバッチ処理化まで完了したので、学習のための誤差逆伝搬法をC言語で実装する。 今回も、Pythonでの実装を参考にしながら、逐次データを抽出して、計算結果を合わせ込んで実装していく。 まずは、各処理についてどのような行列演算が…

ニューラルネットワーク C言語での実装 (5. バッチサイズの導入)

ニューラルネットワークを1からC言語で記述してMNISTを動作させるプロジェクト、次はバッチサイズを導入して一度に複数の画像を処理できるように拡張する。 バッチサイズを導入する前、つまり機能の時点でのネットワークの構成は、以下のようになっていた。…

ニューラルネットワーク C/C++の実装 (4. Python環境からパラメータを引っ張ってくる)

ニューラルネットワークを1からC/C++で記述してMNISTを動作させてみる話、実装のどこが間違っているのか分からないので、Pythonの実装で重み部分を抽出し、パラメータをそのまま当てはめて検算していく。 前回Pythonからパラメータを抽出するプログラムは抽…

CARRV 2017: Computer Architecture Research with RISC-V

First Workshop on Computer Architecture Research with RISC-V (CARRV 2017) RISC-Vのワークショップはこれまでにいくつも開催されており、最近の開催ではちょうど5月に開催された、6th RISC-V Workshop in 上海だった。 これまでのRISC-Vワークショップは…

ニューラルネットワーク C/C++実装の検討(3. 学習済みデータでのネットワーク確認)

ニューラルネットワークを1からC/C++で記述してMNISTを実行してみるプロジェクト、なかなかうまく行かない。 学習のフェーズはとりあえず置いておいて、学習済みのパラメータを使ってネットワークに初期値を入力し、どのように計算されるかチェックしている…

Interface8月号購入

先月号はスキップしたけど、今月号は買ってしまった。 Raspberry-Pi3は持っているので、試してみなければ。 Interface(インターフェース) 2017年 08 月号出版社/メーカー: CQ出版発売日: 2017/06/24メディア: 雑誌この商品を含むブログを見る

DAC(Design Automation Conference) のRISC-V発表資料

DAC(Design Automation Conference)で、RISC-Vの発表が行われたようだ。MLで発表資料が流れてきている。 VectorBloxというカナダの組み込みプロセッサの会社の発表だ。 DAC presentation slides (survey results on RISC V implementations) Google グループ…

ニューラルネットワーク C/C++ 実装の検討 (2. MNISTのロード)

MNISTのデータは一般に誰でも手に入れることができる。 TensorFlowやCNTK, 「ゼロから作るディープラーニング」の書籍などでは、インターネットからMNISTのデータを直接ロードしてくる手法が用意されており、初心者でも簡単にMNISTを試すことができるような…

ニューラルネットワーク C/C++実装の検討 1.

前回までで、「機械学習と深層学習」をやり切ったのだが、これを使っていろんなことをやってみたい。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)この商…

「深層学習と機械学習 《C言語によるシミュレーション》」を読了

ディープラーニングだけではない内容。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る 「機械学習と深層学習」をとりあ…

「機械学習と深層学習」をやってみる(7. 深層学習: 畳み込みニューラルネットワーク)

「機械学習と深層学習」をやってみる。今回は第5章の深層学習のうち、畳み込みニューラルネットワークを実践してみる。 深層学習、いわゆるディープラーニングは、これまでのニューラルネットワークの階層をより深くしたものだが、以下の問題がある。 複雑な…

CNTK 2.0 のチュートリアル試行: CNTK 101 Logistic Regression and ML Primer

CNTK 2.0について勉強する。CNTKはTensorFlowと同様にチュートリアルが用意されており、これを進めていくことにしよう。 まずは、Logistic Regression(回帰分析)をCNTKのニューラルネットワークで構成し、回帰分析を学習してみる。 https://github.com/Micro…

「機械学習と深層学習」をやってみる(6. バックプロパゲーション)

「機械学習と深層学習」をやってみる。今回はニューラルネットワークにおけるバックプロパゲーションだ。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)こ…

「機械学習と深層学習」をやってみる(5. ニューラルネットワーク)

「機械学習と深層学習」の書籍をやってみる。今回は第4章のニューラルネットワークの部分。ニューラルネットワーク自体はこれまでも勉強したので特に目新しいことはない。 目新しいことといえばC言語による実装くらいかなー。といっても配列を乗算しているだ…

「機械学習と深層学習」をやってみる(5. 進化的手法)

「機械学習と深層学習」の続きをやる。今回は3.2章の進化的手法、いわゆる遺伝的アルゴリズムというものだ。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)…

Hybrid Memory Cubeのオープンソースコントローラ実装OpenHMC

www.nextplatform.com The Next Platformの記事、HMC(Hybrid Memory Cube)という言葉を久しぶりに聞いた。 japanese.engadget.com Hybrid Memory Cube(HMC)は次世代のメモリ規格であり、DDR3よりもより高性能、低消費電力を達成することのできる規格として立…

CNTK 2.0のBrainScriptを使用できるようにするための環境構築

CNTK 2.0のインストール方法は複数存在する。まず、一見簡単そうに見える、pipを使ったインストール、そして、スクリプトを使ってセットアップファイルをダウンロードしてインストールする方式だ。 pipを使ったインストール方法は簡単なのだが、Pythonインタ…

「機械学習と深層学習」をやってみる(4. 蟻コロニー最適化法)

「機械学習と深層学習」の書籍を引き続きやってみる。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る 今回は3.1章の蟻コ…

「機械学習と深層学習」をやってみる(3. Q強化学習)

「機械学習と深層学習」の書籍を引き続きやってみる。今回は2.2節のQ強化学習をやってみた。 機械学習と深層学習 ―C言語によるシミュレーション―作者: 小高知宏出版社/メーカー: オーム社発売日: 2016/05/21メディア: 単行本(ソフトカバー)この商品を含む…

Microsoft CNTK 2.0のチュートリアル試行 (SimpleMNIST.py)

CNTK 2.0にも、フィードフォワードのMNISTのサンプルが乗っている。これを試行して、中身を可能な限り理解してみよう。 まず、MNISTのデータセットを取得する必要があるのだが、これは以下のチュートリアルに則る。 github.com cd Examples/Image/Classifica…

「機械学習と深層学習」をやってみる(2. 帰納学習)

機械学習と深層学習の書籍を読んでソースコードの実験をしてみる。第2章「機械学習の基礎」、2.1「帰納学習」について、ソースコードを見ながらトライした。 今回から、理解したことスライドにまとめてアップロードしていくことにした。 今回は帰納学習とい…

7th RISC-V Workshopは11/28-11/30でカリフォルニア開催です

RISC-V 6th workshopはNVIDIA@上海で無事に終了したが、さっそく次のWorkshopのアナウンスが出ている。次はWestern Digital@カリフォルニアミルピタス とのことだ。 開催日は2017/11/28 - 11/30 だ。 Western Digitalといえば日本の某フラッシュメモリメー…

VivadoでIPを生成するフローをスクリプト化する

Vivadoでは様々なIPを生成することが出来るが、それはIP GeneratorによってGUIで様々な操作を行う必要がある。 これは面倒なので、スクリプト化しておく。 github.com VivadoのIPは、まずIP用のプロジェクトを作成する必要があるため、スクリプトは以下のデ…

Microsoft CNTK 2.0のチュートリアル試行 (FeedForwardNet.py)

CNTKの使い方を勉強しているが、どうも上手く行かない。やはりユーザが少ないからか、きちんとフィードバックがかかっていない気がするな。 CNTK 2.0からはPythonインタフェースが利用できるようになった。Pythonインタフェースでは、TensorFlowと同様にネッ…

Microsoft CNTK 2.0がリリース (インストール試行)

TensorFlowばかりで余り目立っていないが、Microsoftの機械学習ツールキットのCNTKのv2.0がリリースされた。 CNTKって、Cognitive Toolkitの略称なのか。初めて知った気がする。 The Microsoft Cognitive Toolkit | Microsoft Docs CNTKが最初にリリースされ…

Raspberry-Pi3でTensorFlowをコンパイルして動作させるまで

以下を参考にする。 qiita.com Raspibianのインストール 以下から、NOOBSのフルインストーラ版をダウンロードした。 https://www.raspberrypi.org/downloads/noobs/ 以下のような画面が現れて、Raspberry-Pi3用のLinuxであるRaspbianのインストールが始まる…

Raspberry-Pi3のセットアップ (Android Things編)

こちらもRaspberry-Pi3。Android Thingsのセットアップをしておく。 https://developer.android.com/things/preview/download.html androidthings_rpi3_devpreview_3.zip を解凍すると、iot_rp3.imgが出てくるので、これをSDカードに書けばよいのか。 Androi…

Raspberry-Pi3のセットアップ (Windows IoT編)

ひょんなことからRaspberry-Pi3を購入したのでセットアップしたいと思う。 https://www.raspberrypi.org/downloads/ から、Windows 10 IoT Coreを選択した。 “Select Your Hardware” で “Raspberry Pi 3"を選択した。 その後現れる"Select your installation…

「ゼロから作るDeep Learning」を読了

もう一度、腰を据えてじっくり読みたい気がするね。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (…

yuki-sato.comの「LinuxからFPGAを使ってみる」をやってみる (ZedBoard版 #10)

最後はいよいよユーザアプリケーションの作成となる。 /proc/myled経由でZedBoardのLEDが制御できるようになったので、アプリケーションを作成する。 LEDを制御するユーザアプリケーションの作成 以下のページを参考にして、LEDを制御するアプリケーションを…