You need both the .caffemodel and .solverstate files. Caffemodel is the model itself (i.e. weights and biases for the network architecture) and solverstate contains all other state information required by the network, including hyperparamters.
Try:
solver.net.copy_from('<filename>.caffemodel')
solver.restore('<filename>.solverstate')