title: How to load only specific weights on Keras
body: <p>I have a trained model that I've exported the weights and want to partially load into another model.
  My model is built in Keras using TensorFlow as backend.</p>
  
  <p>Right now I'm doing as follows:</p>
  
  <pre><code>model = Sequential()
  model.add(Conv2D(32, (3, 3), input_shape=input_shape, trainable=False))
  model.add(Activation('relu', trainable=False))
  model.add(MaxPooling2D(pool_size=(2, 2)))
  
  model.add(Conv2D(32, (3, 3), trainable=False))
  model.add(Activation('relu', trainable=False))
  model.add(MaxPooling2D(pool_size=(2, 2)))
  
  model.add(Conv2D(64, (3, 3), trainable=True))
  model.add(Activation('relu', trainable=True))
  model.add(MaxPooling2D(pool_size=(2, 2)))
  
  model.add(Flatten())
  model.add(Dense(64))
  model.add(Activation('relu'))
  model.add(Dropout(0.5))
  model.add(Dense(1))
  model.add(Activation('sigmoid'))
  
  model.compile(loss='binary_crossentropy',
                optimizer='rmsprop',
                metrics=['accuracy'])
  
  
  model.load_weights("image_500.h5")
  model.pop()
  model.pop()
  model.pop()
  model.pop()
  model.pop()
  model.pop()
  
  
  model.add(Conv2D(1, (6, 6),strides=(1, 1), trainable=True))
  model.add(Activation('relu', trainable=True))
  
  model.compile(loss='binary_crossentropy',
                optimizer='rmsprop',
                metrics=['accuracy'])
  </code></pre>
  
  <p>I'm sure it's a terrible way to do it, although it works.</p>
  
  <p>How do I load just the first 9 layers?</p>