2017-04-02 8 views
0

mxnetでカスタムアクティベーション機能/ opを作成する際の構文に関する質問があります。私はこの例を見ていた: 具体的https://github.com/dmlc/mxnet/blob/master/example/numpy-ops/custom_softmax.pymxnetカスタムアクティベーション機能/ op in numpy

、この部分:

class Softmax(mx.operator.CustomOp): 
    def forward(self, is_train, req, in_data, out_data, aux): 
     x = in_data[0].asnumpy() 
     y = np.exp(x - x.max(axis=1).reshape((x.shape[0], 1))) 
     y /= y.sum(axis=1).reshape((x.shape[0], 1)) 
     self.assign(out_data[0], req[0], mx.nd.array(y)) 

    def backward(self, req, out_grad, in_data, out_data, in_grad, aux): 
     l = in_data[1].asnumpy().ravel().astype(np.int) 
     y = out_data[0].asnumpy() 
     y[np.arange(l.shape[0]), l] -= 1.0 
     self.assign(in_grad[0], req[0], mx.nd.array(y)) 

OUT_DATA [1]対IN_DATA [1]、およびOUT_DATA [0]対IN_DATA [0]とまでは何ですか?インデックスは何に対応していますか?

ありがとうございます!

答えて