I want to train a deep learning model on a dataset containing around 3000 images. Since the dataset is huge, I want to use Google colab since it's GPU supported. How do I upload this full image folder into my notebook and use it?
6 Answers
Method 1 :
- zip the file
- Upload the zipped file, there is an Upload button under the Files Section.
- Unzip it using the command on colab : !unzip level_1_test.zip
Method 2 :
- upload the zip file to the google drive account.
- The only difference is in step 2 where in place of the GUI upload option you can run the google code_snippets to upload download your zip file from the google drive to Colab account .
- Unzip it using the command on colab : !unzip level_1_test.zip
-
$\begingroup$ Thanks a lot! Subjectively - method 2 is faster. Also the easier way to download a file from drive to colab is described here in the top answer stackoverflow.com/questions/48735600/… $\endgroup$ Jun 8, 2020 at 18:31
The best bet would be to upload the images as a zip file to your Google drive and then access it through Google Colab (GC)
- Zip the image folder
- Upload the zip file to your Google drive
Turn to GC to authorise and mount your Google drive
from google.colab import drive drive.mount('/content/drive')
Follow the link and paste the code to your GC notebook
Unzip the file from GC
!unzip -uq "/content/drive/My Drive/PATH_TO_ZIP" -d "/content/drive/My Drive/PATH_TO_OUTPUT"
The files are now ready to use
You don't need to upload them if you have a download link ...( it would be faster if you can upload them all as either ways you have to do so.. So its better to upload them first and then download them in your notebook every-time you run it)
If you have a download link then just this
! wget <Link>
Else upload then to your drive and then just use the following
from google.colab import files
uploaded = files.upload()
##files.upload returns a dictionary of the files which were uploaded. The
##dictionary is keyed by the file name, the value is the data which was
##uploaded.
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn]))
I recommend you uploading a zip file containing your images to your drive and downloading the content from drive to Colab. Then you will be able to extract them. The code for uploading is here.
You can upload stuff to Google Drive and then download it from there on Colab. I've written some utils for that - see this notebook.
As to how upload files to Google Drive, Media's suggestion is useful - upload zipped image folder.
On Colab simply use:
!gdown --id file_id
For instance, if your Google drive share link for the file is:
https://drive.google.com/file/d/zz2Xs5Vriz6aF3V-Z22112yAj91c222fI1F/view?usp=sharing
use:
!gdown --id zz2Xs5Vriz6aF3V-Z22112yAj91c222fI1F