Как я могу подключить свой 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
@LindaLawton-DaImTo Я копирую facerecon_20230425
с Google Диска в свою локальную папку. Я не уверен, но похоже, что процесс копирования просто создает символическую ссылку или что-то в этом роде...
Затем ваше заявление звучит задом наперед. Google Диск в Google Colab с доступом на запись. Вы хотите смонтировать папку Google Диска на Colab с доступом на запись. монтируемый диск автоматически имеет доступ на запись Drive.mount('/content/drive') но, опять же, в вашем случае cp копирует из одного места в другое с диска на ваш экземпляр colab, не оставляя его на диске.
сначала вы можете проверить /full/path/to/file
, чтобы убедиться, что вы пишете в правильном месте. Во-вторых: как по мне, вы пытаетесь писать в локальной системе (в Colab), а не на Google Диске, так что с Google Диском проблем нет. В-третьих: у вас может быть система с доступом на запись, но вы все равно можете установить некоторые файлы или папки как read-only
- с помощью команды chmod
(change mode
)
Папка 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
Похоже, вы не пишете на диск, это сообщение об ошибке не соответствует коду, который вы нам показали. Контрольные точки ./checkpoints/facerecon_20230425/test_opt.txt отсутствуют на диске.