You should create a SetUp method to check that there is only one bottom blob and only one top blob or if you also want this layer to work in-place you could add this
```
void TanHLayer<Dtype>::SetUp(const vector<Blob<Dtype>*>& bottom,
      vector<Blob<Dtype>*>* top) {
  NeuronLayer<Dtype>::SetUp(bottom, top);
```