¿Cómo subir muchos archivos a Google Colab?

Estoy trabajando en un proyecto de aprendizaje automático de segmentación de imágenes y me gustaría probarlo en Google Colab.

Para el conjunto de datos de entrenamiento, tengo 700 imágenes, en su mayoría de 256x256 , que debo cargar en una matriz de Pypy para mi proyecto. También tengo miles de archivos de máscara correspondientes para subir. Actualmente existen en una variedad de subcarpetas en el disco de Google, pero no han podido cargarse en Google Colab para usar en mi proyecto.

Hasta ahora he intentado usar Google Fuse, que parece tener velocidades de carga muy lentas y PyDrive, que me ha dado una variedad de errores de autenticación. He estado usando el código de ejemplo de Google Colab I / O en su mayor parte.

¿Cómo debo hacer esto? ¿PyDrive sería el camino a seguir? ¿Hay código en algún lugar para cargar una estructura de carpetas o muchos archivos a la vez?

Puede poner todos sus datos en su unidad de Google y luego montar la unidad. Así es como lo he hecho. Déjame explicarte en pasos.

Paso 1: Transfiere tus datos a tu unidad de Google.

Paso 2: Ejecuta el siguiente código para montar tu unidad de google.

 # Install a Drive FUSE wrapper. # https://github.com/astrada/google-drive-ocamlfuse !apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse # Generate auth tokens for Colab from google.colab import auth auth.authenticate_user() # Generate creds for the Drive FUSE library. from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL vcode = getpass.getpass() !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} # Create a directory and mount Google Drive using that directory. !mkdir -p My Drive !google-drive-ocamlfuse My Drive !ls My Drive/ # Create a file in Drive. !echo "This newly created file will appear in your Drive file list." > My Drive/created.txt 

Paso 3: ejecute la siguiente línea para verificar si puede ver los datos deseados en la unidad montada.

 !ls Drive 

Etapa 4:

Ahora cargue sus datos en una matriz numpy de la siguiente manera. Tenía mis archivos exel con mi tren, mi CV y ​​mis datos de prueba.

 train_data = pd.read_excel(r'Drive/train.xlsx') test = pd.read_excel(r'Drive/test.xlsx') cv= pd.read_excel(r'Drive/cv.xlsx') 

Espero que pueda ayudar.

Editar

Para descargar los datos en su unidad desde el entorno del portátil colab, puede ejecutar el siguiente código.

 # Install the PyDrive wrapper & import libraries. # This only needs to be done once in a notebook. !pip install -U -q PyDrive from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive from google.colab import auth from oauth2client.client import GoogleCredentials # Authenticate and create the PyDrive client. # This only needs to be done once in a notebook. auth.authenticate_user() gauth = GoogleAuth() gauth.credentials = GoogleCredentials.get_application_default() drive = GoogleDrive(gauth) # Create & upload a file. uploaded = drive.CreateFile({'data.xlsx': 'data.xlsx'}) uploaded.SetContentFile('data.xlsx') uploaded.Upload() print('Uploaded file with ID {}'.format(uploaded.get('id'))) 

Aquí hay algunos pasos para cargar grandes conjuntos de datos a Google Colab

1. Cargue su conjunto de datos para liberar almacenamiento en la nube como Dropbox, Openload, etc. (Yo utilicé Dropbox)
2.Cree un enlace compartido de su archivo cargado y cópielo.
3. Abra su computadora portátil en Google Colab y ejecute este comando en una de las celdas:

  !wget your_shareable_file_link 

¡Eso es!
Puedes comprimir tu conjunto de datos en un archivo zip o rar y luego descomprimirlo luego de descargarlo en Google Colab usando este comando:

  !unzip downloaded_filename -d destination_folder 

Primero comprime el archivo y luego cárgalo en Google Drive

Vea este sencillo comando para descomprimir:

 !unzip {file_location} 

Ejemplo:

 !unzip drive/models.rar 

Es posible que desee probar el módulo kaggle-cli , como se explica aquí