ファイル構成¶
リポジトリのファイル構成について。
リポジトリに対して tree
を実行した結果に対してコメントしました(一部ファイルの省略あり)。
概要は、 README にも記載があります。
.
├── CONTRIBUTING.md
├── LICENSE
├── MANIFEST.in
├── README.md
├── bnn
│ ├── __init__.py
│ ├── bitstreams アクセラレータのビットストリーム(ビルド済み)
│ │ ├── cnv-pynq-pynq.bit
│ │ ├── cnv-pynq-pynq.tcl
│ │ ├── lfc-pynq-pynq.bit
│ │ └── lfc-pynq-pynq.tcl
│ ├── bnn.py PythonのAPI
│ ├── libraries アクセラレータのドライバ(ビルド済みライブラリ)
│ │ ├── python_hw-cnv-pynq.so
│ │ ├── python_hw-lfc-pynq.so
│ │ ├── python_sw-cnv-pynq.so
│ │ └── python_sw-lfc-pynq.so
│ ├── params 学習済みモデルのパラメータ(BNN-PYNQ用のバイナリに変換済み)
│ │ ├── cifar10
│ │ ├── mnist
│ │ ├── road-signs
│ │ └── streetview
│ └── src
│ ├── library モデル共通のライブラリ
│ │ ├── README.md
│ │ ├── driver アクセラレータ用の低レベルドライバ(レジスタ制御)
│ │ │ ├── donutdriver.hpp
│ │ │ ├── platform-xlnk.cpp
│ │ │ ├── platform.hpp
│ │ │ └── xlnkdriver.hpp
│ │ ├── hls 高位合成されるライブラリ
│ │ │ ├── bnn-library.h
│ │ │ ├── convlayer.h
│ │ │ ├── dma.h
│ │ │ ├── fclayer.h
│ │ │ ├── matrixvector.h
│ │ │ ├── maxpool.h
│ │ │ ├── slidingwindow.h
│ │ │ └── streamtools.h
│ │ ├── host アクセラレータ用の高レベルドライバ(上位に対して、CPU版/HW版の差異をここで吸収)
│ │ │ ├── foldedmv-offload.cpp
│ │ │ ├── foldedmv-offload.h
│ │ │ └── rawhls-offload.cpp
│ │ └── script Vivado用のプロジェクト生成Tcl、ボード情報
│ │ ├── PYNQ-Z1_C.xdc
│ │ ├── make-vivado-proj.tcl
│ │ └── pynq_revC.tcl
│ ├── network 各モデルの実装
│ │ ├── README.md
│ │ ├── cnv-pynq
│ │ │ ├── README.md
│ │ │ ├── hw
│ │ │ │ ├── config.h
│ │ │ │ └── top.cpp 高位合成するTop関数の定義
│ │ │ └── sw
│ │ │ └── main_python.cpp Pythonに対するAPI
│ │ ├── hls-syn.tcl
│ │ ├── lfc-pynq
│ │ │ ├── README.md
│ │ │ ├── hw
│ │ │ │ ├── config.h
│ │ │ │ └── top.cpp
│ │ │ └── sw
│ │ │ └── main_python.cpp
│ │ ├── make-hw.sh Vivado HLSとVivadoをバッチ起動して、Cコードからビットストリームを生成する
│ │ └── make-sw.sh g++でCのドライバ郡をビルドする(CPU版かHW版か切り替えれられる)
│ └── training 学習スクリプト(PC用)
│ ├── LICENSE
│ ├── README.md
│ ├── binary_net.py Theano用のBinaryレイヤーの定義
│ ├── cifar10-gen-binary-weights.py Theanoの学習済みモデルをBNN-PYNQ用のバイナリに変換するスクリプト
│ ├── cifar10.py cifar10の学習スクリプト
│ ├── cnv.py CNVのモデル定義
│ ├── finnthesizer.py
│ ├── lfc.py LFCのモデル定義
│ ├── mnist-gen-binary-weights.py
│ └── mnist.py
├── notebooks Jupyter Notebookのアプリケーション例
│ ├── BNN-from-webcam.ipynb
│ ├── Cifar10.ipynb
│ ├── Road-Signs-Batch.ipynb
│ ├── SVHN-cffi.ipynb
│ ├── SVHN.ipynb
├── setup.py
└── tests BNN-PYNQの簡単なテストコード
├── Test_image
└── test.py
26 directories, 915 files