How to upload folders to Google Colab? - file

I want to run a notebook that uses many header files defined in the directory. So basically I want to upload the entire directory to Google Colab so that I can run the notebook. But I am unable to find any such options and only able to upload files not complete folders. So can someone tell me how to upload entire directory to google colab?

I suggest you not to upload them just in Colab, since when you're restarting the runtime you will lose them (just need to re-upload them, but it can be an issue with slow connections).
I suggest you to use the google.colab package to manage files and folders in Colab. Just upload everything you need to your google drive, then import:
from google.colab import drive
drive.mount('/content/gdrive')
In this way, you just need to login to your google account through google authentication API, and you can use files/folders as if they were uploaded on Colab.
EDIT May 2022:
As pointed out in the comments, using Google Drive as storage for a large number of files to train a model is painfully slow, as described here: Google Colab is very slow compared to my PC. The better solution in this case is to zip the files, upload them to colab and then unzip them using
!unzip file.zip
More unzip options here: https://linux.die.net/man/1/unzip

You can zip them, upload, then unzip it.
!unzip file.zip

The easiest way to do this, if the folder/file is on your local drive:
Compress the folder into a ZIP file.
Upload the zipped file into colab using the upload button in the File section. Yes, there is a File section, see the left side of the colab screen.
Use this line of code to extract the file. Note: The file path is from colab's File section.
from zipfile import ZipFile
file_name = file_path
with ZipFile(file_name, 'r') as zip:
zip.extractall()
print('Done')
Click Refresh in the colab File section.
Access the files in your folder through the file paths
Downside: The files will be deleted after the runtime is over.
You can use some part of these steps if your file is on a Google Drive, just upload the zipped file to colab from Google Drive.

you can create a git repository and push the files and folders to it,
and then can clone the repository in colaboratory with the command
!git clone https://github.com/{username}/{projectname}.git
i feel this method is faster.
but if the file size is more than 100 mb you will have to zip the file or will have to add extentions to push it to github.
for more information refer the link below.
https://help.github.com/en/github/managing-large-files/configuring-git-large-file-storage

The best way to approach this problem is simple yet tricky sometimes.
You first need to compress the folder into a zipped file and upload the same into your google drive.
While doing so, Make sure that the folder is in the root directory of the drive and not in any other subfolder!. If the compressed folder/data is in other subfolder, you can easily move the same into the root directory.
Compresses folder/data in another subfolder often messes with the unzipping process when you will be specifying the file location.
Once you did the afore mentioned tasks, enter the following commands in the colab to mount your drive:
from google.colab import drive
drive.mount('/content/gdrive')
This will ask for an access token that can be generated by clicking on the url displayed in the output of the same cell
!ls gdrive/MyDrive
Check the contents of the drive by executing the above command and ensure that your folder/data is displayed in the output.
!unzip gdrive/MyDrive/<File_name_without_space>.zip
eg:
!unzip gdrive/MyDrive/data_folder.zip
Executing the same will start unzipping your folder into the memory.
Congrats! You have successfully uploaded your folder/data into the colab.

zip your files zip -r file.zip your_folder and then:
from google.colab import files
from zipfile import ZipFile
with ZipFile(files.upload(), 'r') as zip:
zip.extractall()
print('Done')

So here's what you can do:
-upload the dataset desired folder to your drive
-over colab, mount the drive wherein this
"from google.colab import drive
drive.mount('/content/gdrive')"
automatically shows up and you just need to run it
-then check for your file over the Files section on the left-hand side (if folder not visible try refreshing, also there should be a drop-down arrow next to it where you can check all the files under the folder )
-left-click over the folder wherein you get a COPY PATH option
-paste the copied path over the desired location in your colab

Related

Download a public file in Bitrise Workflow

I have my zip uploaded on Gofile, and using the direct download link I'm trying to use CURL in my step to download it on my build.
Even if the step work, the file is not totally donwloaded as I can't unzip it..
+ curl https://srv-store3.gofile.io/download/RIDfRD/xxxx.zip -o xxxx.zip
here is the command I used
I have no idea why this don't download. I also tried the "official" download step
Are you receiving the following error when trying to unzip it?
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
This means the zip file is corrupted. I was able to reproduce it with my own file. Go file is intended to be downloaded from the website not through curl.
I would recommend using a different service like https://gist.github.com and copying the raw file link and using that in the curl command.

How to archive new build files in jenkins -pipeline script in groovy ReactJS

trying to archive all the files into a zip file that is formed in the workspace in jenkins pipeline script. I tried using this
archiveArtifacts 'C:\Program Files (x86)\Jenkins\jobs\pipeline CI_MS\workspace'
but error was shown as "file not found"
Thanks for any help
Do you really want to archive everything in the entire workspace? Hardcoding the path like that is a bad idea. The workspace moves, and if you are using a more recent version of Jenkins (that wasn't upgraded from an old version), you are probably not even looking in the right space.
Use this:
archiveArtifacts "${WORKSPACE}"
Add to the end of the path if you want to archive files in subdirectories.

Moving Firefox 13's startpage elements by editing omni.ja crashes FF, anyone know how to do this properly?

After removing the settings elements on Firefox 13's startpage, the google searchbox and logo are too low and I'd like to move them. I can edit the startpage by opening omni.ja with IZArc and going to chrome\browser\content\browser\abouthome\aboutHome.xhtml and editing the file, but when I save the omni.ja file to the FF directory, it fails to launch the programme. Does anyone know how to do this properly? I think I'm missing a step.
Just got this working! Used Unzip to extract the files (just drag omni.ja onto it).
Get unzip from http://stahlforce.com/dev/index.php?tool=zipunzip (Info-zip's own site does not allow you to download it anymore).
What I did:
Created a folder on my desktop to hold the extracted files. (TEST)
Dragged Unzip.exe and omni.ja into this folder.
Dragged omni.ja onto Unzip.exe to extract all the files.
Remove/deleted Unzip.exe and omni.ja from this folder.
Made my changes to the folder. (in this case I was editing the firefox.js file... not applicable to you)
Rezip all the folders using windows zip. (highlight all the files and folders, right-click, send to, Compressed (zipped) folder)
Rename this zip file as omni.ja and copy it back to the root of your Firefox directory.
I have to say that I did have to edit my js file in notepad though; using whatever was set as windows default editor would just error.
Source: Locking down Firefox 14 (blog post)

xap file download location

When I connect to a web-site that is using Silverlight, my understanding is that the "XAP" file is downloaded to C:\Users\ "UserName" \AppData\Local\Temp folder (under windows Vista).
There are few sites that I know that are using "XAP" files but I don't see a "XAP" file in this folder. Any ideas?
I think I found the answer. It just gets downloaded to the logged-in user's temporary internet files folder.

How do I change the default location of the log files for GAE's bulkloader?

While working on my GAE project under my dev environment, whenever I upload data to my dev datastore, the logfiles are stored in my current directory, for instance:
C:\dev\ls
bulkloader-log-20090912.104643
bulkloader-log-20090912.104648
bulkloader-log-20090912.104731
bulkloader-log-20090912.105526
bulkloader-log-20090912.110428
bulkloader-progress-20090912.104648.sql3
bulkloader-progress-20090912.104731.sql3
bulkloader-progress-20090912.105526.sql3
bulkloader-progress-20090912.110428.sql3
project
project is my GAE app. The above is generated when I run the command appcfg.py upload_data. Is there a way to tell GAE where to store those log files, for instance in a log folder.
Use the --log_file=... option to appcfg.py, as documented here: with this command line option you can give the complete path to the log file, including folder and name. (You cannot give JUST the folder and let it figure out the name; for that, you need to write a tiny script that figures out the name then calls appcfg.py).

Resources