人気ブログランキング |

雑多な趣味の記録帳

tom01h.exblog.jp

大菩薩

大菩薩に行ってきました。
今回は、甲斐大和からの最初のバスで行きましたが、やっぱりこの時間のバスも混んでいました。
私は2台目に乗ったので確証ないですが、どうやら3台目もあった模様です。
そしてまたもや確証ない情報ですが、駐車場もでっかい(300台)のが新しく出来たみたいです。
その分、登山道に人が増えるだけなのですが…

でもまぁ、朝早かったせいか、登山道の混雑もそれほどひどくなかったです。
そして街ではとっても暑かったようですが、大菩薩は爽やかないい気候でした。
f0054075_18593272.jpgf0054075_18593203.jpg
緑もきれいだし、展望も良かったです。
f0054075_19015616.jpg
久々に上日川から小屋平の道を通ったのですが、相変わらず嫌な渡渉がありますね。
自治体のおすすめコースにあるから綺麗になったのかと思っていましたが、大丈夫なのこれ?
まぁ、このコース通る人はほとんどいないようでしたが…
f0054075_19042278.jpgf0054075_19042241.jpg

# by tom01h | 2019-05-25 19:07 | 山歩き | Trackback | Comments(0)

Windows10 May 2019 Update

また 不具合 あったんか
f0054075_19114560.png
でも、これってずっと前からあったやつだよね?
前回は、これ直そうとしてファイル消しちゃったんだよね?

輝度変更はできました。
ほかには、PrtSct 押したら”切り取り&スケッチ”が起動するようにしていたのを忘れられちゃったようです。

# by tom01h | 2019-05-24 19:26 | Trackback | Comments(0)

tiny-dnn アクセラレータの誤差逆伝搬の計算方法

Zynq (Arm CPU 内蔵の FPGA) 上でオープンソースの tiny-dnn を使った MNIST の学習をしています。
tiny-dnn を改変し、計算に時間のかかる畳み込みをプログラマブルロジック(PL)に作ったアクセラレータで並列に計算し、その他は PS 中の CPU で tiny-dnn をそのまま計算します。
今回は進捗じゃなくて、tiny-dnn アクセラレータで使っている誤差逆伝搬の計算方法を紹介します。
自分でも見るたびに毎回悩むので…

書いてある内容は github と一緒です。
あまりちゃんと調べずに自分で考えた方法なのですが、これって実はよく知られた方法ですかね?
さらにもっと良い方法があるなら教えてください。

また、今はアクセラレータ側で並べ替えていますが、いずれ CPU 側で並べ替えるように変更したいと思っています。

では本題。

ハードウェアに計算させるなら、順方向だろうが逆方向だろうが同じような手順で計算させたいですよね。

padding に関してもちょっとだけあるのですが今は置いておくとして…

ウェイトデータを工夫すれば、順方向の畳み込みと同じような計算で逆方向の誤差伝搬を計算できます。
下の絵を見ればわかると思いますが、
1. カーネル内のデータを逆順にする
2. 入力チャネルと出力チャネルをシャッフルする

たんに計算順を変えただけなので説明不要ですよね。
ちなみに、stride!=1 の事は考えていません。
f0054075_13091236.png

# by tom01h | 2019-05-22 21:04 | Trackback | Comments(0)

tiny-dnn アクセラレータのデータ転送速度を上げる その1

Zynq (Arm CPU 内蔵の FPGA) 上でオープンソースの tiny-dnn を使った MNIST の学習をしています。
tiny-dnn を改変し、計算に時間のかかる畳み込みをプログラマブルロジック(PL)に作ったアクセラレータで並列に計算し、その他は PS 中の CPU で tiny-dnn をそのまま計算します。
今までは、アクセラレータのデータ入出力は 1サイクルに 1データしか転送できませんでした。
今回からデータ転送を高速化していきたいと思います。

tiny-dnn アクセラレータの扱うデータは、行きは bfloat16、帰りは float(32) です。
対して PS のポートは、Zynq7 で 64bit、ZynqMP で 128bit です。
2つ作るのも面倒なので、今回は小さい方に合わせて行きは 4 (=64/16) ワード、帰りは 2 (=64/32) ワードの同時転送に対応したいと思います。
まぁ、実際にやることは
- 口を増やす
- 同時にたくさん読み書きする
- シーケンサのループ回数を減らす
だけと言ってしまったら元も子もないんですが…

今は転送と演算が並列に動いていて、たぶんほとんどの時間が演算ネックなので、この変更ではたいして速くならないと思います。
いずれ演算並列度を増やすときのための準備です。
と言っても、ミニバッチが小さいときは速くなったように見えますね。
変更前後の順方向伝搬の波形です。

変更前
f0054075_22471827.png
変更後
f0054075_22480871.png

# by tom01h | 2019-05-21 20:21 | Trackback | Comments(0)

山シャツ買い替え

このところ数年、あまり考えずにこの格好でした。だいぶしわくちゃですが…
ユニクロの長袖下着のうえからノースのトレラン用のウィンドブレーカー?を重ねます。
重ね着しているのは透けるからです。
f0054075_15044980.jpg
で、ノースのウィンドブレーカーもだいぶくたびれてきたので更新することにしました。
日焼けを考えると襟が欲しかったのでこんな感じに。前開きの必要はないんだけどね。
ついでに、ユニクロでは数年に一度しか手に入らない長袖下着(当然今シーズンも出ていない)もモンベルに変えてみました。
f0054075_15074703.jpg
今シーズンはモンベルでいろいろ更新したい。

# by tom01h | 2019-05-20 00:00 | Trackback | Comments(0)