floyd run
Run your project on Floyd.
Usage¶
floyd run [OPTIONS] [COMMAND]
Options¶
Name, shorthand | Default | Description |
---|---|---|
--gpu/--gpu2/--cpu/--cpu2 |
cpu | If specified, runs the job on a GPU (K80) / GPU2 (V100) instance or CPU (2 cores) / CPU2 (8 cores) instance. See instance specifications on the pricing page. |
--data <ID:mount> |
ID of the data source to link to. mount specifies the path to mount it at. You can use this parameter multiple times. See data section for more details. |
|
--mode [job|serve] |
job | Specify the mode you want to run the project. The default behavior executes the command you specify. See serve section for more info. |
--env [tensorflow|tensorflow:py2|...] |
tensorflow | Specify the environment you want to use for your project. See environments for the full list. |
--message <message_str> |
Attach a message to the specific run of the project. | |
--max-runtime <time_in_seconds> |
Maximum runtime duration allowed for this job. FloydHub will terminate if job is running after this duration. | |
-f , --follow |
Stream the output of your code in real-time. | |
command | Command to execute when running your project on Floyd. |
Encoding issue!
This is a common issue for Windows users: This occurs when your Windows terminal is using a different encoding from the one expected by the remote machine. Here are some examples:
- Slash and single quote issue:
floyd run \ --data alice/datasets/test \ 'python test_Sony.py'
is translated asfloyd run --data alice/datasets/test '\ \ \ \ '"'"'python test_Sony.py'"'"''
- Double quotes issue:
floyd run "python test_Sony.py"
is translated asfloyd run ''"'"'python test_Sony.py'"'"''
Unfortunately, there isn't a silver bullet to identifying this issue, but you can use the Command
view of the Job's Overview page to help debug and identify this issue. More generally, if you notice this issue, you can try to switch single quotes with double or vice versa, and remove the slash if you are indenting the commands on multiple lines - these changes usually fix the issue in 99% of the cases. If not, please reach out to us at support@floydhub.com.
Description¶
This command syncs the code tracked by the CLI to the Floyd servers and executes your command. You can see the progress with status command. To view the logs from your code use logs command.
Example¶
$ floyd run --env tensorflow --gpu "python mnist_cnn.py"
Syncing code ...
NAME
-----------------------------
floydhub/projects/lung-cancer/2
...
$ floyd logs floydhub/projects/lung-cancer/2
floyd_requirements.txt¶
Floyd runs standard Docker images for various deep learning frameworks.(See environments for details). If your
code requires additional Python dependencies you can specify them in a floyd_requirements.txt
file and place it at the root
directory of your project. These dependencies will be installed before running your code.
Example¶
$ cat floyd_requirements.txt
Pillow
scipy
$ floyd run "python train_tf.py -lr 0.01 -output models/model.bin"
Maximum Runtime (in seconds)¶
The --max-runtime
flag lets you set a maximum runtime duration for your job. If a running job
exceeds its maximum runtime, FloydHub will stop the job and save any output that was
generated until that point.
Example¶
$ floyd run --max-runtime 3600
Follow¶
The --follow
flag allows you to immediately display the Logs of the running Job without launching the floyd logs
command.
$ floyd run --env tensorflow --gpu --follow "python mnist_cnn.py" Creating project run. Total upload size: 1.1MB Syncing code ... [================================] 1300/1300 - 00:00:00 Opening logs ... Waiting for logs ... 2018-07-09 07:03:23,744 INFO - Preparing to run TaskInstance ... ################################################# 2018-07-09 07:03:25,596 INFO - Run Output: ... ################################################# 2018-07-09 07:03:40,202 INFO - Waiting for container to complete... 2018-07-09 07:03:40,358 INFO - Persisting outputs... 2018-07-09 07:03:42,181 INFO - Creating data module for output... 2018-07-09 07:03:42,212 INFO - Data module created for output. 2018-07-09 07:03:42,212 INFO - Persisting data in home... 2018-07-09 07:03:42,333 INFO - Home data persisted.
Attaching multiple datasets¶
You can attach up to 5 datasets when you run a job using the run command. You can specify both datasets you uploaded and output datasets of your previous runs. You can specify the mount point also when you specify the data id to mount.
Example:¶
$ floyd run --data udacity/datasets/celeba/1:training --data udacity/datasets/mnist/1:testing "python script.py"
/training
and /testing
respectively.
Serve¶
FloydHub can be used to host the model you generated as REST API. API can be used to evaluate your model over HTTP protocol.
Use --mode serve
and you will be presented with a URL to access your API. You do not need to specify a command in this mode.
See serving document for more details.
Example¶
$ floyd run --mode serve ... URL to service endpoint: https://www.floydlabs.com/serve/mkxjJa46aJBdwP4AEdKxfU
Help make this document better¶
This guide, as well as the rest of our docs, are open-source and available on GitHub. We welcome your contributions.
- Suggest an edit to this page (by clicking the edit icon at the top next to the title).
- Open an issue about this page to report a problem.