SolverParameter ModelServer<Dtype>::prepare_model() { NetParameter net; solver->net()->ToProto(&net); for (int i = 0; i < net.layer_size(); ++i) { LayerParameter& layer = *net.mutable_layer(i); layer.clear_blobs(); if ((layer.type().find("Data") != std::string::npos) && (layer.has_remote_data_param())) { layer.set_type("RemoteData"); for (int j = 0; j < layer.top_size(); ++j) { *layer.mutable_remote_data_param()->add_shape() = blob_shape_by_name(layer.top(j)); } } } SolverParameter ret = solver->param(); ret.clear_net(); ret.clear_net_param(); ret.clear_test_net(); ret.clear_test_net_param(); ret.clear_train_net(); *ret.mutable_train_net_param() = net; return ret; }