这里举个例子添加 Relu6,即 std::min(6, std::max(0, val)) ``` Input input 0 1 input Convolution conv2d 1 1 input conv2d 0=32 1=1 2=1 3=1 4=0 5=0 6=768 Relu6 relu6 1 1 conv2d relu6 Pooling maxpool 1 1 relu6 maxpool 0=0 1=3 2=2 3=-233 4=0 ``` ## method 1 -- 注册自定义层 ``` #include "layer.h" class Relu6 : public ncnn::Layer { public: Relu6() { one_blob_only = true; support_inplace = true; } virtual int forward_inplace(Mat& bottom_top_blob, const Option& opt) const { int w = bottom_top_blob.w; int h = bottom_top_blob.h; int channels = bottom_top_blob.c; int size = w * h; #pragma omp parallel for num_threads(opt.num_threads) for (int q=0; q