wide and deep

keras/tensorflow

tensorflow2/kerasでcustom Convolutional LSTMを組み立てる

本記事ではtensorflow2/kerasを使ってカスタムconv LSTMレイヤーを作成することを目標とします. ConvLSTM2DCellを解読することでどこを変更すればいいのかを理解し,自分の思い通りのレイヤーを作成できるようになります. 例として,Zhang2019のconvLSTMを…

動画の各フレームからエッジ検出を行う(keras実装)

今回したこと 動画の各フレームにおいてsobelフィルタを用いたエッジ検出を行いました. 普通に各フレームでcv2.Sobelをしろとの声も聞こえてくるかと思いますが, なんとなくkerasのconv3Dで実装したかったのでそのようにしました. その紹介です. 今回は…

VGGにおける前処理をネットワーク内で行い自作generatorを高速化する(keras)

今回したこと VGG16をfinetuneする際に自作generatorがボトルネックになっており,時間がかかっていた. そこで自作generatorの実装を見直すことで 770s/epoch -> 490s/epoch へと学習自体の高速化を図った.なお,今回用いたVGG16はkeras標準のものではなく…

kerasで自作レイヤーを含むモデルをload_modelするときのエラー処理

エラーと原因 自作レイヤーを読み込む際に,初期定義された重みの形状とは異なることに関するエラー. ValueError: Layer #0 (named "custom_conv" in the current model) was found to correspond to layer custom_conv in the save file. However the new …

keras/tensorflowでoptimizersの学習率を層ごとに決定する

一昔前のDL論文を読んでいると,層ごとに違う学習率が設定されていることがある. 自分にはあまり馴染みがなかったが,Caffeでは簡単にその設定ができたために使われていたらしい.keras(tensorflow)でこの設定をしようとしたとき, keras.optimizers.SGD(lr…

keras/tensorflowでdilated convolutionをstrides!=1で使う

keras(tensorflow backend)にはdilated convolutionが実装されている. Convolutionalレイヤー - Keras Documentation keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=No…