MCPcopy Create free account
hub / github.com/OpenNMT/CTranslate2 / clone_models

Method clone_models

python/cpp/replica_pool.h:173–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171 std::shared_mutex _mutex;
172
173 std::vector<std::shared_ptr<const models::Model>> clone_models(Device device,
174 const std::vector<int>& device_index,
175 std::vector<std::shared_ptr<const models::Model>> cached_models,
176 size_t num_models_per_device = 1) {
177 std::vector<std::shared_ptr<const models::Model>> copied_models;
178 for (size_t i = 0; i < cached_models.size(); ++i) {
179 auto& model = const_cast<models::Model&>(*cached_models[i]);
180 auto copied_model = model.copy_to(device, device_index[i / num_models_per_device]);
181 copied_models.push_back(copied_model);
182 }
183 return copied_models;
184 }
185
186 const std::shared_ptr<const models::Model>& model() const {
187 return _pool->get_first_replica().model();

Callers

nothing calls this directly

Calls 2

copy_toMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected