# Workspace Setup
Once you're done with the framing phase of the project, as explored in the previous guides of this section, you can start setting up your workspace in order to proceed to the next steps of the data science process, where you will explore the data, train Machine Learning models on them, and deploy those models in order to make useful predictions.
There are two ways to set up your workspace: either in your local machine or in the cloud.
To setup a local workspace is a must-have skill for a data scientist practitioner, so we recommend you to try to go through a Local Setup at least once (unless you have a very old/weak computer).
Probably in the future you'll need to train bigger models which require more memory, costly cpu operations on raw data, and GPU acceleration for the training phase. In the Cloud Computing section we give you an overview of the several options you can consider to overcome the limitations of your local machine.
# Local Setup
After you've installed Python on your machine, in the guide Installing Packages with Pip you understand how to use the default Package Installation manager (Pip) to download the modules that you will need. However, even if you feel that more control over the environemnt could be good, you should consider using Anaconda as a preferred package manager for Data Science.
The recommended way to setup you local workspace is through the use of Anaconda.
Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.
Use the following tutorial to setup Anaconda on your local machine:
Anaconda brings with it the most used Python modules when working with data, and you can install more by simply using the " conda install " command, or using pip.
# Cloud Computing
One day you will find that in order to traing that model on 50 GB of images it takes too long for your computer to compute, so you start wondering if you should use Cloud Computing to host your calculations somewhere else!
Ever had a thought like "I should buy a more powerful pc"? Forget about it and use Cloud GPUs to train your model faster and cheaper!
Also get to know where you can deploy your model to serve millions of people.
Check out the free credits and Perks/offer section to get some free gpu hours.
Last updated : 20 April 2019
|#||Cloud vendor||Website||Pricing||Free Trial / Free Credits|
|1||Google Colaboratory||https://colab.research.google.com||FREE||FREE FOREVER*|
|2||Kaggle Kernels||https://www.kaggle.com||FREE||FREE FOREVER*|
|3||Tensorpad||https://www.tensorpad.com||1080ti at $0.49/hour||5 free GPU hours|
|4||FloydHub||https://www.floydhub.com||https://www.floydhub.com/pricing||free 2 GPU powerups in 14 days trial plan|
|6||Nimblebox||https://nimblebox.ai||https://nimblebox.ai/plans||free $5 worth of cloud credits|
|8||Overture||https://www.overture.ai||-||free credits on signup|
|11||Deepcognition||https://deepcognition.ai||https://deepcognition.ai/products||Desktop version free to use|
|14||Clusterone||https://clusterone.com||https://clusterone.com/pricing||$25 Sign up credit|
|16||Crestle||https://crestle.ai||https://crestle.ai/#pricing||1 hour of free GPU usage on sign up fast.ai|
|17||Vector Dash(gaming)||https://vectordash.com||-||free 7 day plan|
|18||Spell||https://spell.run/developers||https://spell.run/pricing||$10 GPU credit on signup|
|23||AWS Sagemaker||https://aws.amazon.com/sagemaker/||pricing||Free plans|
|26||Alibaba cloud||https://alibabacloud.com||pay as you go||$300 credits|
|27||IBM Cloud||https://www.ibm.com/cloud/gpu||pay as you go||$200 credits|
|28||Google Cloud Platform||https://cloud.google.com/gpu/||https://cloud.google.com/pricing/||$300 credits|
|29||Valohai||https://valohai.com||https://valohai.com/pricing/||free trial avaliable|
|31||One stop System||https://www.onestopsystems.com||-||-|
|33||Omnisci||https://www.omnisci.com||https://www.omnisci.com/cloud||14 day free trial|
# Deploy your model as a Web app
Have an idea and want to serve to world 🌎 , create a Webapp and deploy it as a flask , Django etc
|#||Vendor||Website||Pricing||Free Trial / Free Credits|
|2||Heroku||https://www.heroku.com||https://www.heroku.com/pricing||Free plan (model<500MB)|
|3||Digtal Ocean||https://www.digitalocean.com||pay as you go||free $100 credits with github student pack|
|5||Zeit||https://zeit.co||https://zeit.co/pricing||Free plan available|
# Perks and offers
If you are a student or researcher you can get extra credts , contact the provider
- Paperspace provides $10 of free Gradient° credit fast.ai link
- Do you have a GPU lying around rent your machine to Earn money using Vast.ai*
- Test Drive Nvidia GPU link
- Google Cloud Research program - gives $5000+ credits link
- AWS Cloud Credits for Research -link
- Nvidia GPU Grant Program- link
- If you are a Startup then google has you covered wth Startup Program giving you credits from $1000 to $100000 - link
- Google giving cluster of 1000 TPUs to researcher In total, this cluster delivers a total of more than 180 petaflops of raw compute power! techcrunch link - application link
- Google cloud Education Grant - link
- Github Education pack - along with many offers has upto $110 credits for AWS - link
- Watch out on fast.ai Forums to get coupon code for free credits
- Valohai gives you an researcher license for students and researchers
- Want to use a Super Computer but don't have one, go for Golem - Golem is a decentralized marketplace for computing power. It enables CPUs and GPUs to connect in a peer-to-peer network, enabling both application owners and individual users to rent resources from other users machines, so turbo charge your next model training.
# * Notes
- Google colab and Kaggle kernels have limited session time
- Most of the gpu providers run on top of AWS , GCP etc so may have more or less same pricing as the latter
- Information given above is best to my searching ability , you may recheck with the provider for pricing and other info
You have been given a panoramic of options to setup your workspace, either on your local machine or in the cloud. Often, to start practicing and experimenting you don't need a powerful GPU machine, and you can try things locally.
Then, when you need to experiment with the training of several Machine Learning models and pick the best one, you can choose a cloud provider like the ones listed here to massively scale!