{
  "id": 128864,
  "title": "Setup Google Cloud Instance for DFDC",
  "url": "/competitions/deepfake-detection-challenge/discussion/128864",
  "author_name": "Debanga Raj Neog",
  "post_date": "2020-02-03T21:21:40.294000",
  "votes": 25,
  "comment_count": 15,
  "views": 0,
  "content": "<h2>Disclaimer: Cheatsheet only</h2>\n\n<h3>Basics</h3>\n\n<ul>\n<li><p>Create a GCP account at <a href=\"https://cloud.google.com/\">https://cloud.google.com/</a> and set up billing details</p></li>\n<li><p>Create a project</p></li>\n<li><p>Create a VM instance</p></li>\n<li><p>Setup external IP of the VM to static, set up firewall based on the reference  article [1]</p></li>\n<li><p>Add a persistent drive to VM, see reference [2]</p></li>\n</ul>\n\n<p>E.g. Device id: sdb, mount dir: dfdc_data</p>\n\n<h3>With Format</h3>\n\n<p><code>\nsudo lsblk &amp;amp;&amp;amp; sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb &amp;amp;&amp;amp; sudo mkdir -p /mnt/disks/dfdc_data &amp;amp;&amp;amp; sudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;amp;&amp;amp; sudo chmod a+w /mnt/disks/dfdc_data\n</code></p>\n\n<h3>Without Format</h3>\n\n<p><code>\nsudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n</code></p>\n\n<h3>Download data</h3>\n\n<ul>\n<li>Use <code>CurlWGet</code> chrome extension to get data URL (the link of the full training data from the competition website, I'm referring to the single big zip file).</li>\n</ul>\n\n<p>Mine looks like this:\n<code>\nwget --header=\"Host: storage.googleapis.com\" --header=\"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\" --header=\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\" --header=\"Accept-Language: en-US,en;q=0.9,th;q=0.8,zh-CN;q=0.7,zh;q=0.6\" --header=[bada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boom]TVZx34pegM3Y%2BnmpP1Lmzlh3blRCm7MpsV9LEEsnXobuP3YwZNEzzF1nh7C%2BG7jtJyuz5JHkJ6pyoHKtHunTw%3D%3D\" -O \"dfdc_train_all.zip\" -c\n</code>\n- Change <code>dfdc_train_all.zip</code> to <code>[YOUR_PERSISTENT_DISK_PATH]/dfdc_train_all.zip</code></p>\n\n<ul>\n<li><p>Unzip data to your disk\n<code>\nunzip dfdc_train_all.zip -d /mnt/disks/dfdc_data\n</code></p></li>\n<li><p>Wait, what? More .zips inside LOL. I am extracting them to a folder called 'data'\n```\nunzip dfdc_train_part_00.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_01.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_02.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_03.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_04.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_05.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_06.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_07.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_08.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_09.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_10.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_11.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_12.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_13.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_14.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_15.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_16.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_17.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_18.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_19.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_20.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_21.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_22.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_23.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_24.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_25.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_26.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_27.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_28.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_29.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_30.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_31.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_32.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_33.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_34.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_35.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_36.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_37.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_38.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_39.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_40.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_41.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_42.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_43.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_44.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_45.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_46.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_47.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_48.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_49.zip -d /mnt/disks/dfdc_data/data/</p></li>\n</ul>\n\n<p>```\nI'm lazy, make a for loop if you wish.</p>\n\n<h3>Set up Jupyter</h3>\n\n<p>```</p>\n\n<h1>Download Anaconda</h1>\n\n<p>$ wget <a href=\"http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh\">http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh</a></p>\n\n<h1>License, path, etc. (Don't forget to say 'yes' to prepending path)</h1>\n\n<p>$ bash Anaconda3-4.0.0-Linux-x86_64.sh</p>\n\n<h1>Activate conda</h1>\n\n<p>$ source .bashrc</p>\n\n<h1>Quick check</h1>\n\n<p>$ conda --version </p>\n\n<h1>Run pip to test</h1>\n\n<p>pip install torch\npip install torchvision\n<code>\nRunning Jupyter in browser via external IP.\n</code>\n$ jupyter notebook --ip=0.0.0.0 --port=8080 --no-browser &amp;\n<code>\nAvailable at\n</code>\nhttp://[EXTERNAL_IP]:8080\n```</p>\n\n<h3>Using buckets</h3>\n\n<ul>\n<li><p>Create a bucket</p></li>\n<li><p>Getting permission\n<code>\ngsutil config -b\n</code></p></li>\n<li><p>Copy some data to bucket\n<code>\ngsutil -m cp -r /mnt/disks/dfdc_data/data gs://[BUCKET_NAME]\n</code></p></li>\n<li><p>Or copy data from bucket\n<code>\ngsutil -m cp -r gs://[BUCKET_NAME]/mnt/disks/dfdc_data/data\n</code></p>\n\n<h3>Bonus</h3></li>\n</ul>\n\n<p>You may also want to save any processed data as <code>.zip</code> to the local disk and then export to GCP bucket. The benefit is you can directly download the .zip file from your GCP Bucket page. It also means you can curl the link it to any other machines or instances, e.g. if you are using AWS Sagemaker for GPU based model training.</p>\n\n<h2>Reference</h2>\n\n<ul>\n<li>[1] <a href=\"https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52\">https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52</a></li>\n<li>[2] <a href=\"https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting\">https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting</a></li>\n</ul>",
  "messages": [
    {
      "id": 736130,
      "postDate": "2020-02-03T21:21:40.293Z",
      "content": "<h2>Disclaimer: Cheatsheet only</h2>\n\n<h3>Basics</h3>\n\n<ul>\n<li><p>Create a GCP account at <a href=\"https://cloud.google.com/\">https://cloud.google.com/</a> and set up billing details</p></li>\n<li><p>Create a project</p></li>\n<li><p>Create a VM instance</p></li>\n<li><p>Setup external IP of the VM to static, set up firewall based on the reference  article [1]</p></li>\n<li><p>Add a persistent drive to VM, see reference [2]</p></li>\n</ul>\n\n<p>E.g. Device id: sdb, mount dir: dfdc_data</p>\n\n<h3>With Format</h3>\n\n<p><code>\nsudo lsblk &amp;amp;&amp;amp; sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb &amp;amp;&amp;amp; sudo mkdir -p /mnt/disks/dfdc_data &amp;amp;&amp;amp; sudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;amp;&amp;amp; sudo chmod a+w /mnt/disks/dfdc_data\n</code></p>\n\n<h3>Without Format</h3>\n\n<p><code>\nsudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n</code></p>\n\n<h3>Download data</h3>\n\n<ul>\n<li>Use <code>CurlWGet</code> chrome extension to get data URL (the link of the full training data from the competition website, I'm referring to the single big zip file).</li>\n</ul>\n\n<p>Mine looks like this:\n<code>\nwget --header=\"Host: storage.googleapis.com\" --header=\"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\" --header=\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\" --header=\"Accept-Language: en-US,en;q=0.9,th;q=0.8,zh-CN;q=0.7,zh;q=0.6\" --header=[bada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boom]TVZx34pegM3Y%2BnmpP1Lmzlh3blRCm7MpsV9LEEsnXobuP3YwZNEzzF1nh7C%2BG7jtJyuz5JHkJ6pyoHKtHunTw%3D%3D\" -O \"dfdc_train_all.zip\" -c\n</code>\n- Change <code>dfdc_train_all.zip</code> to <code>[YOUR_PERSISTENT_DISK_PATH]/dfdc_train_all.zip</code></p>\n\n<ul>\n<li><p>Unzip data to your disk\n<code>\nunzip dfdc_train_all.zip -d /mnt/disks/dfdc_data\n</code></p></li>\n<li><p>Wait, what? More .zips inside LOL. I am extracting them to a folder called 'data'\n```\nunzip dfdc_train_part_00.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_01.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_02.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_03.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_04.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_05.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_06.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_07.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_08.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_09.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_10.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_11.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_12.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_13.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_14.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_15.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_16.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_17.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_18.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_19.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_20.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_21.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_22.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_23.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_24.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_25.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_26.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_27.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_28.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_29.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_30.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_31.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_32.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_33.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_34.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_35.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_36.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_37.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_38.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_39.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_40.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_41.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_42.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_43.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_44.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_45.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_46.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_47.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_48.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_49.zip -d /mnt/disks/dfdc_data/data/</p></li>\n</ul>\n\n<p>```\nI'm lazy, make a for loop if you wish.</p>\n\n<h3>Set up Jupyter</h3>\n\n<p>```</p>\n\n<h1>Download Anaconda</h1>\n\n<p>$ wget <a href=\"http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh\">http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh</a></p>\n\n<h1>License, path, etc. (Don't forget to say 'yes' to prepending path)</h1>\n\n<p>$ bash Anaconda3-4.0.0-Linux-x86_64.sh</p>\n\n<h1>Activate conda</h1>\n\n<p>$ source .bashrc</p>\n\n<h1>Quick check</h1>\n\n<p>$ conda --version </p>\n\n<h1>Run pip to test</h1>\n\n<p>pip install torch\npip install torchvision\n<code>\nRunning Jupyter in browser via external IP.\n</code>\n$ jupyter notebook --ip=0.0.0.0 --port=8080 --no-browser &amp;\n<code>\nAvailable at\n</code>\nhttp://[EXTERNAL_IP]:8080\n```</p>\n\n<h3>Using buckets</h3>\n\n<ul>\n<li><p>Create a bucket</p></li>\n<li><p>Getting permission\n<code>\ngsutil config -b\n</code></p></li>\n<li><p>Copy some data to bucket\n<code>\ngsutil -m cp -r /mnt/disks/dfdc_data/data gs://[BUCKET_NAME]\n</code></p></li>\n<li><p>Or copy data from bucket\n<code>\ngsutil -m cp -r gs://[BUCKET_NAME]/mnt/disks/dfdc_data/data\n</code></p>\n\n<h3>Bonus</h3></li>\n</ul>\n\n<p>You may also want to save any processed data as <code>.zip</code> to the local disk and then export to GCP bucket. The benefit is you can directly download the .zip file from your GCP Bucket page. It also means you can curl the link it to any other machines or instances, e.g. if you are using AWS Sagemaker for GPU based model training.</p>\n\n<h2>Reference</h2>\n\n<ul>\n<li>[1] <a href=\"https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52\">https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52</a></li>\n<li>[2] <a href=\"https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting\">https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting</a></li>\n</ul>",
      "rawMarkdown": "## Disclaimer: Cheatsheet only\n\n### Basics\n\n- Create a GCP account at https://cloud.google.com/ and set up billing details\n\n- Create a project\n\n- Create a VM instance\n\n- Setup external IP of the VM to static, set up firewall based on the reference  article [1]\n\n- Add a persistent drive to VM, see reference [2]\n\nE.g. Device id: sdb, mount dir: dfdc_data\n\n### With Format\n```\nsudo lsblk &amp;&amp; sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb &amp;&amp; sudo mkdir -p /mnt/disks/dfdc_data &amp;&amp; sudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n```\n### Without Format\n```\nsudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n```\n\n### Download data\n- Use ```CurlWGet``` chrome extension to get data URL (the link of the full training data from the competition website, I'm referring to the single big zip file).\n\nMine looks like this:\n```\nwget --header=\"Host: storage.googleapis.com\" --header=\"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\" --header=\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\" --header=\"Accept-Language: en-US,en;q=0.9,th;q=0.8,zh-CN;q=0.7,zh;q=0.6\" --header=[bada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boom]TVZx34pegM3Y%2BnmpP1Lmzlh3blRCm7MpsV9LEEsnXobuP3YwZNEzzF1nh7C%2BG7jtJyuz5JHkJ6pyoHKtHunTw%3D%3D\" -O \"dfdc_train_all.zip\" -c\n```\n- Change ```dfdc_train_all.zip``` to ```[YOUR_PERSISTENT_DISK_PATH]/dfdc_train_all.zip```\n\n- Unzip data to your disk\n```\nunzip dfdc_train_all.zip -d /mnt/disks/dfdc_data\n```\n\n- Wait, what? More .zips inside LOL. I am extracting them to a folder called 'data'\n```\nunzip dfdc_train_part_00.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_01.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_02.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_03.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_04.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_05.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_06.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_07.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_08.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_09.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_10.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_11.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_12.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_13.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_14.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_15.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_16.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_17.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_18.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_19.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_20.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_21.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_22.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_23.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_24.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_25.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_26.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_27.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_28.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_29.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_30.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_31.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_32.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_33.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_34.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_35.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_36.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_37.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_38.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_39.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_40.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_41.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_42.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_43.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_44.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_45.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_46.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_47.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_48.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_49.zip -d /mnt/disks/dfdc_data/data/\n\n```\nI'm lazy, make a for loop if you wish.\n\n### Set up Jupyter\n\n```\n# Download Anaconda\n$ wget http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh\n\n# License, path, etc. (Don't forget to say 'yes' to prepending path)\n$ bash Anaconda3-4.0.0-Linux-x86_64.sh\n\n# Activate conda\n$ source .bashrc\n\n# Quick check\n$ conda --version \n\n# Run pip to test\npip install torch\npip install torchvision\n```\nRunning Jupyter in browser via external IP.\n```\n$ jupyter notebook --ip=0.0.0.0 --port=8080 --no-browser &amp;\n```\nAvailable at\n```\nhttp://[EXTERNAL_IP]:8080\n```\n\n### Using buckets\n- Create a bucket\n\n- Getting permission\n```\ngsutil config -b\n```\n\n- Copy some data to bucket\n```\ngsutil -m cp -r /mnt/disks/dfdc_data/data gs://[BUCKET_NAME]\n```\n\n- Or copy data from bucket\n```\ngsutil -m cp -r gs://[BUCKET_NAME]/mnt/disks/dfdc_data/data\n```\n### Bonus\nYou may also want to save any processed data as ```.zip``` to the local disk and then export to GCP bucket. The benefit is you can directly download the .zip file from your GCP Bucket page. It also means you can curl the link it to any other machines or instances, e.g. if you are using AWS Sagemaker for GPU based model training.\n\n\n## Reference\n- [1] https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52\n- [2] https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting",
      "votes": 24
    },
    {
      "id": 740180,
      "postDate": "2020-02-09T01:40:46.693Z",
      "content": "<p>BTW you do need to install cuda and cudnn(unless computing on CPU). Please refer to my kernel. Simple copy and paste. <a href=\"https://www.kaggle.com/unkownhihi/guide-to-setup-a-vm\">link</a></p>",
      "rawMarkdown": "BTW you do need to install cuda and cudnn(unless computing on CPU). Please refer to my kernel. Simple copy and paste. [link](https://www.kaggle.com/unkownhihi/guide-to-setup-a-vm)",
      "votes": 1,
      "replies": [
        {
          "id": 745354,
          "postDate": "2020-02-13T18:29:41.400Z",
          "content": "<p>Thanks! I used only for processing in CPU.</p>",
          "rawMarkdown": "Thanks! I used only for processing in CPU."
        }
      ]
    },
    {
      "id": 736241,
      "postDate": "2020-02-04T01:33:20.833Z",
      "content": "<p>Very clear! This is a good cheatsheet for someone haven't had experience with GCP 👍 </p>",
      "rawMarkdown": "Very clear! This is a good cheatsheet for someone haven't had experience with GCP 👍 ",
      "votes": 2
    },
    {
      "id": 761343,
      "postDate": "2020-03-02T12:06:43.913Z",
      "content": "<p><a href=\"/debanga\">@debanga</a> Is there simple way to download some Kaggle data set to GCP VM instance?</p>",
      "rawMarkdown": "@debanga Is there simple way to download some Kaggle data set to GCP VM instance?",
      "replies": [
        {
          "id": 761423,
          "postDate": "2020-03-02T13:56:49.273Z",
          "content": "<p>Use CurlWGet chrome extension. When you press download from Kaggle dataset, the extension will generate a long link. Use that link to “wget” in VM.</p>",
          "rawMarkdown": "Use CurlWGet chrome extension. When you press download from Kaggle dataset, the extension will generate a long link. Use that link to “wget” in VM.",
          "votes": 1
        }
      ]
    },
    {
      "id": 743368,
      "postDate": "2020-02-12T02:31:09.453Z",
      "content": "<p>That was a great and HELPFUL explanation, thanks Zenify</p>",
      "rawMarkdown": "That was a great and HELPFUL explanation, thanks Zenify",
      "replies": [
        {
          "id": 743402,
          "postDate": "2020-02-12T03:13:36.693Z",
          "content": "<p>Welcome :)</p>",
          "rawMarkdown": "Welcome :)"
        }
      ]
    },
    {
      "id": 738411,
      "postDate": "2020-02-06T13:40:21.083Z",
      "content": "<p>Thanks for sharing and very useful for the beginners like me to the Google cloud. </p>\n\n<p>It is good if someone creates cheatsheet for <code>aws sagemaker</code> and adding data to <code>s3</code> bucket just like this good cloud cheatsheet . </p>",
      "rawMarkdown": "Thanks for sharing and very useful for the beginners like me to the Google cloud. \n\nIt is good if someone creates cheatsheet for ``aws sagemaker`` and adding data to ``s3`` bucket just like this good cloud cheatsheet . "
    },
    {
      "id": 736917,
      "postDate": "2020-02-04T17:50:39.413Z",
      "content": "<p>Cool! Thanks for sharing! </p>\n\n<p>Another pointer- \nYou can use Google's pre-built Deep Learning VMs instead of installing all the dependencies. </p>\n\n<p><a href=\"https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning\">Link to Deep Learning VM</a></p>\n\n<p>You can choose a TF or PyTorch framework. Add a GPU or a TPU \nJupyterlab is also pre-installed so, you can open a notebook with a click of a button from the AI Hub console. </p>",
      "rawMarkdown": "Cool! Thanks for sharing! \n\nAnother pointer- \nYou can use Google's pre-built Deep Learning VMs instead of installing all the dependencies. \n\n[Link to Deep Learning VM](https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning)\n\nYou can choose a TF or PyTorch framework. Add a GPU or a TPU \nJupyterlab is also pre-installed so, you can open a notebook with a click of a button from the AI Hub console. \n\n",
      "replies": [
        {
          "id": 736973,
          "postDate": "2020-02-04T19:00:22.077Z",
          "content": "<p>Thanks for the information :))</p>",
          "rawMarkdown": "Thanks for the information :))"
        }
      ]
    },
    {
      "id": 736329,
      "postDate": "2020-02-04T04:19:24.330Z",
      "content": "<p>Please replace <code>&amp;amp;</code> with <code>&amp;</code>. I think while I was copying from terminal to the post, it was changed during HTML conversion, and there are simply too many to change in the post :D Maybe I will do sometime later.</p>",
      "rawMarkdown": "Please replace ```&amp;``` with ```&amp;```. I think while I was copying from terminal to the post, it was changed during HTML conversion, and there are simply too many to change in the post :D Maybe I will do sometime later.",
      "replies": [
        {
          "id": 736710,
          "postDate": "2020-02-04T13:40:54.863Z",
          "content": "<p>you can use wildcards (but you need quotes to avoid its expansion in the shell):\n<code>unzip \"dfdc_train_part_??.zip\"  -d /mnt/disks/dfdc_data/data/</code>\n😉 </p>",
          "rawMarkdown": "you can use wildcards (but you need quotes to avoid its expansion in the shell):\n`unzip \"dfdc_train_part_??.zip\"  -d /mnt/disks/dfdc_data/data/`\n😉 ",
          "votes": 3
        },
        {
          "id": 736768,
          "postDate": "2020-02-04T14:33:15.250Z",
          "content": "<p>Perfect! Thanks :) It was one of those midnight scripts, when you just want to get things done and brain stops working haha. Will change it here.</p>",
          "rawMarkdown": "Perfect! Thanks :) It was one of those midnight scripts, when you just want to get things done and brain stops working haha. Will change it here."
        }
      ]
    },
    {
      "id": 736249,
      "postDate": "2020-02-04T01:42:44.100Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 745547,
      "postDate": "2020-02-13T23:00:23.423Z",
      "content": "<p><a href=\"/debanga\">@debanga</a> check your email. Thanks!</p>",
      "rawMarkdown": "@debanga check your email. Thanks!",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 740180,
      "author_name": "Shangqiu Li",
      "author_url": "",
      "post_date": "2020-02-09T01:40:46.693000",
      "content": "<p>BTW you do need to install cuda and cudnn(unless computing on CPU). Please refer to my kernel. Simple copy and paste. <a href=\"https://www.kaggle.com/unkownhihi/guide-to-setup-a-vm\">link</a></p>",
      "votes": 1,
      "replies": [
        {
          "id": 745354,
          "author_name": "Debanga Raj Neog",
          "author_url": "",
          "post_date": "2020-02-13T18:29:41.400000",
          "content": "<p>Thanks! I used only for processing in CPU.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 736241,
      "author_name": "Hieu Phung",
      "author_url": "",
      "post_date": "2020-02-04T01:33:20.833000",
      "content": "<p>Very clear! This is a good cheatsheet for someone haven't had experience with GCP 👍 </p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 761343,
      "author_name": "Darko Androcec",
      "author_url": "",
      "post_date": "2020-03-02T12:06:43.913000",
      "content": "<p><a href=\"/debanga\">@debanga</a> Is there simple way to download some Kaggle data set to GCP VM instance?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 761423,
          "author_name": "Debanga Raj Neog",
          "author_url": "",
          "post_date": "2020-03-02T13:56:49.273000",
          "content": "<p>Use CurlWGet chrome extension. When you press download from Kaggle dataset, the extension will generate a long link. Use that link to “wget” in VM.</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 743368,
      "author_name": "Ricardo",
      "author_url": "",
      "post_date": "2020-02-12T02:31:09.453000",
      "content": "<p>That was a great and HELPFUL explanation, thanks Zenify</p>",
      "votes": 0,
      "replies": [
        {
          "id": 743402,
          "author_name": "Debanga Raj Neog",
          "author_url": "",
          "post_date": "2020-02-12T03:13:36.693000",
          "content": "<p>Welcome :)</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 738411,
      "author_name": "Sai Srinivas Reddy",
      "author_url": "",
      "post_date": "2020-02-06T13:40:21.083000",
      "content": "<p>Thanks for sharing and very useful for the beginners like me to the Google cloud. </p>\n\n<p>It is good if someone creates cheatsheet for <code>aws sagemaker</code> and adding data to <code>s3</code> bucket just like this good cloud cheatsheet . </p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 736917,
      "author_name": "SkyLord",
      "author_url": "",
      "post_date": "2020-02-04T17:50:39.413000",
      "content": "<p>Cool! Thanks for sharing! </p>\n\n<p>Another pointer- \nYou can use Google's pre-built Deep Learning VMs instead of installing all the dependencies. </p>\n\n<p><a href=\"https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning\">Link to Deep Learning VM</a></p>\n\n<p>You can choose a TF or PyTorch framework. Add a GPU or a TPU \nJupyterlab is also pre-installed so, you can open a notebook with a click of a button from the AI Hub console. </p>",
      "votes": 0,
      "replies": [
        {
          "id": 736973,
          "author_name": "Debanga Raj Neog",
          "author_url": "",
          "post_date": "2020-02-04T19:00:22.077000",
          "content": "<p>Thanks for the information :))</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 736329,
      "author_name": "Debanga Raj Neog",
      "author_url": "",
      "post_date": "2020-02-04T04:19:24.330000",
      "content": "<p>Please replace <code>&amp;amp;</code> with <code>&amp;</code>. I think while I was copying from terminal to the post, it was changed during HTML conversion, and there are simply too many to change in the post :D Maybe I will do sometime later.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 736710,
          "author_name": "Henrique Mendonça",
          "author_url": "",
          "post_date": "2020-02-04T13:40:54.863000",
          "content": "<p>you can use wildcards (but you need quotes to avoid its expansion in the shell):\n<code>unzip \"dfdc_train_part_??.zip\"  -d /mnt/disks/dfdc_data/data/</code>\n😉 </p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 736768,
          "author_name": "Debanga Raj Neog",
          "author_url": "",
          "post_date": "2020-02-04T14:33:15.250000",
          "content": "<p>Perfect! Thanks :) It was one of those midnight scripts, when you just want to get things done and brain stops working haha. Will change it here.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 736249,
      "author_name": "",
      "author_url": "",
      "post_date": "2020-02-04T01:42:44.100000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 745547,
      "author_name": "Shangqiu Li",
      "author_url": "",
      "post_date": "2020-02-13T23:00:23.423000",
      "content": "<p><a href=\"/debanga\">@debanga</a> check your email. Thanks!</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "736130": "## Disclaimer: Cheatsheet only\n\n### Basics\n\n- Create a GCP account at https://cloud.google.com/ and set up billing details\n\n- Create a project\n\n- Create a VM instance\n\n- Setup external IP of the VM to static, set up firewall based on the reference  article [1]\n\n- Add a persistent drive to VM, see reference [2]\n\nE.g. Device id: sdb, mount dir: dfdc_data\n\n### With Format\n```\nsudo lsblk &amp;&amp; sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb &amp;&amp; sudo mkdir -p /mnt/disks/dfdc_data &amp;&amp; sudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n```\n### Without Format\n```\nsudo mount -o discard,defaults /dev/sdb /mnt/disks/dfdc_data &amp;&amp; sudo chmod a+w /mnt/disks/dfdc_data\n```\n\n### Download data\n- Use ```CurlWGet``` chrome extension to get data URL (the link of the full training data from the competition website, I'm referring to the single big zip file).\n\nMine looks like this:\n```\nwget --header=\"Host: storage.googleapis.com\" --header=\"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36\" --header=\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\" --header=\"Accept-Language: en-US,en;q=0.9,th;q=0.8,zh-CN;q=0.7,zh;q=0.6\" --header=[bada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boombada bing bada boom]TVZx34pegM3Y%2BnmpP1Lmzlh3blRCm7MpsV9LEEsnXobuP3YwZNEzzF1nh7C%2BG7jtJyuz5JHkJ6pyoHKtHunTw%3D%3D\" -O \"dfdc_train_all.zip\" -c\n```\n- Change ```dfdc_train_all.zip``` to ```[YOUR_PERSISTENT_DISK_PATH]/dfdc_train_all.zip```\n\n- Unzip data to your disk\n```\nunzip dfdc_train_all.zip -d /mnt/disks/dfdc_data\n```\n\n- Wait, what? More .zips inside LOL. I am extracting them to a folder called 'data'\n```\nunzip dfdc_train_part_00.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_01.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_02.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_03.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_04.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_05.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_06.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_07.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_08.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_09.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_10.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_11.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_12.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_13.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_14.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_15.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_16.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_17.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_18.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_19.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_20.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_21.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_22.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_23.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_24.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_25.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_26.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_27.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_28.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_29.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_30.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_31.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_32.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_33.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_34.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_35.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_36.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_37.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_38.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_39.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_40.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_41.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_42.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_43.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_44.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_45.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_46.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_47.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_48.zip -d /mnt/disks/dfdc_data/data/ &amp;&amp; unzip dfdc_train_part_49.zip -d /mnt/disks/dfdc_data/data/\n\n```\nI'm lazy, make a for loop if you wish.\n\n### Set up Jupyter\n\n```\n# Download Anaconda\n$ wget http://repo.continuum.io/archive/Anaconda3-4.0.0-Linux-x86_64.sh\n\n# License, path, etc. (Don't forget to say 'yes' to prepending path)\n$ bash Anaconda3-4.0.0-Linux-x86_64.sh\n\n# Activate conda\n$ source .bashrc\n\n# Quick check\n$ conda --version \n\n# Run pip to test\npip install torch\npip install torchvision\n```\nRunning Jupyter in browser via external IP.\n```\n$ jupyter notebook --ip=0.0.0.0 --port=8080 --no-browser &amp;\n```\nAvailable at\n```\nhttp://[EXTERNAL_IP]:8080\n```\n\n### Using buckets\n- Create a bucket\n\n- Getting permission\n```\ngsutil config -b\n```\n\n- Copy some data to bucket\n```\ngsutil -m cp -r /mnt/disks/dfdc_data/data gs://[BUCKET_NAME]\n```\n\n- Or copy data from bucket\n```\ngsutil -m cp -r gs://[BUCKET_NAME]/mnt/disks/dfdc_data/data\n```\n### Bonus\nYou may also want to save any processed data as ```.zip``` to the local disk and then export to GCP bucket. The benefit is you can directly download the .zip file from your GCP Bucket page. It also means you can curl the link it to any other machines or instances, e.g. if you are using AWS Sagemaker for GPU based model training.\n\n\n## Reference\n- [1] https://towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52\n- [2] https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=en_US&amp;_ga=2.190677090.-876535034.1572141372&amp;_gac=1.82478436.1580475048.CjwKCAiA98TxBRBtEiwAVRLqu19jsp_c8qQn3MXIOej2p37h8OknzWikS9e8h5-RjtZsMABdHadmTxoCHb4QAvD_BwE#formatting",
    "740180": "BTW you do need to install cuda and cudnn(unless computing on CPU). Please refer to my kernel. Simple copy and paste. [link](https://www.kaggle.com/unkownhihi/guide-to-setup-a-vm)",
    "736241": "Very clear! This is a good cheatsheet for someone haven't had experience with GCP 👍 ",
    "761343": "@debanga Is there simple way to download some Kaggle data set to GCP VM instance?",
    "743368": "That was a great and HELPFUL explanation, thanks Zenify",
    "738411": "Thanks for sharing and very useful for the beginners like me to the Google cloud. \n\nIt is good if someone creates cheatsheet for ``aws sagemaker`` and adding data to ``s3`` bucket just like this good cloud cheatsheet . ",
    "736917": "Cool! Thanks for sharing! \n\nAnother pointer- \nYou can use Google's pre-built Deep Learning VMs instead of installing all the dependencies. \n\n[Link to Deep Learning VM](https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning)\n\nYou can choose a TF or PyTorch framework. Add a GPU or a TPU \nJupyterlab is also pre-installed so, you can open a notebook with a click of a button from the AI Hub console. \n\n",
    "736329": "Please replace ```&amp;``` with ```&amp;```. I think while I was copying from terminal to the post, it was changed during HTML conversion, and there are simply too many to change in the post :D Maybe I will do sometime later.",
    "736249": "",
    "745547": "@debanga check your email. Thanks!"
  }
}