faster-RCNNなどDetectionモデルを動作させるときに引っかかる点

 

詰むパターン

  • ValueError: bg_num_rois = 0 and fg_num_rois = 0, this should not happen!
  • lossがnanになる

 

引っかかる箇所

  • 画素をカウントするとき左上座標を(0,0)とするのか(1,1)とするのかが異なり、データ前処理を誤ってアノテーション座標に(-1,-1)が含まれてしまう。
  • コード修正しても『data/cache/***_roidb.pkl』を削除しないとキャッシュを読み込んでエラーが出続ける
  • ANCHOR_SCALEが小さすぎるとLOSSが果てしないことになって「nan」になる

マウスのドラッグが途切れる『チャタリング』の対策

結論:電池を抜いた状態で左右のクリックをカチカチ、これを20秒ほどする、以上!!

 

解説:「チャタリング」とはマウスの不具合(というより故障)の一種。ドラッグしたつもりがドラッグできていなかったり途中で途切れたりする。主な原因は内部にたまった静電気。上記の方法で静電気を抜いてやるとよい。

 

TASK2VEC: Task Embedding for Meta-Learning

 

TASK2VEC: Task Embedding for Meta-Learning

論文 https://arxiv.org/abs/1902.03545

タスクの類似度評価指標を提案。

ImageNETでpre-trainしたモデルを、タスクにあわせてClassifier部分だけretrainする。

そのあと、どのクラス出力と、どのChannel(Filter)の関係性が大きいのか、フィッシャー情報量を利用して評価する。

イメージとしては、重みWに摂動ΔWを加えたときに、予測出力が大きく変化する(KL距離で評価)ような場合は、クラス予測によって重要な特徴量であると言える。

実験結果では、全く異なるデータセットではあるが、たとえば鳥の種類を識別しようとしているタスク同士がEmbedding後の空間で近傍に射影されるなどしている。

(なお、これだったら特定タスクを解くときにどの特徴量がActiveになっているか?を評価するだけでタスク空間を得られる気がするが、どうやらそれでは上手くいかなかった様子。識別に用いない特徴量が関係なくActiveになることがあるからかな?)

USPS download link has changed

if you have “wget can’t download – 404 error” when downloading USPS dataset, please update url.

OLD

“https://raw.githubusercontent.com/mingyuliutw/CoGAN_PyTorch/master/data/uspssample/usps_28x28.pkl”


New

“https://raw.githubusercontent.com/mingyuliutw/CoGAN/master/cogan_pytorch/data/uspssample/usps_28x28.pkl”

 

 

Pytorch “Trying to backward through the graph a second time, but the buffers have already been freed. Specify retain_graph=True when calling backward the first time.”

 

エラーメッセージ


対策


解説

x=layer[i](x) のように計算処理を進めていってLOSS計算したあとにbackword()を実行するとxの算出結果がクリアされてしまう。

これは悪意があるわけではなくメモリ節約するための仕様。

しかし、Multi Task Learning のときによく発生するのだが、後半部分でLayerが分岐してOutputが2つ以上になったとき、1つ目のタスクでLOSS算出してbackword()、そして2つ目のタスクでLOSS算出してbackword()しようとするとxの算出結果がクリアされているのでエラーとなる。

対策は「まだ学習に用いるので計算結果をクリアしないでね」という目印としてloss.backword(retain_graph=True)とすること。

 

by ロードローラー

 

 

元Facebookエンジニアが語るイノベーション教材

お久しぶりです、ロードローラーです。

先日、元Facebookエンジニアのスピーチを聴く機会がありました。内容はイノベーションを起こす組織作りについてです。

冒頭に彼は「イノベーションに関して教材がたくさん出てますね、立派なハードカバーの本もあります。」と言いました。たしかにこの類の書籍は溢れるほど出版されています。

 

で、そこからズバッと一言「読まなくていいです」と切り捨てました。

・・・・ ( ゚д゚)エッ!

続いての主張はこうです

「どのように考え、どのように働くのかという習慣を社員に浸透させるというときに、まとめるのに数百ページもかかるようなノウハウを他人が実践できるわけがない。」

これは私、けっこう納得。

たしかに辞書的に使う専門書ならともかく、そうでない本が丸ごと役に立つことって少ないんですよね。例えば、以前にエディ・ジョーンズの本を読んで気付きを得たことがありますが、僕の行動を変えるに至った内容はたった数行のエディさんの言葉でした。(そのたった数行に出会うために僕は本を読んだわけですが、この考えをチームに浸透させるためにわざわざまた本を読ませる必要はありませんね。)

スピーチの内容に話を戻しますが「大切なのはシンプルな問い」と述べていました。例えばFacebookでは「What would you do if you weren’t afraid?」という「失敗を恐れないなら君はどう行動する?(⇒それがやるべきことだ)」というシンプルかつ強烈なメッセージを大切にしているそうです。

そしてFacebook社では、この短い問いをわざわざ本になんてせずに社内の壁に直接書いているそうです。そして見事に浸透。

日本企業には社憲が定められていることが多いですが、それはそれで大切にしつつ、何百ページの本を写真に読ませる前に、行動指針となるようなシンプルな問いをぶつけてみると良いかもしれません。