Подключите Google Диск к Google Colab с доступом на запись

Как я могу подключить свой Google Диск к Google Colab с доступом для записи?

Это потому, что я получаю сообщение об ошибке, когда моя модель искусственного интеллекта пытается обновить файл на Google Диске:

Traceback (most recent call last):
  File "/content/Deep3DFaceRecon_pytorch/test.py", line 72, in <module>
    opt = TestOptions().parse()  # get test options
          ^^^^^^^^^^^^^^^^^^^^^
  File "/content/Deep3DFaceRecon_pytorch/options/base_options.py", line 167, in parse
    self.print_options(opt)
  File "/content/Deep3DFaceRecon_pytorch/options/base_options.py", line 115, in print_options
    with open(file_name, 'wt') as opt_file:
         ^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 30] Read-only file system: './checkpoints/facerecon_20230425/test_opt.txt'

Кстати, я уже скопировал свои папки с Google Диска в Google Colab:

!git clone https://github.com/sicxu/Deep3DFaceRecon_pytorch.git
%cd Deep3DFaceRecon_pytorch

...

!mkdir checkpoints
!cp -r ../drive/MyDrive/Deep3D/facerecon_20230425 checkpoints/

...

ОБНОВЛЯТЬ

В Google Colab при попытке создать файл на подключенном Google Диске возникает ошибка:

!touch ./checkpoints/facerecon_20230425/test_opt.txt

Бревно:

touch: cannot touch './checkpoints/facerecon_20230425/test_opt.txt': Read-only file system

Похоже, вы не пишете на диск, это сообщение об ошибке не соответствует коду, который вы нам показали. Контрольные точки ./checkpoints/facerecon_20230425/test_opt.txt отсутствуют на диске.

Linda Lawton - DaImTo 20.04.2024 11:13

@LindaLawton-DaImTo Я копирую facerecon_20230425 с Google Диска в свою локальную папку. Я не уверен, но похоже, что процесс копирования просто создает символическую ссылку или что-то в этом роде...

Megidd 20.04.2024 11:18

Затем ваше заявление звучит задом наперед. Google Диск в Google Colab с доступом на запись. Вы хотите смонтировать папку Google Диска на Colab с доступом на запись. монтируемый диск автоматически имеет доступ на запись Drive.mount('/content/drive') но, опять же, в вашем случае cp копирует из одного места в другое с диска на ваш экземпляр colab, не оставляя его на диске.

Linda Lawton - DaImTo 20.04.2024 11:33

сначала вы можете проверить /full/path/to/file, чтобы убедиться, что вы пишете в правильном месте. Во-вторых: как по мне, вы пытаетесь писать в локальной системе (в Colab), а не на Google Диске, так что с Google Диском проблем нет. В-третьих: у вас может быть система с доступом на запись, но вы все равно можете установить некоторые файлы или папки как read-only - с помощью команды chmod (change mode)

furas 20.04.2024 16:10
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
117
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Общая папка

Глубокая копия

Папка Google Drive, которую я смонтировал в Google Colab и с которой у меня были проблемы с разрешениями, была предоставлена ​​мне кем-то другим. Итак, я сделал глубокую копию общей папки, скопировав ее содержимое в новую собственную папку:

!cp ../drive/MyDrive/Deep3D/facerecon_20230425--original/epoch_20.pth ../drive/MyDrive/Deep3D/facerecon_20230425/
!cp ../drive/MyDrive/Deep3D/facerecon_20230425--original/loss_log.txt ../drive/MyDrive/Deep3D/facerecon_20230425/
!cp ../drive/MyDrive/Deep3D/facerecon_20230425--original/train_opt.txt ../drive/MyDrive/Deep3D/facerecon_20230425/

После глубокого копирования ошибки разрешений были устранены.

Мне помог этот пост: https://webapps.stackexchange.com/a/138917/154722

Другие вопросы по теме