FPGA開発日記

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

2015-11-01から1ヶ月間の記事一覧

TensorFlowで画像を処理するための調査(マンデルブロー集合の表示)

TensorFlowでは、いくつかの画像を処理するための機能が備わっている。これをチェックしてみよう。 やりたいこととしては、TensorFlowを使って、画像の認識をしたり、実際の画像から様々なパラメータを抽出できるようになりたい。 まずは、TensorFlowのチュ…

Vivado 2015.4 HLSを試す(C Validation and Debug)

Vivado 2015.4 のチュートリアルの続きをやっていこう。 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_2/ug871-vivado-high-level-synthesis-tutorial.pdf まずは、C Validation tutorialのディレクトリに移動し、以下のコマンドを叩…

Vivado 2015.4 HLSを試す(チュートリアル Lab.3)

Vivado HLSのチュートリアルの続きをやっていこう。Introduction Lab.3だ。 今回は、FPGAのデザインに最適になるように、インタフェースの部分を調整するらしい。 まずは、CUI上で論理合成とシミュレーションまでを一通り終わらせる。これがベースデザインと…

Vivado 2015.4 HLSを試す(チュートリアル Lab.2)

前回の続き。チュートリアルのLab.2をやっていこう。今回は、単純にtclを使って、GUIを立ち上げずに合成をするだけだ。 http://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_2/ug871-vivado-high-level-synthesis-tutorial.pdf 前回のLab.1…

Vivado HLS 2015.4を試す (チュートリアル Lab.1)

Vivado 2015.4 HLSでは、遂にHLSの機能が無償化されたらしい! 今まで触ってみたいと思いつつ、期限付きの評価ライセンスはきちんと使い切れる自信が無かったりて、申請していなかったので、今回の無償化は非常に嬉しい。さっそく試してみよう。 http://japa…

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

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

Visual Studio Codeがオープンソース化されたのでソースからビルド(しようとしたが上手く行っていない)

Visual Studio Codeがオープンソース化されたが、これをフルスクラッチでビルドした人っているのかね? ネット上で殆ど情報出てこないんだけど、成功例が見たい。Ubuntuで挑戦しているのだが、今のところ上手くいっていない。 github.com github.com まずは…

Vagrantの環境でGUIを立ち上げるための環境構築

結局やりたいことは、Vagrant上で動作しているTensorFlowなどで、GUIで結果を確認したいだけのことなんだけど、いろいろ調べて、構築するのに結構時間がかかった。 やりたいこと Vagrant上で動作しているアプリケーションは基本CUIで動作するのだが、GUIのウ…

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

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

自作ISSのRelease-6への対応を検討する(新規命令を実装する)

ISS

msyksphinz.hatenablog.com という訳で、実装した。Coremarkも完走したので、とりあえずは大丈夫かな。 github.com github.com PC操作、分岐系 addiupc align aluipc aui auipc コンパクト型分岐系 balc bc blezalc bgezalc bgtzalc bltzalc beqzalc bnezalc…

自作ISSのRelease-6への対応を検討する

ISS

自作ISSでは、MIPSのRelease-5までの基本的な命令と、RISC-Vの基本的な命令を対応させている。 浮動小数点の命令などはまだ実装していないが、まだ検証する方法が無いし、使っていないので今のところ実装してない。 Imaginationから新しいコアもリリースされ…

TensorFlowを使って多項式のフィッテイングを実装してみる(学習サンプル数と学習結果)

前回のTensorFlowのサンプルを使って、学習サンプル数と学習結果についてもうちょっと調べてみた。 msyksphinz.hatenablog.com オーバフィッティングは起こらない? 最初にやりたかったのは、10次の多項式をモデル化し、10個のサンプルを与えるだけで、オー…

TensorFlowを使って多項式のフィッティングを実装してみる

\TensorFlowを使って、サンプル値からの多項式フィッティングを実装してみよう。 参考にした例題は、以下の本に載っている最小二乗法の例だ。以下の本では、sin(2πx)+0.3の関数から10個のサンプルポイントを抽出し、0次多項式から10次多項式まで最小二乗法で…

TensorFlowによる基本的な演算についての勉強

TensorFlowについて読み進めていくと、機械学習の理論的なところが全く理解できていないことに絶望するとともに、インタフェースであるPythonについても理解が全く足りていないことが分かる。 はっきり言って、Pythonはこれまでインタプリタの肩代りとして使…

Vivado 2015.3の新機能であるCore Containerについて調査

今さらながらVivado 2015.3 をインストールして、IP Managerを立ち上げてみると、Core Containerという新機能が追加されていた。 Core Containerは、IPマネージャで管理されている各IPを、1つのファイルで管理できるようになるという構造だ。これまで複数の…

Imagination TechnologiesがMIPSのハイエンドコアプロセッサP6600を発表

imgtec.com Imagination Technologies の最新MIPS CPUコアとして64ビットのP6600、M6200、M6250が発表された。最上位のP6600は64ビットCPUコアであり、アーキテクチャリリースバージョンはついにRelease-6のコアとなった。 という訳で、これでImaginationは…

機械学習初心者がTensorFlowのホワイトペーパを読んで勉強したことをまとめる(1)

TensorFlowには、Whitepaperがあり、www.tensorflow.orgにて公開されている。 http://www.tensorflow.org/resources 機械学習について勉強するのも面白いが、こういうインフラストラクチャがどのような考え方に基いて実装されているのかを知るたために、ホワ…

xv6のソースコード: mpmainから先を追い掛ける

xv6

最近xv6のシミュレーションにあまり手をつけれていなかったが、久し振りに進化したシミュレータを使ってやってみた。 mpmain()までは追い掛けることが出来たので、mpmain以降、プロセスの切り替えなどに焦点を当ててみる。 // Common CPU setup code. static…

機械学習初心者がTensorFlowのチュートリアルを勉強して分かったことをまとめる(3)

Tensorflowとはあまり関係無いが、Softmax関数についてまだ腑に落ちないところがあるので、一生懸命本を読みながら進めている。 一番最初のMNISTを理解するために、最初のMNISTについていろいろ読み進めていこう。 Tensorflowのチュートリアルでは、input_da…

ほぼ毎日ブログを書き続けて300エントリ到達。ブログを始めて変わったこと。

このブログを始めたのは、今年の1月4日だった。始めたきっかけは、今年の目標として「一日に一つ、新しいことを学ぼう」から来ている。 一日に一つ、何を学んだか?その答えを明確にするには、「ブログ」という形で残すのが一番分かりやすいと思った。そこで…

機械学習初心者がTensorFlowのチュートリアルを勉強して分かったことをまとめる(2)

当方は機械学習の全くの初心者なので、間違ったことを書いている可能性があります。内容についての保証は致しません。 ↑むしろ、間違った理解をしてるようならば、教えて頂ければとても感謝します。 結局TensorFlowのプログラムを追い掛けならがら、ググりな…

機械学習初心者がTensorFlowのチュートリアルを勉強して分かったことをまとめる(1)

TensorFlowのチュートリアルが面白そうなので、少しずつやっていって、分かったことをまとめていこう。 ちなみに当方、機械学習は全くの初心者なので、もしかしたら間違ったことを書いているかもしれない。あしからず。 まずはTensorFlowのチュートリアルを…

Googleの人工知能ライブラリTensorFlowを評価するための仮想環境を構築する

Googleが人工知能ライブラリ「TensoFlow」をオープンソース化した。 http://tensorflow.org/ Pythonで書かれたライブラリで構成されており、サンプルやチュートリアルを見ただけでも、画像の分類処理や手書きの認識処理を試すことができる。 評価環境を立ち…

ソフトウェアとVerilogを連携させたいならば、DPI-Cがオススメ

Verilog-HDLの環境に、プログラムのhexファイルだとか、ソフトウェアで生成したデータであるとか、あるいはVerilogのシミュレーション自身をソフトウェアにより制御したいときには、DPI-Cがオススメだ。 www.kumikomi.net DPI-Cを使うことにより、Verilogの…

最尤推定法の勉強 (ITエンジニアのための機械学習理論入門)

この本は数式が多いので、読み進めるのに時間がかかるが、それでもちゃんと読むと納得できる量の解説がなされており、読んでいて楽しい。 前回の最小二乗法に続いて、最尤推定法というものが第3章で解説さえている。 ITエンジニアのための機械学習理論入門作…

「ITエンジニアのための機械学習理論入門」を買った

ミーハーなので、こういう本が出るとつい買ってしまう。。。 ITエンジニアのための機械学習理論入門作者: 中井悦司出版社/メーカー: 技術評論社発売日: 2015/10/17メディア: 単行本(ソフトカバー)この商品を含むブログを見る 深層学習の本を前に買って、こ…

インタラクティブモードでの調整

ISSでインタラクティブにいろいろデバッグをすることができるようになってきたので、タイプミスによりLuaのコマンドを打ち間違えたときにセグって落ちてしまうのが気になってきた。 よく見てみたら、引数の処理をするのにLuaのスタックにどの程度引数が入っ…

C++内でLuaをインタプリタのように動作させるための調査(実装してみた)

前回の続きで、LuaのインタプリタをISSに実装してみた。 msyksphinz.hatenablog.com 前回lua_interpreterを実行してみて、バックスペースなどの操作が出来なかったのだが、これはlibreadlineを使っていなかったからだった。 コンパイルするときに、-DLUA_USE…

C++内でLuaをインタプリタのように動作させるための調査(まだ未実装)

僕のISSはインタプリタとしてLuaを使用しているが、起動時にLuaファイルを指定するとそこから一方的に実行が始まるだけで、例えばデバッグモードのように一旦停止してレジスタをダンプする、などの動作を挿入することができない。 そのような動作は、全てス…

C++にPythonを埋め込んで対話モードっぽく使う方法まとめ

現在の自作ISSでは、対話インタフェースとしてLuaを使っている。Pythonでも同じようなことが出来ると聞いていたが、Luaを採用した理由は、「Pythonよりも軽いから」だった。 どっちにしろPythonの高度な機能は使う気が無いし、Luaの軽い環境でさくさくISSを…