作業記録2022古市
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[組込みシステム 2022]]
** 全体ミーティング [#tdffe9e2]
- https://us02web.zoom.us/j/85822435894?pwd=bHRibTNqVEg1Z...
- ミーティングID: 858 2243 5894
- パスコード: archinfo
* 参考 [#ib6a9e05]
** Webサイト [#w0c52c66]
-英語論文を読むときの神ツール http://to-normal-code.herok...
** 論文 [#k4aabfd3]
-設計関連
--FPGAにDNNトポロジーの生成と展開をカスタマイズし、自動化...
--CNNアクセラレータの生成プロセスを自動化するフレームワー...
-学習
--PYNQZ1とZCU102で学習
https://dl.acm.org/doi/abs/10.1145/3505633
-実装
--スケーラブルで移植性のあるとCNNのFPGA実装 https://ieeex...
--FPGA based Adaptive Hardware Acceleration for Multiple ...
https://ieeexplore.ieee.org/abstract/document/9691938
-サーベイ、レビュー
--深層学習ネットワークの高速化手法のレビュー
https://link.springer.com/chapter/10.1007/978-981-16-6963...
--ロボット工学分野のFPAGサーベイ論文
https://ieeexplore.ieee.org/abstract/document/9439435
** メモ [#hd0e9998]
-これやる https://github.com/Xilinx/Vitis-Tutorials/blob/...
-論文の落合陽一フォーマット
--どんなもの?
--先行研究と比べてどこがすごい?
--技術や手法のキモはどこ?
--どうやって有効だと検証した?
--議論はある?
--次読むべき論文は?
-衛星でFPGA使って画像処理してるらしい https://www.mdpi.co...
-FPGAのスペック https://japan.xilinx.com/products/silico...
--Ultra96 ZU3EG
--ZCU102 ZU9EG
--ZCU104 ZU7EV
-DPUCZDX8Gv3.3ガイド https://docs.xilinx.com/r/3.3-Japane...
-ポスターのテンプレの場所 /home/ktakagi/text/posters_slides
* 作業記録 [#r75e8dc7]
**12/12 [#c08f384e]
-読んだhttps://ieeexplore.ieee.org/document/9212130
-概要
--組込み向け物体検出の既存の比較は公平性を欠いている
---入力サイズ、学習データセット、閾値、プラットフォーム固...
--組込み機器向けの物体検出を包括的かつ公正に評価
-実装/評価方法
--NVIDIA Xavier AGX,Xilinx ZCU102,i7-7700にYOLOv3,YOLOv3-...
--512*512のCOCO2017、118K枚で学習、5Kで検証
--最悪の場合のエンドツーエンドのレイテンシ、mAP0.5:0.95、...
--エンドツーエンドは画像を検出器に与えてからBBを得るまで...
--confidence閾値を0.3と0.05で計測
--Xavier AGXではFP32,FP16,INT8、ZCU102はINT8,i7-7700はFP32
-結果
--Xavier AGX
---FP16はFP32と同じmAPでありながら、より高速
---INT8のMv2(SSD)を除くすべてのネットワークで最高のmAP...
---最も効率的なボードであり、FP16はパレート最適化曲線上に...
--ZCU102
---CPUの性能差のために、後処理が最も遅い
---最もコストがかかるのは、DPUの推論ではなく、CPUでの前後...
---推論時とアイドル時の消費電力差が非常に小さい
---消費電力は少ないが、低FPSであったので、効率的ではない
--i7-7700
---最も消費電力が大きい
---速度も遅いため、この指標によると最も効率の悪いボード
--Yoloは小さな閾値でもBBの発生が少なく、Mv2(SSD)は閾値0.0...
--Yolov3-tinyはレイテンシと消費電力の点で最良のネットワーク
--FP16は常にパレート最適化曲線上にあり、INT8は大幅に精度...
**12/9 [#gcf0cd78]
-エラーを解決してpetalinuxのビルド完了
--df -h コマンドでマウント位置を確認したところ、/tmpがロ...
-screen dev/ttyUSB1 115200でpetalinuxブート確認、vaddアプ...
**12/2 [#z2618c0d]
-gccのバージョンアップはhttps://node4u.info/2022/07/03/ke...
-sclを用いてdevtoolset-11をインストールした
-petalinuxのビルドのためにconfigを色々いじった
- petalinux-config -c kernelを実行したところ以下のエラー
The TMPDIR: /home/furuichi/2021.2_vitis/ultra96_custom_p...
-https://docs.xilinx.com/r/en-US/ug1144-petalinux-tools-r...
>When TMPDIR is on NFS, BitBake throws an error at the ti...
1. Either run petalinux-create -t project -s <PATH_TO_PET...
2. Provide any local storage by selecting Yocto-settings ...
**11/25 [#p9b419a5]
-Vitis-AIデモの実行https://github.com/Xilinx/Vitis-Tutori...
-ビルドでエラー5つ
**11/8 [#u3367036]
-Vitisプラットフォームを作成し、ベクトル加算のテスト中
**7/19 [#k7ad3437]
-量子化モデル、リサイズ処理の背景色をグレーにしたら43.35%...
**7/8 [#d66cfdb0]
-ボードで動作したモデルの検出結果をテキストファイルに書き...
-PascalVOCでも2007と2010~では計算方法が異なることを知る
https://github.com/AlexeyAB/darknet/issues/7025
--2007はPRグラフの11ポイントのPRを使用
--2010~はPRチャート下の面積を使用
--詳細 https://github.com/rafaelpadilla/Object-Detection-...
-darknetのコマンドラインで計測できるのは11points
-作成モデルをhttps://github.com/Cartucho/mAP#create-the-d...
--これは2010~の計算方式だった
-2007の11pointsで計算したら41.89%、下がった
-量子化前から精度が下がりすぎている
**7/3 [#idd45dd7]
-DAシンポジウム用に卒論のときのモデルの精度を測定
--オリジナルのYOLOv4-tinyをPascalVOCで学習させたもの
--VitisAIに適合するように層を変更したモデル
-20クラスのAP,F値,PR値,mAP(IOU=50),実行時間
-GoogleColabで実行、GPUにTeslaT4が割り当てられた
-mAPが61~63%しかないがこの程度なのか
-学習反復回数が少ない?avg lossは0.7くらい
**6/29 [#t08240a8]
-流し読み [[Point Cloud Generation with Stereo and Monoc...
-FPGAでの点群生成・深度推定
-DPUを使用
-KV260,ZCU104,102にコアを1~3個搭載
-KV260とZCU104はオンチップメモリにURAMとBRAM両方使用
-Vitisプラットフォームを構築→NNモデル構築→Vitis AIコンパ...
-開発フロー
#ref(digagram.png)
-[[v1.4のVitisプラットフォーム構築フロー:https://www.hack...
-[[Build Vitis platform for Ultra96v2 (Vitis 2020.2):http...
-VitisプラットフォームをビルドしてからDPUを追加する
-Ultra96v2かZCU104ならプリビルドファイル配布されてる
-Ultra96v1はレガシーボード
**6/4 [#w2184f6a]
-読んだ [[Full Python Interface Control: Auto Generation ...
-どういうものか
--PYNQボードでJupyterからDNN自動生成
--ユーザはIPインタフェースと最適化プラグマを変更可能
--フレームワークはIPレイヤーをカプセル化、合成し、バック...
--ホストサーバー/クラウドのHLSからビットストリームを取得
-新規性
--DNNベースのFPGAアクセラレーションのための最初のEdge-to-...
--アーキテクチャの全体の再コンパイル不要
--HWの知識、固有のプログラミング言語不要
-実験考察
--7020SoCにMNIST展開、CPUのみ、CPU+FPGAを比較
--32ビット浮動小数点、ソフトウェア実装との公正な比較のため
--CPUのみより59倍速い
**5/25 [#s16e2d3a]
-読んだ [[FPGA-based accelerator for object detection: a ...
--Githubに参考文献をまとめたリストあり
--FPGAの物体検出に絞ったサーベイ論文
--SW、HWの最適化設計手法
--今後の課題
--開発ツール
---RTL、HLSのメリット、デメリット、互換性が無い
--FPGAでのCNNの学習
---エッジデバイスでの学習は研究されていない
---誤差逆伝播法の計算が困難
--2段階物体検出器の実装
---YOLOを始めとした1段階検出器が多く、2段階検出器は無い
--新しいアルゴリズムへの適応
---Detr、Swin-transformerはより効率的な物体検出アルゴリズム
---GPUでは良好な性能だが、FPGAでは研究されていない
---最近の物体検出アルゴリズムの主流はCNNネットワークをト...
---multi-head-attention-based transformerは計算集約なモデル
--モデルの圧縮
---精度を落とさず速度を追求
--効率的な設計
---HWの知識がない初心者が効率的なHWアクセラレータを設計す...
---高レベルツールで高性能なアーキテクチャを設計することは...
---CNNの設計とFPGAアクセラレータの設計は必要な知識が異なる
---いかにFPGA開発の敷居を下げて、効率的かつ高性能なHWアク...
--提案
--より良いFPGA開発環境
---FPGAとクラウドコンピューティングの組み合わせは、深層学...
---FPGAのクラウドサービスは発展途上
--FPGAでのCNN学習
---パイプライン設計、様々な層分割とマッピング戦略を持つ効...
--知識蒸留によるモデル圧縮
---モデル圧縮とより小さなモデルを学習するための知識の伝達...
--SW・HWの自動連携
---常に更新される物体検出アルゴリズムを考慮すると経験豊富...
---アルゴリズムとHWの高度にマッチングしたカスタマイズ構造...
**5/13 [#w2e98948]
-読んだ [[Accelerating Neural Network Inference on FPGA-B...
--FPGA上のNNについて分析・比較・整理、高速化手法の先行研...
--FPGA、組込みGPU、ASIC、MCUでなぜFPGAを選ぶのか
---開発期間、開発難易度、コスト、柔軟性、スループットで比較
--計算量の削減
---乗算の最適化、近似計算、ストキャスティックコンピューテ...
--計算の並列性の向上
---ループアンローリング、パイプライン、IMP(In-Memory Proc...
--データ再利用
---ループタイリング、パラメータの並び替え、NMP(Near-Memor...
--設計ルートの考察
---どの技法同士が併用できるのかできないのか
---中心をモデル展開プラットフォームとして同心円状に第1~4...
---内から外に向かって設計
--高速化のための技術は、計算複雑性、計算並列性、データ再...
--これらのメリット、デメリットを説明
--手法の選択・評価についてまだ課題が残っている
--最適化の余地がある構造も多くある
** 5/7 [#s518bc93]
-作業記録作成
* 2021記録 [#l63bfa46]
-[[作業記録2021古市]]
終了行:
[[組込みシステム 2022]]
** 全体ミーティング [#tdffe9e2]
- https://us02web.zoom.us/j/85822435894?pwd=bHRibTNqVEg1Z...
- ミーティングID: 858 2243 5894
- パスコード: archinfo
* 参考 [#ib6a9e05]
** Webサイト [#w0c52c66]
-英語論文を読むときの神ツール http://to-normal-code.herok...
** 論文 [#k4aabfd3]
-設計関連
--FPGAにDNNトポロジーの生成と展開をカスタマイズし、自動化...
--CNNアクセラレータの生成プロセスを自動化するフレームワー...
-学習
--PYNQZ1とZCU102で学習
https://dl.acm.org/doi/abs/10.1145/3505633
-実装
--スケーラブルで移植性のあるとCNNのFPGA実装 https://ieeex...
--FPGA based Adaptive Hardware Acceleration for Multiple ...
https://ieeexplore.ieee.org/abstract/document/9691938
-サーベイ、レビュー
--深層学習ネットワークの高速化手法のレビュー
https://link.springer.com/chapter/10.1007/978-981-16-6963...
--ロボット工学分野のFPAGサーベイ論文
https://ieeexplore.ieee.org/abstract/document/9439435
** メモ [#hd0e9998]
-これやる https://github.com/Xilinx/Vitis-Tutorials/blob/...
-論文の落合陽一フォーマット
--どんなもの?
--先行研究と比べてどこがすごい?
--技術や手法のキモはどこ?
--どうやって有効だと検証した?
--議論はある?
--次読むべき論文は?
-衛星でFPGA使って画像処理してるらしい https://www.mdpi.co...
-FPGAのスペック https://japan.xilinx.com/products/silico...
--Ultra96 ZU3EG
--ZCU102 ZU9EG
--ZCU104 ZU7EV
-DPUCZDX8Gv3.3ガイド https://docs.xilinx.com/r/3.3-Japane...
-ポスターのテンプレの場所 /home/ktakagi/text/posters_slides
* 作業記録 [#r75e8dc7]
**12/12 [#c08f384e]
-読んだhttps://ieeexplore.ieee.org/document/9212130
-概要
--組込み向け物体検出の既存の比較は公平性を欠いている
---入力サイズ、学習データセット、閾値、プラットフォーム固...
--組込み機器向けの物体検出を包括的かつ公正に評価
-実装/評価方法
--NVIDIA Xavier AGX,Xilinx ZCU102,i7-7700にYOLOv3,YOLOv3-...
--512*512のCOCO2017、118K枚で学習、5Kで検証
--最悪の場合のエンドツーエンドのレイテンシ、mAP0.5:0.95、...
--エンドツーエンドは画像を検出器に与えてからBBを得るまで...
--confidence閾値を0.3と0.05で計測
--Xavier AGXではFP32,FP16,INT8、ZCU102はINT8,i7-7700はFP32
-結果
--Xavier AGX
---FP16はFP32と同じmAPでありながら、より高速
---INT8のMv2(SSD)を除くすべてのネットワークで最高のmAP...
---最も効率的なボードであり、FP16はパレート最適化曲線上に...
--ZCU102
---CPUの性能差のために、後処理が最も遅い
---最もコストがかかるのは、DPUの推論ではなく、CPUでの前後...
---推論時とアイドル時の消費電力差が非常に小さい
---消費電力は少ないが、低FPSであったので、効率的ではない
--i7-7700
---最も消費電力が大きい
---速度も遅いため、この指標によると最も効率の悪いボード
--Yoloは小さな閾値でもBBの発生が少なく、Mv2(SSD)は閾値0.0...
--Yolov3-tinyはレイテンシと消費電力の点で最良のネットワーク
--FP16は常にパレート最適化曲線上にあり、INT8は大幅に精度...
**12/9 [#gcf0cd78]
-エラーを解決してpetalinuxのビルド完了
--df -h コマンドでマウント位置を確認したところ、/tmpがロ...
-screen dev/ttyUSB1 115200でpetalinuxブート確認、vaddアプ...
**12/2 [#z2618c0d]
-gccのバージョンアップはhttps://node4u.info/2022/07/03/ke...
-sclを用いてdevtoolset-11をインストールした
-petalinuxのビルドのためにconfigを色々いじった
- petalinux-config -c kernelを実行したところ以下のエラー
The TMPDIR: /home/furuichi/2021.2_vitis/ultra96_custom_p...
-https://docs.xilinx.com/r/en-US/ug1144-petalinux-tools-r...
>When TMPDIR is on NFS, BitBake throws an error at the ti...
1. Either run petalinux-create -t project -s <PATH_TO_PET...
2. Provide any local storage by selecting Yocto-settings ...
**11/25 [#p9b419a5]
-Vitis-AIデモの実行https://github.com/Xilinx/Vitis-Tutori...
-ビルドでエラー5つ
**11/8 [#u3367036]
-Vitisプラットフォームを作成し、ベクトル加算のテスト中
**7/19 [#k7ad3437]
-量子化モデル、リサイズ処理の背景色をグレーにしたら43.35%...
**7/8 [#d66cfdb0]
-ボードで動作したモデルの検出結果をテキストファイルに書き...
-PascalVOCでも2007と2010~では計算方法が異なることを知る
https://github.com/AlexeyAB/darknet/issues/7025
--2007はPRグラフの11ポイントのPRを使用
--2010~はPRチャート下の面積を使用
--詳細 https://github.com/rafaelpadilla/Object-Detection-...
-darknetのコマンドラインで計測できるのは11points
-作成モデルをhttps://github.com/Cartucho/mAP#create-the-d...
--これは2010~の計算方式だった
-2007の11pointsで計算したら41.89%、下がった
-量子化前から精度が下がりすぎている
**7/3 [#idd45dd7]
-DAシンポジウム用に卒論のときのモデルの精度を測定
--オリジナルのYOLOv4-tinyをPascalVOCで学習させたもの
--VitisAIに適合するように層を変更したモデル
-20クラスのAP,F値,PR値,mAP(IOU=50),実行時間
-GoogleColabで実行、GPUにTeslaT4が割り当てられた
-mAPが61~63%しかないがこの程度なのか
-学習反復回数が少ない?avg lossは0.7くらい
**6/29 [#t08240a8]
-流し読み [[Point Cloud Generation with Stereo and Monoc...
-FPGAでの点群生成・深度推定
-DPUを使用
-KV260,ZCU104,102にコアを1~3個搭載
-KV260とZCU104はオンチップメモリにURAMとBRAM両方使用
-Vitisプラットフォームを構築→NNモデル構築→Vitis AIコンパ...
-開発フロー
#ref(digagram.png)
-[[v1.4のVitisプラットフォーム構築フロー:https://www.hack...
-[[Build Vitis platform for Ultra96v2 (Vitis 2020.2):http...
-VitisプラットフォームをビルドしてからDPUを追加する
-Ultra96v2かZCU104ならプリビルドファイル配布されてる
-Ultra96v1はレガシーボード
**6/4 [#w2184f6a]
-読んだ [[Full Python Interface Control: Auto Generation ...
-どういうものか
--PYNQボードでJupyterからDNN自動生成
--ユーザはIPインタフェースと最適化プラグマを変更可能
--フレームワークはIPレイヤーをカプセル化、合成し、バック...
--ホストサーバー/クラウドのHLSからビットストリームを取得
-新規性
--DNNベースのFPGAアクセラレーションのための最初のEdge-to-...
--アーキテクチャの全体の再コンパイル不要
--HWの知識、固有のプログラミング言語不要
-実験考察
--7020SoCにMNIST展開、CPUのみ、CPU+FPGAを比較
--32ビット浮動小数点、ソフトウェア実装との公正な比較のため
--CPUのみより59倍速い
**5/25 [#s16e2d3a]
-読んだ [[FPGA-based accelerator for object detection: a ...
--Githubに参考文献をまとめたリストあり
--FPGAの物体検出に絞ったサーベイ論文
--SW、HWの最適化設計手法
--今後の課題
--開発ツール
---RTL、HLSのメリット、デメリット、互換性が無い
--FPGAでのCNNの学習
---エッジデバイスでの学習は研究されていない
---誤差逆伝播法の計算が困難
--2段階物体検出器の実装
---YOLOを始めとした1段階検出器が多く、2段階検出器は無い
--新しいアルゴリズムへの適応
---Detr、Swin-transformerはより効率的な物体検出アルゴリズム
---GPUでは良好な性能だが、FPGAでは研究されていない
---最近の物体検出アルゴリズムの主流はCNNネットワークをト...
---multi-head-attention-based transformerは計算集約なモデル
--モデルの圧縮
---精度を落とさず速度を追求
--効率的な設計
---HWの知識がない初心者が効率的なHWアクセラレータを設計す...
---高レベルツールで高性能なアーキテクチャを設計することは...
---CNNの設計とFPGAアクセラレータの設計は必要な知識が異なる
---いかにFPGA開発の敷居を下げて、効率的かつ高性能なHWアク...
--提案
--より良いFPGA開発環境
---FPGAとクラウドコンピューティングの組み合わせは、深層学...
---FPGAのクラウドサービスは発展途上
--FPGAでのCNN学習
---パイプライン設計、様々な層分割とマッピング戦略を持つ効...
--知識蒸留によるモデル圧縮
---モデル圧縮とより小さなモデルを学習するための知識の伝達...
--SW・HWの自動連携
---常に更新される物体検出アルゴリズムを考慮すると経験豊富...
---アルゴリズムとHWの高度にマッチングしたカスタマイズ構造...
**5/13 [#w2e98948]
-読んだ [[Accelerating Neural Network Inference on FPGA-B...
--FPGA上のNNについて分析・比較・整理、高速化手法の先行研...
--FPGA、組込みGPU、ASIC、MCUでなぜFPGAを選ぶのか
---開発期間、開発難易度、コスト、柔軟性、スループットで比較
--計算量の削減
---乗算の最適化、近似計算、ストキャスティックコンピューテ...
--計算の並列性の向上
---ループアンローリング、パイプライン、IMP(In-Memory Proc...
--データ再利用
---ループタイリング、パラメータの並び替え、NMP(Near-Memor...
--設計ルートの考察
---どの技法同士が併用できるのかできないのか
---中心をモデル展開プラットフォームとして同心円状に第1~4...
---内から外に向かって設計
--高速化のための技術は、計算複雑性、計算並列性、データ再...
--これらのメリット、デメリットを説明
--手法の選択・評価についてまだ課題が残っている
--最適化の余地がある構造も多くある
** 5/7 [#s518bc93]
-作業記録作成
* 2021記録 [#l63bfa46]
-[[作業記録2021古市]]
ページ名: