Google Colab Notebook, по-видимому, не использует PYTHONPATH - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь обучить CNN в Google Colab. Моя записная книжка очень похожа на эту записную книжку:
https://colab.research.google.com/github/AlaaSenjab/-Tutorial-Tensorflow_Object_Detection_API_On_Custom_Dataset/blob/master/weapon_detection_BL.ipynb

У меня нет разделов «Загрузка и организация изображений и аннотаций, Предварительная обработка изображений и надписей», поскольку я уже сделал свой TFRecords.

Я не могу понять, почему, но когда я запускаю !python3 object_detection/builders/model_builder_test.py Python говорит python3: can't open file 'object_detection/builders/model_builder_test.py': [Errno 2] No such file or directory. Я правильно настроил PYTHONPATH. В каталоге есть файлы, я сделал ls, и в нем есть нужные файлы и папки.

!mkdir tfgit
%cd tfgit
!git clone --q https://github.com/tensorflow/models.git
# compiles the proto buffers
%cd models/research/
!protoc object_detection/protos/*.proto --python_out=.
# exports PYTHONPATH environment var with research and slim paths
os.environ['PYTHONPATH'] += ':/content/tfgit/models/research/:/content/tfgit/models/research/slim/'

На данный момент PYTHONPATH равен /env/python:/content/tfgit/models/research/:/content/tfgit/models/research/slim/. В той же точке в связанной записной книжке его PYTHONPATH равен /env/python:/content/gun_detection/models/research/:/content/gun_detection/models/research/slim/, что совпадает (игнорируя разные имена папок).

Следующим шагом является запуск !python3 object_detection/builders/model_builder_test.py. Это работает правильно в связанной записной книжке, но в моей записной книжке я получаю ошибку No such file or directory.

Я пробовал:

  • Проверка правильности ввода имени файла
  • Проверка правильности установки переменной env (она есть)
  • Восстановление заводских настроек ноутбука colab (дважды)
  • Восстановление заводских настроек, закрытие вкладки и открытие записной книжки в новой вкладке
  • Проверка наличия файла путем запуска !cat /content/tfgit/models/research/object_detection/builders/model_builder_test.py

Помещение эха в ту же ячейку, что и строка python3, правильно возвращает переменную env. Я в полной растерянности относительно того, что может быть не так. Начиная с апреля 2018 , это был обычный способ установки env. переменная в Google Colab.

1 Ответ

0 голосов
/ 16 января 2020

Обходной путь:

Это приводит к работе тензорного потока, но не исправляет python3 не читает PYTHONPATH.

В то время как в /content/models/research, запустите pip install . Тогда Запустите любой из сценариев с их полным путем.

Пример:

!python3 /content/models/research/object_detection/model_main.py \
    --pipeline_config_path=ssdlite_mobilenet_v2_coco.config\
    --model_dir=training/ \
    --alsologtostderr \

Сценарий будет работать правильно после установки модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...