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 necesito cargar en una matriz numpy de Python para mi proyecto. También tengo miles de archivos de máscara correspondientes para cargar. Actualmente existen en una variedad de subcarpetas en Google Drive, pero no he podido subirlos a Google Colab para usarlos 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? ¿Sería PyDrive el camino a seguir? ¿Hay código en alguna parte 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: transfiera sus datos a su unidad de Google.
Paso 2: Ejecute el siguiente código para montar su 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
Paso 4:
Ahora cargue sus datos en una matriz numpy de la siguiente manera. Tenía mis archivos de Excel con mi tren y cv y 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 cuaderno de colaboración, 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')))
Estos son algunos pasos para cargar grandes conjuntos de datos en Google Colab
1. Cargue su conjunto de datos para almacenar en la nube gratis como dropbox, openload, etc. (Usé dropbox)
2.Cree un enlace para compartir de su archivo cargado y cópielo.
3.Abra su cuaderno en Google Colab y ejecute este comando en una de las celdas:
!wget your_shareable_file_link
¡Eso es todo!
Puede comprimir su conjunto de datos en un archivo zip o rar y luego descomprimirlo después de descargarlo en Google Colab usando este comando:
!unzip downloaded_filename -d destination_folder
Comprima su archivo primero y luego súbalo a Google Drive.
Vea este simple comando para descomprimir:
!unzip {file_location}
Ejemplo:
!unzip drive/models.rar