5 advanced features that save you time on FloydHub
FloydHub has a lot of features that accelerate various stages of your ML workflow. In this post we are sharing the 5 most useful features and how to incorporate them in to your workflow.
1. Update datasets directly on FloydHub
You can now easily update your dataset on FloydHub. You can even combine multiple datasets in to one! After you are done, a new version of the dataset is created with your changes.
2. Work with private GitHub projects
You can clone your private GitHub repos directly into a workspace (using a terminal). You need to enter your GitHub username and password.
root@floydhub:/floyd/home#
root@floydhub:/floyd/home# git clone https://github.com/floydhub/demo-private.git
Cloning into 'demo-private'...
Username for 'https://github.com': username
Password for 'https://username@github.com':
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 7 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
Checking connectivity... done.
root@floydhub:/floyd/home#
root@floydhub:/floyd/home#
If you have 2-factor auth (2FA) enabled on GitHub, you need to use a personal access token instead of a password.
Before committing your changes you also need to configure your Git username and email address:
root@floydhub:/floyd/home#
root@floydhub:/floyd/home# cd demo-private/
root@floydhub:/floyd/home/demo-private#
root@floydhub:/floyd/home/demo-private# git config user.name "demouser"
root@floydhub:/floyd/home/demo-private# git config user.email "demouser@gmail.com"
root@floydhub:/floyd/home/demo-private#
You only have to do this once inside a workspace. After this you can commit and push your changes:
root@floydhub:/floyd/home/demo-private#
root@floydhub:/floyd/home/demo-private# vim README.md
root@floydhub:/floyd/home/demo-private#
root@floydhub:/floyd/home/demo-private# git commit -am "Update README"
[master ca7cc59] Update README
1 file changed, 2 insertions(+)
root@floydhub:/floyd/home/demo-private# git push origin master
Username for 'https://github.com': username
Password for 'https://username@github.com':
Counting objects: 3, done.
Writing objects: 100% (3/3), 277 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/floydhub/demo-private.git
7982e14..ca7cc59 master -> master
root@floydhub:/floyd/home/demo-private#
3. Submit training jobs from your workspace
Your workspace comes with the floyd command line tool pre-installed and pre-configured. To run a command job, simply use the "floyd run" command just as you would do from your local machine. The jobs belong to the same project and are run on separate FloydHub instances.
4. Identify the best hyper-parameters
If you are trying to identify the best set of parameters for your model, you can try out various combinations as command jobs. Just make sure you are generating training metrics in your code. You can then view all your jobs under the project to identify the best performing jobs and stop the ones that not doing so well.
5. Get notified on Slack when your jobs finish
Setup slack integration and get immediate notifications when you training job finishes. The notification includes the job status and the values of training metrics like accuracy. If the model is not up to par - you can quickly try something different.
We hope these workflows are very useful when you are using FloydHub. Do you have a cool workflow that you want to share with us? Send an email to support@floydhub.com.