title: Create layer error at layer_factory.hpp
body: <p>I am trying to extract features using <code>caffenet.caffemodel</code>. I implement <code>extract_features.cpp</code> in Visual Studio. My caffe library is also build as static library and link to <code>extract_features.exe</code>. When I run the code, I have error as </p>
  
  <pre><code>E0906 02:10:00.842056  4356 extract_features.cpp:74] Using CPU
  F0906 02:10:04.035171  4356 layer_factory.hpp:88] Check failed: registry.count(t
  ype) == 1 (0 vs. 1) Unknown layer type: ImageData (known types: )
  *** Check failure stack trace: ***
  </code></pre>
  
  <p>The error happens at <code>layer_factory.hpp</code></p>
  
  <pre><code>static shared_ptr&lt;Layer&lt;Dtype&gt; &gt; CreateLayer(const LayerParameter&amp; param)
       {
      if (Caffe::root_solver()) {
        LOG(INFO) &lt;&lt; "Creating layer " &lt;&lt; param.name();
      }
      const string&amp; type = param.type();
      CreatorRegistry&amp; registry = Registry();
      CHECK_EQ(registry.count(type), 1) &lt;&lt; "Unknown layer type: " &lt;&lt; type
          &lt;&lt; " (known types: " &lt;&lt; LayerTypeListString() &lt;&lt; ")";
      return registry[type](param);
    }
  </code></pre>
  
  <p>Initially was I thought Link error. Now I look more carefully and realized that not linker issue. What could be the error?</p>