ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

2017-01-01から1年間の記事一覧

Vivado simulatorでデフォルトのsim時間を変える方法

GUI使っている人にはたいした話では無いんですが、CUIでsimulate.batから実行しているとちょっと役に立った話。simulate.batを実行したら、そのままrun -allしたいじゃないですか。その時はbehavディレクトリにあるトップ名.tclファイルの中身を変えればOK。…

オンライン機械学習

https://www.amazon.co.jp/dp/406152903X PFNとスマートニュースの人達が書かれた機械学習の本を読みました。組込機器での学習について何かヒントがあればと思って読みましたが、曖昧になっていた部分がすっきりして、とても良いタイミングで読めた本かなと…

Vivado VIPを使ってAXIマスターを動かしてみる。その2

AXIバスマスターを作る。 AXIにつながるIPコアの最初の一歩はチュートリアル等を見てもらうことにして、とりあえずsting_wrap_v1_0_M01_AXI.vみたいなファイルがどこかにできているはず。それを編集して、AXIの機能を実装します。回路とししては、AXI_RD_WEI…

Vivado VIPを使ってAXIマスターを動かしてみる。その1

3x3Convolutionの回路を作るにあたって、とりあえずDDRメモリから重みをフィルター一つ(9×4バイト)読み込むところまでできたのでメモその1。 重みファイルの用意 とりあえず重みが入ったバイナリファイルを用意する。今回はnumpyフォーマットに落ちている…

勉強会するよー

12/21 TFUG KANSAI だいぶ空いていたTFUG KANSAIやります。 LeapMind様の前座で少し話します。関西でLeapMind様のお話が聞ける機会はなかなか無いので、組込DLに興味がある人は是非。https://cocytus.connpass.com/event/74184/ 12/22 【福岡開催】Deep Lear…

AXI VIPを使ってレジスタにライトする

QiitaのXilinxのAXI Verification IPを試す。とVivadoのexampleを交互にみながら、やり方としては間違ってるんだろうけど、なんとかレジスタライトができるようになりました。 サンプル記述 僕の環境だと c:/home/myproj/sting/vivado/zybo/sting_ip/sting_i…

AXI VIPを使うときのimport文

AXI VIPを使うときに、最初にpkgをインポートする必要がありますが、インターネッツで見つけたコードをコピーしてもエラーになってしまいます。 import axi_vip_v1_0_2_pkg::*; import design_1_axi_vip_0_1_pkg::*; こういう記述です。PG267によると、Vivad…

The Zynq Book

http://www.zynqbook.com/ から入手できるZynq Bookを読みました。 内容 Zynqに関わるトピックを浅く広く説明しています。全体で24節、400ページ越えでボリュームはあります。Zynqのアーキテクチャから始まり、ARMの話、Vivadoやツールの話、開発手法の話、O…

ブロックデザインにポートを追加したらsimできなくなった。

GUIでポートを追加して、SIMを実行しようとするとこんなエラーがでる。 ERROR: [VRFC 10-426] cannot find port init_axi_txn on this module [c:/home/myproj/sting/vivado/zybo/sting_ip/sting_ip.srcs/sources_1/bd/design_1/hdl/design_1_wrapper.v:30] …

ファイルの名前を変えてエラー

Vivadoのテストベンチがsim.vにしてしまって、SVにしたかったので拡張子をGUI上から.svに変更しました。以後、こんなメッセージが出てきます。 [Project 1-19] Could not find the file 'C:/home/myproj/sting/vivado/zybo/string_ip/string_ip.srcs/sim_1/n…

m00_axi_init_axi_txnでエラー

VivadoでAXIのシミュレーションをしようとするとこんなメッセージがでました。 [BD 41-759] The input pins (listed below) are either not connected or do not have a source port, and they don't have a tie-off specified. These pins are tied-off to …

[Verilog][FPGA][Vivado] ノートPCでVivado simulatorを動かす。

どうも出張が多く出先でSimしたいんだけど、でかいノートPC持ち運ぶのが辛い人向け。コマンドラインを中心にRTL simできる方法を調べたメモ。 ノートPCでVivaoするときの問題点 画面小さい! 最初の一歩 小さい画面でもなんとかSimできるところまで持って行…

思い出

クラッシャーバンバンビガロ好きだった。

Vivado License Manager が host id 000000000000 を表示した時の話

Alienware 13 (Ubuntu)で、SDSOCを動かそうとした時の話。 Alienware 13はオンボードのLANコントローラがあるのだが、Ubuntuからは認識できない。USB-LAN変換を使ってネットワークを動かしていると、Vivadoのライセンスマネージャがhoit id(MACアドレス)が見…

下呂温泉

ご飯は全体的に美味しいんだけど、メインの飛騨牛が味噌漬けになっていて、あれ絶対そのまま食べたほうが美味しいよねって感想しか無い。

NNをNEON FP16で動かそうとしたら遅くなった話

書いてから教えてもらいましたが、ラズパイに乗っているARM Cortex-A53にはFP16対応のNEONは搭載されていません。ですので、すべての演算でFP32への変換が入り遅くなります。@hiratch‏ に感謝。コキュートスを使って、なんとかボードで意味のあるNNを動かそ…

PYNQにemacsはインストールしちゃだめ

原因は突き止められてないのですが、apt-get install でemacsをインストールした所、今まで40秒で動いていたプログラムが60秒近くかかるようになりました。ファイルの保存時に固まったりするので、今の所emacsは入れない方が良いです。

PYNQをセットアップした時のメモ

総本山 https://pynq.readthedocs.io/en/latest/1_getting_started.html SDカード ここからイメージをダウンロードする。 https://files.digilent.com/Products/PYNQ/pynq_z1_image_2017_02_10.zip展開して書き込む。僕の場合、Ubuntuからddコマンドで書き込…

VGG-YOLOを作りたい その1 データの転移

Tiny-YOLOがどうやっても普通の固定小数点化では精度がでない。もうひと工夫いるんだと思います。精度を上げるのに固定小数点化をいろいろ試すのではなく、CNNの部分をVGG16にしてみようと思いました。VGG16にすることで、バッチノーマライゼーションと、Lea…

俺俺フレームワークでVGG16動いた

俺俺フレームワークでVGG16がちょっと動いた。の続き計算結果が合わなかった理由が分かりました。Kerasに入力させるために画像を読み込んでいるところ。これでxに入力データが入ります。 img = image.load_img(img_file, target_size=(224, 224)) x = image.…

俺俺フレームワークでVGG16がちょっと動いた。

2月からこつこつとやっていた俺俺フレームワークで、VGG16のCソースが生成できるようになりました。学習済のKeras環境から、ポータブルなCソースコードを生成します。最終層の計算結果だけが少し違っていて、今後の課題となっています。出力されるCソースの…

kerasでカスタムレイヤーのシリアライズを行う

Keras SSDをjsonに変換し、読みこもうとするとエラーがでる。 https://github.com/rykov8/ssd_keras Traceback (most recent call last): File "/home/natu/proj/myproj/cocytus/cocytus/cocytus.py", line 70, in <module> main(sys.argv) File "/home/natu/proj/my</module>…

SSDを最新のKerasで動かす。

思わずKerasを最新にしたら、APIがごっそり変わっていて涙目です。https://github.com/rykov8/ssd_keras これを動かそうとしたのですが、APIが変わってしまったために上手く動きません。ワーニングを消したssd.pyがこちら。 https://gist.github.com/anonymo…

自作フレームワークのデバッグ機能 その2

kerasから持ってきた3x3フィルターで、係数の並びをxとyを間違っていた。そこを修正したらばっちり一致した。

自作フレームワークのデバッグ機能

自作フレームワークでnumpy出力ができるようになった。これでmatplotlibを使って、同じデータを入れた時の1層目のコンボリューション出力を比較できる。青がKerasの出力で、赤が自作フレームワークの出力。ニューロンが反応する場所は合っているけど、計算結…

kerasで処理の途中の値を取り出す

俺俺DLフレームワークを作るにはKeras一択のような気がしてきました。KerasでNNに特定のデータを入れた時に、狙った層の出力をnumpy形式で出力する方法です。やりかたはKeras FAQをみました。簡単です。 https://keras.io/ja/getting-started/faq/#_1 やって…

kerasの学習データをCで読み込む

kerasのネットワーク情報と学習データを保存する方法はこちら http://d.hatena.ne.jp/natsutan/20170212この続きで保存した学習データをCで読み込んでみます。 hd5形式をネットワーク名に対応させてnumpy形式で書き出す。 ファイル構成を調べても、どのデー…

Kerasを使ってみた

Kerasを使ってひらがな認識のCNNを動かしてみました。情報を取り出すのが素のTensorflow, Caffe, Darknetに比べて非常に楽でした。 ひらがな認識をkerasで動かす 意外に簡単にできました。 https://github.com/natsutan/NPU/blob/master/example/keres_cnn/k…

なにわTECH道 Presents エンジニアによるエンジニアにためのセミナー@パソナテック Deep Learning実装祭り!! いよいよ開催

https://naniwa-tech-dou.connpass.com/event/49177/僕も2枠発表します。 前半が組み込み実装の話で、途中から一気に農業+AI+IoTの話になります。僕の発表自体は https://tfug-tokyo.connpass.com/event/49668/?utm_campaign=recent_events&utm_medium=ato…

しごと

ときどきしごとつらい。ノイマン様ならどうやってのりこえるのだろうか