seri::diary

日常

じぶん Release Notes (ver 0.33.5)

f:id:serihiro:20190927125352j:plain
写真だけ見せて「マウンテンビューのスーパーです」って言っても騙せそうだけど大学構内

  • 国際会議投稿も終わってようやくゆっくりできる時間が作れたので,しばらく好きに過ごしていた.
  • 途中,体調崩すなどして何もできない時間が結構あって,合計で1週間ほどは無駄に過ごしてしまった.

個人開発

  • 自作Cサブセットコンパイラは今月は全く進捗しなかった.他のことをやっていた.
  • この一ヶ月は前からやりたかったONNXモデルの推論エンジンを作っていた.わかりやすく言えばonnxruntimemenohの劣化版である.

github.com

  • 目的としてはバックエンドの最適化を自分なりに研究することだったが,せっかくなのでONNXをロードしてグラフとパラメータを再構築するところも含めて自分で作ってみたかったので,既存のプロダクトを使わずに全部スクラッチで書いてみた.
  • backendの実装は過去にやったことがあるのである程度想定がついていたが,ONNXの取り扱いが完全に未知の世界で結構戸惑った.Pythonで書けばかなり楽できたであろう部分をC++で頑張ってかいたらProtobufの仕様がむずすぎて泣いた.でも慣れてくるとどのパラメータがどのクラスで実装されてるか,というカンが身についてきてスピードが上がってきた.なんだろうなこれ.
  • とりあえず3 MLPとVGGが動くところまではできた
  • しかし,まずはちゃんと推論ができることを目標にゴリゴリ書いたのでコードがちらかっているのと,実際にデータを入力して推論を行う部分のコードがまだ再利用できるようになっていない.この辺,onnxruntimeでもmenohでもちゃんと「グラフとパラメータを持ち推論を実行するクラス」に該当するレイヤを導入しているので,いずれそのようにリファクタしていきたい.

読書

  • いまいち何読んでたか覚えてない.本を読んだ記憶がほとんどない.
  • 就活対策でLeetCodeとか解いてたのでアルゴリズムの本を読むなどもしていた

読んだ

勉強

  • LeetCode解いてて動的計画法を忘れている事に気づいたので復習
  • Convolutionの高速化について過去に調べたことを整理

研究

  • 修論を少しずつ書き始めているが,基本的に8月に投稿した論文の和訳なのであまり気が進まない
  • 和訳している途中に色々記述が足りてないと感じる部分を見つけるなどした

その他

  • その他も何も特に書くことがない.10月は修論書きつつ就活する.
  • そういえば自宅のネット回線が,突然アップロードが上限で2Mbps程度しか出なくなったので実質ネトゲができなくなった.かなしい.
  • 去年の夏はインターン行ってて夏休みらしいものが全くなかったので,これが初めての大学院入ってからの長期休み的なものになった.