FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages/

TensorFlow

TensorFlow+Kerasに入門(9. Keras2のMNISTサンプルに対応)

Keras2の簡単な例題モデルとしてこれまではCIFAR-10を使っていたが、一応MNISTも対応しておきたい。 Keras2のmnist_cnn.pyが動作するように対応を実施した。 結論から言うと機能が足りておらずすぐには動作しなかった。keras2cppにいろいろと機能を追加した…

TensorFlow+Kerasに入門(8. RISC-V Spike ISS でkeras2cppを動作させる)

前回まででx86上でのkeras2cppの改造はひとまず完成したので、とりあえず目的のRISC-Vアーキテクチャへの移植を行ってみたい。 移植と言っても、GCCのターゲットを変えてリコンパイルするだけである。 あとはRISC-VのISSであるSpikeで動作させるだけだ。 run…

TensorFlow+Kerasに入門(7. Keras2cppをimage_data_formatに対応させる)

Keras2cppを使ってKerasのモデルをC++のコードに変換したのだが、まだ問題がある。デフォルトの画像データフォーマットである image_data_format = channels_last に対応していないことだ。 バックエンド - Keras Documentation これにより、画像データをデ…

TensorFlow+Kerasに入門(6. keras2cppによるC++でのCIFAR10推論実行)

keras2cppのコードを解析していき、いくつかkeras2cppのコードがKeras2に合っていない部分を発見した。 前提条件 今回はkeras2cppの実装にある程度合わせるため、input_image_formatをchannel_firstに設定している。 これは${HOME}/.keras/keras.jsonで設定…

TensorFlow+Kerasに入門(5. keras2cppによる推論の試行→失敗の解析)

FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが... TensorFlow+KerasでCifar10を学習するサンプルプログラムを実行して…

TensorFlow+Kerasに入門(4. Keras2のConvolution2DとConv2Dの違い?)

FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが... TensorFlow+KerasでCifar10を学習するサンプルプログラムを実行して…

TensorFlow+Kerasに入門(3. Keras2cppでCIFAR10のモデルを変換してみる)

FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが... TensorFlow+KerasでCifar10を学習するサンプルプログラムを実行して…

TensorFlow+Kerasに入門(2. Keras2cppを試行)

FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが... 前回でKerasでMNISTの学習ができるようになったので、次はモデルをJS…

TensorFlow+Kerasに入門(1. 環境構築+サンプルコード実行)

FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが... 参考記事 TensorFlow + Kerasを使ってみた GitHub : yampy / machine…

GPU対応TensorFlowをWindowsにインストールする方法まとめ(試行錯誤した結果)

ずいぶん昔の話だが、TensorFlowがWindowsに対応した。どうやらコマンドプロンプト経由でインストールする形式のようだ。 今回初めてTensorFlowをWindowsに導入してみたので、その手順を記録しておく。 msys2経由でのWindows版TensorFlowは難しい(不可能だっ…

Bash on WindowsでTensorFlowを動作させる

以前、Bash on Windowsのβ版でTensorFlowを動作させるテストをした。 このときはうまく動作しなかったのだが、Bash on Windowsが実リリースされた今、インストールは出来るようになっているだろうか? msyksphinz.hatenablog.com Bash on Windowsのインスト…

Vagrant上のLinuxでTensorBoardを起動する

これまでTensorFlowを使ったことはあっても、TensorBoardを使ったことはなかった。なぜならば、僕の環境は基本的にVagrant上で動作しており、CUIがベースとなっている。 TensorBoardを使うためにはXをフォワードする必要があり、面倒だなと思って使っていな…

SyntaxNetを使って日本語の構文解析にトライ(2. 日本語文章のトレーニング)

前回、サンプルの日本語のトレーニングが終了したので、今度は通常の日本語を入力して、上手く解析できるか挑戦してみる。 msyksphinz.hatenablog.com 例えば、以下のような日本語を解析してみる。SyntaxNetでは、日本語の入力ではCONLL形式での入力が必須(o…

SyntaxNetを使って日本語の構文解析にトライ(1. サンプルCONLLデータのトレーニング)

SyntaxNetを使ったチュートリアルで、おおよそSyntaxNetへの学習のさせ方が分かってきた(ただしコマンドを並べているだけだけど...)。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com ここまで来たら、どうにかして日本語の構文を学習させてみたい。U…

SyntaxNetを使った構文解析のチュートリアルに挑戦(2)

前回に続き、今度は実際にチュートリアルを使用して構文解析に挑戦する。 英単語のタグ付けまでが完了しており、その時のモデルパラメータは128-0.08-3600-0.9-1として登録してある。 まずはローカルトレーニングだ。ローカルトレーニングは、以下のコマンド…

SyntaxNetを使った構文解析のチュートリアルに挑戦

SyntaxNetを使い、英文の各単語にタグ付けを行うところまで完了した。これにより、サンプルの英文に対して、各単語がどのような意味を持つのか(名詞、動詞など)を解析し、表示できるようになった。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com msy…

SyntaxNetで学習させたモデルを使って英文の文法識別に挑戦

前回で、SyntaxNetを用いた文法の学習と、簡単なテストは完了した。 msyksphinz.hatenablog.com これ、普通のテキストを入力して学習させることは可能だろうか?挑戦してみよう。 前回使った、トレーニングのモデルを応用すれば簡単に実現できそうな気がする…

Googleの言語構文解析ツールSyntaxNetを試行(ツールの改造と学習試行)

msyksphinz.hatenablog.com 前回の続き。 前回は、一応インストールが完了し、基本的な学習方法を調査したのだが、実際に試行してみるとエラーが出てきたのだった。 1. カテゴリ分類時のエラーを除去するための再ビルド エラーとなったのは、学習対象の Univ…

Googleの言語構文解析ツールSyntaxNetを試行(CONLLの理解)

前回はSyntaxNetを使って何か構文解析を試行しようとして、上手くいかなくて終了したのだった。 msyksphinz.hatenablog.com よくよく読んでみると、CONLLというフォーマットの資料を利用して構文解析ツールのトレーニングをしてやる必要があるらしい。 CONLL…

Googleの言語構文解析ツールSyntaxNetを試行(チュートリアルを試行したが上手くいかない)

前回はSyntaxNetのインストールと最初の試行で終了したが、今回は中身について簡単に見て行こう。 msyksphinz.hatenablog.com とは言っても、まだチュートリアルを完全に読了できていないので試行錯誤にはなるが。 SyntaxNetが構文解析をする仕組み チュート…

Googleの言語構文解析ツールSyntaxNetを試行(インストール)

またしてもTensorFlow系の派生形ツールが登場した。SyntaxNetというツールらしい。 いわゆる自然言語構文を解析するツールで、解析精度はGoogleいわくかなり高い。 Google Open Source Blog: Announcing SyntaxNet: The World’s Most Accurate Parser Goes O…

TensorFlow 0.8で並列分散処理がサポートされたけどマルチコア環境ではすでに並列処理で動いている

TensorFlow 0.8で、並列分散処理がサポートされるようになったとのことだ。元記事を読んでいてもふわっとしていていてよく分からないのだが、どうやら大規模分散環境で並列処理ができるようになったらしい。 あれ?というかもともとTensorFlowって並列処理は…

Hyper-V上のUbuntuにTensorFlowのインストール

Hyper-VにUbuntuをインストールし、GUIが嫌いなので基本的にCygwin上からSSHでアクセスできるように設定したい。 それにしても、Hyper-Vが導入したいからWindows10にバージョンアップしたとは言え、、、この重さはなんなんだ。。。メモリも馬鹿食いだし、あ…

Ubuntu on ZedBoardにTensorFlowインストールに挑戦(Nano版を使う)

前回の続きだが、今回はより小さなパッケージであるNanoを利用してコンパイルに挑戦した。 Linaro Releases 結果としては失敗だったのだが、一応記録として残しておこう。 msyksphinz.hatenablog.com 1. ネットワークの立ち上げ 下記のサイトに説明があると…

Ubuntu on ZedBoardにTensorFlowをインストールして夢を見たい(と思い奮闘中)

Ubuntu on ZedBoard、コンソールが出るところまで到達し、とても感動している。さて、コンソールが出たら今度は何をやろう(ちゃんとGUIを立ち上げろ、というところではあるが)。 という訳で、最近流行りのTensorFlowだって、Ubuntuが動作しているんだからイ…

TensorFlow Serving実行環境をVagrantで構築する(Pythonのバージョンで引っ掛かる部分)

前回のTensorFlow ServingをVagrantで自動的に構築する話、もう一度自分でやってみると、いろんな部分で動作しない部分があった。bazelとか、grpcとかのバージョンはいろいろ注意深くやらなければならない。 特にPythonのバージョンで引掛った。Ubuntuのバー…

TensorFlow Servingのチュートリアルを翻訳してMNISTにトライ

TensorFlow Serving、思ったより騒がれてませんね(笑)まあ、API群というか、機械学習本体ではなく、その外部の話なので、ちょっと話題性は低いのかもしれない。 とはいえ、TensorFlow Servingを使ったチュートリアルもしっかり公開されている。今回は、そ…

TensorFlow Servingが公開されたのでVagrantで環境の自動構築に挑戦

毎度のネタである。最近はCNTKばかりやっていたのだが、TensorFlowにも新しい話題が上がってきた。TensorFlowを使うためのフレームワーク、というかTensorFlowを内包するアプリケーションを開発するためのフレームワークが公開されたようだ。その名をTensorF…

TensorFlowを使ってk平均法を実装する

さて、機械学習理論入門の続きだ。次は、k平均法について勉強しよう。 k平均法は、データの集合をいくつかの部分集合にクラスタリングするアルゴリズムだ。このとき、パーセプトロンのように、教師データ(つまり、答え)がある訳ではなく、教師データが無い中…

TensorFlowを使って分類アルゴリズムを実装する

ITエンジニアのための機械学習理論入門作者: 中井悦司出版社/メーカー: 技術評論社発売日: 2015/10/17メディア: 単行本(ソフトカバー)この商品を含むブログを見る 機械学習の次の分野として、分類アルゴリズムの勉強をしてみよう。分類アルゴリズムの中で…