- 投稿日:2020-09-19T11:11:13+09:00
Rasperry Pi 4のCPUでDeep Learningを高速化
私たちは、マルチコアCPUやSIMDアーキテクチャのHW性能を引出す組込みSW最適化技術をコアコンピタンスとするスタートアップを目指す有志集団です。
Raspberry Pi 3/4のCPUだけでどれくらいDeep Learningを高速化できるかに挑戦しています。
過去、Chainerやdarknetといったフレームワーを対象としていましたが、現在はONNX runtimeの高速化に挑戦しています。
@onnxruntime on RPi4(CPU Only)
— Project-RAIZIN (@ProjectRaizin) September 8, 2020
MobileNetV3(Image clasification)
MobileNetV2-SSDLite(Image detection)
Original vs. Accelerated#RaspberryPi #Python #DeepLearninghttps://t.co/wvBLn9TfesもともとMicrosoftやFacebookがプロジェクトを推進しているだけあって、数倍の高速化は難しいですが、im2colやgemm、Activation関数などをチューニングすることでなんとかパフォーマンスを2倍にすることができました。
その他にもいろいろなモデルのデモ動画を公開しています。
Youtubeチャンネル私たちのこだわりポイント
- 1. Raspberry PiのCPUだけを使用してDeep Learningを実行する
- 2. 32bit版Rasbianを使用する
- まだ64bit版Raspbianに対応できていない...
- 3. 既存モデルをそのまま使用する
- 私たちで量子化/枝刈り/蒸留などの軽量化を行わない(そもそもできない...)
- 4. 計算精度を可能な限り変えない
高速化アプローチ
高速化アプローチは以下に示すような一般的なものです。
- a. コード最適化
- b. マルチコア並列化
- c. SIMDベクトル化
- d. ソフトウェアパイプライン
- e. メモリ効率化
一般的な項目を、プロファイルを取りながら少しでも速くもう少しでも速くと空雑巾を絞るがごとく突き詰めていく姿勢がほかにない私たちの特徴的なところだと思っています。
記事の最後に
今回は、結果の紹介にとどまってしまいましたが、忘備録を兼ねて各項目毎に技術資料をまとめて、随時公開していきたいと考えています。
- 投稿日:2020-09-19T01:17:40+09:00
tf.train.start_queue_runners()で0xC0000005エラーが発生した場合の対処法
tensorflowで非同期処理しようとしたらエラーでハマった。
対処法を探したが見つからなかったので誰かの参考になればと思います。現象
以下のコードを実行すると
tf.train.start_queue_runners()
でエラーが発生するfilename_queue = tf.train.string_input_producer(["../dataset/sample1.tfrecord"]) reader = tf.TextLineReader() // ... 略 with tf.Session() as sess: # 入力 enqueue スレッド開始 coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(sess=sess, coord=coord)[実行結果]
Process finished with exit code -1073741819 (0xC0000005)原因
ファイルパスの参照先が間違っていた。
(誤)filename_queue = tf.train.string_input_producer(["../dataset/sample1.tfrecord"]) (正)filename_queue = tf.train.string_input_producer(["../dataset/samples/sample1.tfrecord"])凡ミスだが地味にハマった。
tf.train.string_input_producer()
でエラーが出てくれればいいのに…。
0xC0000005
がそもそもメモリアクセス違反系のエラーなのでファイルなどの参照周りをまず怪しむべき。(参考)Tensorflowで非同期処理
以下の記事がわかりやすい。
https://qiita.com/antimon2/items/c7d2285d34728557e81d
https://qiita.com/ashigirl966/items/99b0f8d9713ee90db13a