1

これは、下のblobを上に渡して何もしない単純なレイヤーです。pycaffeで単純なアイデンティティレイヤーを作成した後にネットワークが収束しない

import caffe 
import numpy as np 

class MyCustomLayer(caffe.Layer): 
def setup(self, bottom, top): 
    if len(bottom) != 1: 
     raise Exception("Wrong number of bottom blobs") 



def forward(self, bottom, top): 
    top[0].data[...] = bottom[0].data 




def reshape(self, bottom, top): 
    top[0].reshape(*bottom[0].shape) 



    pass 

def backward(self, propagate_down, bottom, top): 


    """ 
     This layer does not back propagate 
    """ 

    pass 

ネットワークで使用する場合ただし、ネットワークが収束しないと0.1精度にとどまる(以前この層を使用するのに対し、それは0.75%だった)それは私が間違ってやっていることは何ですか
ここに?

答えて

1

グラデーションを逆投影しないと、ネットはどのように収束すると思いますか? backward()への入力引数は、あなたが質問に書いたもの以外の方法とは異なると異なること

def backward(self, top, propagate_down, bottom): 
    bottom[0].diff[...] = top[0].diff 

注:あなたは、同様backwardを実装する必要があります。

関連する問題