Доступ к файлам на Google Colab

Я использую Google Colab Laboratory IPython для переноса стилей, после монтирования диска, запустив:

from google.colab import drive
drive.mount('/drive')

Он был смонтирован, поэтому я попытался перейти в каталог, показать pwd и ls, но он не отображает правильный pwd

!cd "/content/drive/My Drive/"
!pwd
!ls

но он не перейдет в указанный каталог, он только перейдет в "content /"

также, когда я попытался получить доступ к некоторым изображениям, используя функцию load_image() в моем коде, как показано ниже

def load_image(img_path, max_size=400, Shape=None):
    image = Image.open(img_path).convert('RGB')
    if max(image.size) > max_size:
        size = max_size
    else:
        size = max(image.size)

    if shape is not None:
        size = shape

    in_transform = transforms.Compose([transforms.Resize(size),
                    transforms.ToTensor(),
                    transforms.Normalize((0.485, 0.456, 0.406), 
                                         (0.229, 0.224, 0.225))])

    image = in_transform(image)[:3,:,:].unsqueeze(0)

    return image
#load image content
content = load_image('content/drive/My Drive/uche.jpg')
style = load_image('content/drive/My Drive/uche.jpg')

Но этот код выдает ошибку, когда я пытался загрузить изображение из каталога, говоря:

FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'content/drive/My Drive/uche.jpg'

1 ответ

Решение

Краткий ответ: чтобы изменить рабочий каталог, используйте %cd или же os.chdir скорее, чем !cd,

История в том, что ! Команды выполняются в подоболочке, с собственным независимым рабочим каталогом от процесса Python, выполняющего ваш код. Но вы хотите изменить рабочий каталог процесса Python. Это то что os.chdir будет делать, и %cd это удобный псевдоним, который работает в ноутбуках.

Собирая это вместе, я думаю, что вы хотите написать:

from google.colab import drive
drive.mount('/content/drive')
%cd /content/drive/My\ Drive
Другие вопросы по тегам