Guild runs on remote not found

I’ve setup a remote in the guild.yml file. No problem running guild pull --remote server and the like. But how does one run a remote op from the local computer? There must be something simple I’m missing. Running:

guild run train --remote server

Always yields guild: cannot find operation train. This kind of makes sense, how would guild know the location of the ops on the remote? My guild.yml looks something like:

  server:
    type: ssh
    description: Remote servers
    user: username
    host: server.domain
    conda-env: /home/path/to/anaconda3

If you’re running that command from a local directory containing the Guild file, Guild should see the operation. You can list the operations that Guild can see by running:

guild operations

If you run the train operation remotely, Guild looks in the current directory and packages up what’s needed remotely, copies that content to the remote server, and then runs the operation on that server.

If you instead want to run an operation from a directory that’s on a remote server, your only approach is to ssh to that server and run it from that directory. In that case you don’t specify the --remote operation — you’re already connected to the remote server and are running it locally there.

1 Like

Ahhhh I see, this is the part I did not understand. Now it makes sense. Thanks!

1 Like