Copy a model.
With no arguments, the copy will live in the same environment as the original model. Provide an argument to copy an existing model to a different environment, typically to enable different threads to operate on different versions of the same model, since multiple threads can not simultaneously work within the same environment.
Note that this method itself is not thread safe, so you should either call it from the main thread or protect access to it with a lock.
Note that pending updates will not be applied to the model, so you should call update before copying if you would like those to be included in the copy.
For Compute Server users, note that you can copy a model from a client to a Compute Server environment, but it is not possible to copy models from a Compute Server environment to another (client or Compute Server) environment.
targetenv (optional): Environment to copy the model into.
Copy of model.
model.update() # If you have unstaged changes in the model copy = model.copy()