今日学んだこと#0005
git tag
現在のブランチの最新のコミットにタグ名を追加
git tag -a tag_name -m "comment"
リモートにタグを反映
git push origin tag_name
git reset
最新のコミットを削除
git reset --hard HEAD^
commitだけ取り除こうとしたが,新規ファイルであり,hard optionにしていたため,ファイルが完全に削除されてしまい泣いた.
Harmonic Networkの完全理解
論文の精読や先行研究を参照したが,著者のyoutube*1が一番理解できた.一言で表現すると,PoolingによってCNNが移動等価性を実現できているように,各層がcircular harmonic filterの角度と強度を適切に学習することで,CNNで回転等価性を実現する.
Harmonic Networkを実行
python2系で設計されたコードをpython3系の環境で動けるようにした.そのために,以下のバグを取り除いた.
python versionによるエラー
その他バグ
- values type not matched: (int, int, float) -> (int, int, int).
#Before new_shape = tf.concat(axis=0, values=[Ysh[:3],[max_order+1,2],[Ysh[3]/(2*(max_order+1))]]) #After new_shape = tf.concat(axis=0, values=[Ysh[:3],[max_order+1,2],[int(Ysh[3]/(2*(max_order+1)))]])
- tf.nn.moments: ndarray -> list*4
#Before batch_mean, batch_var = tf.nn.moments(X, np.arange(len(Xsh)-3), name=name+'moments') #After batch_mean, batch_var = tf.nn.moments(X, list(range(len(Xsh)-3)), name=name+'moments')
- format error*5
#Before sys.stdout.write('{:d}/{:d}\r'.format(i, data['train_x'].shape[0]/args.batch_size)) #After sys.stdout.write('{}/{}\r'.format(i, data['train_x'].shape[0]/args.batch_size))
荒ぶるtensorflowを制限する*6
適当に設定してしまうと,GPUを無尽蔵に使ってしまうため,以下のように,GPUを指定する.
config.gpu_options.allow_growth = False config.gpu_options.visible_device_list = "0"