Проблемы с импортом пользовательской библиотеки в Google Colab
Я делаю какой-то проект машинного обучения и хочу запустить проект на Google Colab, так как моя собственная машина слишком слаба для него и зависает, когда я пытаюсь запустить проект на нем. Мой проект имеет структуру, показанную на рисунке. структура проекта. У меня есть несколько файлов.py, каждый из которых импортирует модули друг от друга. Я преобразовал проект в файл.zip на моем компьютере, а затем использовал вкладку загрузки на Google Colab для загрузки проекта. я разархивировал файл и попытался запустить один код из папки "examples", которая импортирует какую-то функцию из функции modAL, например
from modAL.models import ActiveLearner.
этот импорт не выполняется в Google Colab с ошибкой "нет модуля с именем modAL " . Может кто-нибудь сказать, пожалуйста, как обойти эту проблему? Код прекрасно работает на моем ноутбуке.
1 ответ
Я нашел это объяснение: https://zerowithdot.com/colab-workspace/ - очень полезно. После создания места на вашем диске Google
from os.path import join
from google.colab import drive
ROOT = "/content/drive"
drive.mount(ROOT)
получить Git РЕПО
GIT_USERNAME = "xxx"
GIT_TOKEN = "xxx"
GIT_REPOSITORY = "Repo"
!mkdir "{PROJECT_PATH}"
!git clone https://{GIT_TOKEN}@github.com/{GIT_USERNAME}/{GIT_REPOSITORY}.git "
{PROJECT_PATH}"
Наконец, используйте importlib, чтобы получить доступ к определениям
from importlib.machinery import SourceFileLoader
somemodule = SourceFileLoader('somelib', join(PROJECT_PATH,
'utils/somelib.py')).load_module()
Если проект общедоступный (вероятно, можно заставить его работать и в противном случае), вы можете создать пакет [1] и установить его с помощью pip:
!pip install git+https://github.com/myuser/myproject
[1] https://packaging.python.org/tutorials/packaging-projects/