Loading images in google colab

后端 未结 11 1732
梦如初夏
梦如初夏 2021-01-30 15:01

My Jupyter Notebook has the following code to upload an image to Colab:

from google.colab import files
uploaded = files.upload()

I get prompted

11条回答
  •  心在旅途
    2021-01-30 15:48

    Colab google: uploading images in multiple subdirectories: If you would like to upload images (or files) in multiples subdirectories by using Colab google, please follow the following steps: - I'll suppose that your images(files) are split into 3 subdirectories (train, validate, test) in the main directory called (dataDir): 1- Zip the folder (dataDir) to (dataDir.zip) 2- Write this code in a Colab cell:

    from google.colab import files
    uploaded = files.upload()
    

    3- Press on 'Choose Files' and upload (dataDir.zip) from your PC to the Colab Now the (dataDir.zip) is uploaded to your google drive! 4- Let us unzip the folder(dataDir.zip) to a folder called (data) by writing this simple code:

    import zipfile
    import io
    data = zipfile.ZipFile(io.BytesIO(uploaded['dataDir.zip']), 'r')
    data.extractall()
    

    5- Now everything is ready, let us check that by printing content of (data) folder:

    data.printdir()
    

    6- Then to read the images, count them, split them and play around them, please write the following code:

    train_data_dir = 'data/training'  
    validation_data_dir = 'data/validation'  
    test_data_dir = 'data/test' 
    target_names = [item for item in os.listdir(train_data_dir) if os.path.isdir(os.path.join(train_data_dir, item))]
    nb_train_samples = sum([len(files) for _, _, files in os.walk(train_data_dir)])  
    nb_validation_samples = sum([len(files) for _, _, files in os.walk(validation_data_dir)])
    nb_test_samples = sum([len(files) for _, _, files in os.walk(test_data_dir)])
    total_nb_samples = nb_train_samples + nb_validation_samples + nb_test_samples
    
    nb_classes = len(target_names)      # number of output classes
    
    print('Training a CNN Multi-Classifier Model ......')
    print('\n - names of classes: ', target_names, '\n - # of classes: ', nb_classes)
    print(' - # of trained samples: ', nb_train_samples, '\n - # of validation samples: ', nb_validation_samples,
          '\n - # of test samples: ', nb_test_samples,
           '\n - total # of samples: ', total_nb_samples, '\n - train ratio:', round(nb_train_samples/total_nb_samples*100, 2),
          '\n - validation ratio:', round(nb_validation_samples/total_nb_samples*100, 2),
          '\n - test ratio:', round(nb_test_samples/total_nb_samples*100, 2),
         ' %', '\n - # of epochs: ', epochs, '\n - batch size: ', batch_size)
    

    7- That is it! Enjoy!

提交回复
热议问题