Roboflow's SDK doesn't have explicit documentation for device management, but it likely leverages the underlying machine learning frameworks (like PyTorch or TensorFlow) for device allocation. Here's how you can approach the three questions based on typical behavior in ML libraries:
Is the model loaded to GPU by default?
What happens when multiple GPUs are available?
cuda:0) is usually selected. However, this depends on the configuration of the underlying library (PyTorch, TensorFlow, etc.). Roboflow SDK would likely follow the default behavior of the framework it's using.How do I define in which GPU I want the model allocated?
device = torch.device("cuda:1" if torch.cuda.is_available() else "cpu")
model.to(device)
You'd need to ensure that Roboflow provides access to the underlying model for manual device allocation if it's not set automatically.
To confirm exact behavior, you may need to refer to Roboflow's support or inspect the framework behind the SDK for device handling.