最近在寫行為識別的**,涉及到兩個網路的融合,這個融合是有加權的網路結果的融合,所以需要對網路的結果進行加權(相乘)和融合(相加)。
最初的想法是用keras.layers.add和keras.layers.multiply來做,後來發現這樣會報錯。
rate_rgb = k.variable(np.ones((1024,),dtype='float32')*0.8)
rate_esti = k.variable(np.ones((1024,),dtype='float32')*0.2)
weight_gru1 = multiply()([rate_rgb,gru1])
weight_gru2 = multiply()([rate_esti,gru2])
last = add()([weight_gru1,weight_gru2])
這麼寫會報錯,如下
attributeerror: 'variable'
object has no attribute '_keras_history'
後來在網上參考大神的部落格,改為如下
weight_1 = lambda(lambda x:x*0.8)
weight_2 = lambda(lambda x:x*0.2)
weight_gru1 = weight_1(gru1)
weight_gru2 = weight_2(gru2)
last = add()([weight_gru1,weight_gru2])
這樣就沒問題了。 keras實現分組卷積
分組卷積在pytorch中比較容易實現,只需要在卷積的時候設定group引數即可 比如設定分組數為2 conv group nn.conv2d c in,c out,kernel size 3,stride 3,padding 1,groups 2 但是,tensorflow中目前還沒有分組卷積,只...
Keras使用使用動態LSTM RNN
padding def generate mtp 100,batch 50 最長時間步,詞向量長度為200,batch size 50 origin input np.random.random sample batch,np.random.randint mtp 2,mtp 200 時間長隨機從m...
Keras學習 1 使用keras建立序列模型
keras學習 1 使用keras建立序列模型 sequential model就是一些列layers的簡單堆疊。首先,我們建立乙個簡單的前向全連線網路。輸入維度784 from keras.models import sequential from keras.layers import dens...